2012-02-10 38 views
7

Tôi đã thử nhiều cách để làm điều này mà không thành công, nhưng những gì tôi muốn làm là như sau:CẤP ALTER quyền truy cập vào bảng cụ thể

GRANT ALTER ON [dbo].[theTable] TO [role] 

Bonus nếu bạn cũng có thể cung cấp cho tôi một số bang cho phép trước & sau ví dụ.

SELECT * 
FROM fn_my_permissions('dbo.theTable', 'TABLE'); 

Nhiều cảm ơn trước :)

+1

Tại sao bạn tin rằng nó không phải là thành công? Bạn có nhận được thông báo lỗi không? fn_my_permissions không chấp nhận 'TABLE' làm tham số thứ 2. Xem http://msdn.microsoft.com/en-us/library/ms176097.aspx –

+0

Bởi vì tôi biết nó không thành công vì nó không cho phép tôi làm điều đó mặc dù tôi dbo. Tôi biết 'TABLE' không hoạt động, nhưng 'DATABASE' không trả về bất kỳ vai trò nào của tôi. –

Trả lời

10

GRANT ALTER ON object TO principal là hình thức đúng đắn về báo cáo kết quả trong trường hợp của bạn.

Để xem các quyền được cấp cho bạn trên các đối tượng, sử dụng fn_my_permissions chức năng như thế này:

SELECT * 
FROM sys.fn_my_permissions('object', 'OBJECT') 
;
11
GRANT ALTER ON [dbo].[theTable] TO [role] 
GO 
+0

Điều này đã khắc phục được sự cố. Cảm ơn rất nhiều. – user2884707bond

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