Tôi cần có thể thiết lập kết nối ODBC thông qua xác thực SQL Server.
Trong SSMS, làm cách nào để cấp quyền cho người dùng có thể CÓ TẤT CẢ CÁC QUYỀN trên một cơ sở dữ liệu cụ thể?
có cách nào để thực hiện điều này bằng đồ thị với SSMS không?
Tôi cần có thể thiết lập kết nối ODBC thông qua xác thực SQL Server.
Trong SSMS, làm cách nào để cấp quyền cho người dùng có thể CÓ TẤT CẢ CÁC QUYỀN trên một cơ sở dữ liệu cụ thể?
có cách nào để thực hiện điều này bằng đồ thị với SSMS không?
Câu trả lời:
Nếu bạn muốn cấp cho người dùng của mình tất cả các quyền đọc, bạn có thể sử dụng:
EXEC sp_addrolemember N'db_datareader', N'your-user-name'
Điều đó thêm db_datareader
vai trò mặc định (quyền đọc trên tất cả các bảng) cho người dùng đó.
Ngoài ra còn có một db_datawriter
vai trò - cung cấp cho người dùng của bạn tất cả các quyền WRITE (CHÈN, CẬP NHẬT, XÓA) trên tất cả các bảng:
EXEC sp_addrolemember N'db_datawriter', N'your-user-name'
Nếu bạn cần chi tiết hơn, bạn có thể sử dụng GRANT
lệnh:
GRANT SELECT, INSERT, UPDATE ON dbo.YourTable TO YourUserName
GRANT SELECT, INSERT ON dbo.YourTable2 TO YourUserName
GRANT SELECT, DELETE ON dbo.YourTable3 TO YourUserName
và v.v. - bạn có thể cấp cho quyền SELECT, INSERT, UPDATE, DELETE một cách chi tiết trên các bảng cụ thể.
Tất cả điều này đều được ghi lại rất đầy đủ trong MSDN Books Online for SQL Server .
Và có, bạn cũng có thể làm điều đó bằng đồ thị - trong SSMS, truy cập cơ sở dữ liệu của bạn, sau đó Security > Users
, nhấp chuột phải vào người dùng mà bạn muốn cấp quyền, sau đó Properties
ở dưới cùng, bạn thấy "Tư cách thành viên vai trò cơ sở dữ liệu" nơi bạn có thể thêm vai trò người dùng đến db.
Nếu bạn thực sự muốn họ có TẤT CẢ các quyền:
use YourDatabase
go
exec sp_addrolemember 'db_owner', 'UserName'
go