2013-03-04 21 views
6

Tôi có cơ sở dữ liệu máy chủ SQL, sắp có hai cơ sở dữ liệu, tôi sử dụng cho trang web.Làm cách nào để tạo người dùng trong SQL-Server chỉ có quyền truy cập vào một bảng và chỉ có thể chèn hàng

Tôi đã có tài khoản người dùng chỉ đọc cho cơ sở dữ liệu 1 để tìm kiếm khoảng không quảng cáo sản phẩm của chúng tôi. Tôi muốn tạo một tài khoản riêng biệt cho cơ sở dữ liệu 2 chỉ, cho bảng 1 CHỈ, CHỈ cho phép chèn các bản ghi (không cập nhật hoặc xóa hoặc bất cứ điều gì khác). Im cố gắng để được như dư thừa càng tốt với các hạn chế truy cập (trên đầu trang của mã để thử và ngăn chặn tiêm sql, nếu ai đó bằng cách nào đó có được một cái gì đó thông qua, tôi không muốn cơ sở dữ liệu chính nó để cho phép nó).

Vì vậy, câu hỏi cuối cùng, Làm cách nào để tạo người dùng trong máy chủ SQL đã hạn chế quyền truy cập vào bảng x trong cơ sở dữ liệu y và chỉ có thể đọc/chèn bản ghi và không có gì khác?

+0

Xem tại đây: http://blogs.lessthandot.com/index.php/DataMgmt/DBAdmin/MSSQLServerAdmin/giving-only-insert-permissions-to – SQLMenace

Trả lời

21

tạo người dùng, không đưa ra bất cứ vai trò như db_datareader hoặc db_datawriter

sau đó GRANT INSERT ON YourTable TO SomeUser

nếu bạn muốn chèn và chọn

GRANT INSERT, SELECT ON YourTable TO SomeUser

Xem thêm ở đây một ví dụ toàn bộ: Giving only insert permissions to a table for a new login

+0

Cảm ơn bạn! Chính xác những gì tôi cần. – Kizzelwhix

4

(1) Để cung cấp cho người dùng quyền truy cập hạn chế vào một Tà chỉ ble

GRANT SELECT ON [schemaName].[tableName] to [username] 
Go 

(2) Cấp INSERT Giấy phép.

GRANT INSERT ON [schemaName].[tableName] TO [username] 
0

Cú pháp cấp quyền truy cập vào một bảng duy nhất:

GRANT access_type ON table_name TO [user name] 

Cú pháp cho thu hồi quyền truy cập cho một bảng duy nhất:

REVOKE access_type ON table_name FROM [user name] 

nơi access_type thể có s Bầu, CHERTN, XÓA ...

Các vấn đề liên quan