Last active
October 13, 2023 06:53
-
-
Save Vincent-233/2c0d3dc29063564852157d0bd3603f9b to your computer and use it in GitHub Desktop.
MSSQL查询每个账号在每个数据库里的角色名(供参考)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
-- 查询所有登录名在 SQL Server 实例级别的角色 | |
SELECT | |
sp.name AS LoginName, | |
sp.type_desc AS LoginType, | |
sp.default_database_name AS DefaultDatabase, | |
sp.default_language_name AS DefaultLanguage, | |
sp.create_date AS CreateDate, | |
server_role.name AS ServerRole | |
FROM sys.server_principals AS sp | |
LEFT JOIN sys.server_role_members AS srm | |
ON sp.principal_id = srm.member_principal_id | |
LEFT JOIN sys.server_principals AS server_role | |
ON srm.role_principal_id = server_role.principal_id | |
WHERE sp.type IN ('U', 'G', 'S', 'A'); -- 这将包括 SQL Server 账户、Windows AD 组、服务账户和匿名登录 | |
-- 注意:如果需要过滤特定角色,请根据需要修改 WHERE 子句。 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment