0
我一直在尋找,但仍然沒有找到答案。通過T-SQL我正在查詢數據庫以獲取「用戶定義的表類型」。通過T-SQL查看錶格類型的權限
使用這個論壇上找到了查詢我能看到他們
select *
from sys.types tp
where is_user_defined = 1
我想要得到的是鏈接到該對象的權限。任何人都可以幫助我嗎?
我一直在尋找,但仍然沒有找到答案。通過T-SQL我正在查詢數據庫以獲取「用戶定義的表類型」。通過T-SQL查看錶格類型的權限
使用這個論壇上找到了查詢我能看到他們
select *
from sys.types tp
where is_user_defined = 1
我想要得到的是鏈接到該對象的權限。任何人都可以幫助我嗎?
這將返回明確定義的權限(例如GRANT EXEC ON TYPE::dbo.mytype TO public;
),但不會隱式授予(例如角色或組的成員)的權限。
SELECT [type] = QUOTENAME(s.name) + '.' + QUOTENAME(tp.name),
dp.[permission_name],
[principal] = p.name
FROM sys.types AS tp
INNER JOIN sys.schemas AS s
ON tp.[schema_id] = s.[schema_id]
INNER JOIN sys.database_permissions AS dp
ON tp.user_type_id = dp.major_id
AND dp.class_desc = N'TYPE'
INNER JOIN sys.database_principals AS p
ON p.principal_id = dp.grantee_principal_id
WHERE tp.is_user_defined = 1;
我知道我沒有回答你的問題 - 但你顯然有一些權限問題。這可能有所幫助:http://billfellows.blogspot.com/2010/07/user-defined-table-type-permissions.html – MarkD
@MarkD:感謝您的回覆,但我正在查詢數據庫所有者。 – Jeppen