如何在 SQL 服务器数据库中找到我的权限?
How to find my permissions in a SQL Server database?
我是 SQL 服务器数据库的用户,我想知道我在所用数据库中的访问权限/权限。我应该使用什么 SQL 查询来做到这一点?
谢谢
我认为最简单的方法是:
SELECT * FROM fn_my_permissions(NULL, 'SERVER');
GO
我在 SQL Server 2008 中尝试过。
如果您正在寻找您可能缺少的东西以及您拥有的东西,这里有一个有用的查找方法:
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
我是 SQL 服务器数据库的用户,我想知道我在所用数据库中的访问权限/权限。我应该使用什么 SQL 查询来做到这一点?
谢谢
我认为最简单的方法是:
SELECT * FROM fn_my_permissions(NULL, 'SERVER');
GO
我在 SQL Server 2008 中尝试过。
如果您正在寻找您可能缺少的东西以及您拥有的东西,这里有一个有用的查找方法:
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