2010-06-15 110 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