2012-02-10 90 views
7

我已经尝试了很多方法,但没有成功做到这一点,但我想要做的是以下几点:授予特定的角色ALTER访问特定的表

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

奖金,如果你也可以给我提供一些许可状态例如后&。

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

提前感谢:)

+1

为什么你认为这是不是成功的?您是否收到错误讯息? fn_my_permissions不接受'TABLE'作为第二个参数。请参阅http://msdn.microsoft.com/en-us/library/ms176097.aspx – 2012-02-10 05:46:04

+0

因为我知道它不成功,因为即使我是dbo,它也不会让我这样做。我知道'TABLE'不起作用,但'DATABASE'不会返回我的任何角色。 – 2012-02-10 06:17:00

回答

10

GRANT ALTER ON object TO principal是在你的情况下,语句的正确形式。

要查看对象授予的权限,使用fn_my_permissions功能是这样的:

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

这解决了这个问题。非常感谢。 – user2884707bond 2017-11-28 14:38:31

相关问题