0
我創建了Windows用戶組,並將這些組作爲登錄添加到MSSQL 2008 R2實例。這些組分配了不同的數據庫角色。現在我想確定哪些是適用於作爲其中一個窗口組的一部分的用戶(x)的有效作用。確定有效的MSSQL數據庫角色成員身份
這是怎麼回事?
我創建了Windows用戶組,並將這些組作爲登錄添加到MSSQL 2008 R2實例。這些組分配了不同的數據庫角色。現在我想確定哪些是適用於作爲其中一個窗口組的一部分的用戶(x)的有效作用。確定有效的MSSQL數據庫角色成員身份
這是怎麼回事?
如果您知道哪個Windows組用戶,你可以使用這個你要檢查在數據庫內:
select p1.name as role, p2.name as member
from sys.database_role_members m
inner join sys.database_principals p1 on m.role_principal_id = p1.principal_id
inner join sys.database_principals p2 on m.member_principal_id = p2.principal_id
order by 1, 2
如果你不這樣做,你可以這樣做:
-- Impersonate the user
execute as login = '<YourDomain\YourUser>'
-- Check membership
select name as role
from sys.database_principals
where type = 'R' and is_member(name) = 1
-- When ready, revert out of impersonation
revert
非常感謝。此查詢向我顯示分配給特定用戶的固定角色。我想找出已分配給特定用戶的用戶定義數據庫角色。 – user2335406 2013-04-30 12:22:58
它應該告訴你們兩個。你是否已經將上下文更改爲正確的數據庫,即在SSMS中使用'use'語句或數據庫下拉列表? – muhmud 2013-04-30 12:28:19
謝謝Mahmud。我發現了這個錯誤。但現在我的問題是,除非特定用戶直接添加爲登錄到SQL Server,它不顯示角色成員資格。我想看到有效的權限。 – user2335406 2013-05-01 14:57:32