2010-06-15 109 views

回答

6

你可以在数据库中授予的所有权限,并筛选出你的表:

select permission_name, state, pr.name 
from sys.database_permissions pe 
join sys.database_principals pr on pe.grantee_principal_id = pr.principal_id 
where pe.class = 1 
    and pe.major_id = object_id('<table_name>') 
    and pe.minor_id = 0; 

此外,您需要添加内置的角色权限(的db_owner,拥有db_datareader,db_datawriter权限等)。对象也可以通过ownership chaining访问。

你总是可以通过使用发现任何物体在自己的有效权限fn_my_permissions('table_name', 'OBJECT')

+0

我得到一个空白行对我的表.. – 2010-06-16 00:57:44

+0

查询工作正常。 '空行'(一个空的结果集)是一个有效的响应。实际上是没有明确授予的表格的预期结果。 – 2010-06-16 05:01:26

+1

所以......如果我得到一个空白的行...我怎么知道......谁在这张桌子上有什么权限?谢谢.. – 2010-06-16 16:33:07