我是一个SQL Server数据库的用户,我想知道我在使用的数据库中的访问权限/权限。我应该使用什么SQL查询来查询这些信息?
谢谢
我是一个SQL Server数据库的用户,我想知道我在使用的数据库中的访问权限/权限。我应该使用什么SQL查询来查询这些信息?
谢谢
我认为最简单的方法是:
SELECT * FROM fn_my_permissions(NULL, 'SERVER');
GO
我在 SQL Server 2008 中尝试了它。
SELECT * FROM fn_my_permissions(NULL, 'DATABASE'); GO
- straville如果您正在寻找您缺少的和拥有的东西,以下是一个有用的查找方法:
SELECT all_permissions.permission_name, p.name
FROM (
SELECT DISTINCT permission_name
FROM sys.database_permissions
) all_permissions
LEFT JOIN (
SELECT b.name, a.permission_name
FROM sys.database_permissions a
JOIN sys.database_principals b on a.grantee_principal_id = b.principal_id
WHERE b.name = '{YOUR_NAME_OR_GROUP_NAME_HERE}'
) p ON p.permission_name = all_permissions.permission_name