如何检查sql用户对特定数据库的权限

时间:2014-09-03 16:30:20

标签: sql sql-server

我正在尝试为SQL Server 2008 R2上的特定数据库查找特定用户的权限。

我的数据库是testDB,用户名是testUser

这是我正在使用的脚本

SELECT
    dp.type_desc AS principal_type_desc,
    dbp.class_desc,
    OBJECT_NAME(dbp.major_id) AS object_name,
    dbp.permission_name,
    dbp.state_desc AS permission_state_desc
FROM
    sys.database_permissions dbp
INNER JOIN 
    sys.database_principals dp ON dbp.grantee_principal_id = dp.principal_id
WHERE
    USER_NAME(dbp.grantee_principal_id) = 'TestUser'

不确定如何获取特定数据库中特定用户的权限

1 个答案:

答案 0 :(得分:1)

如果您是sa,则可以更改上下文,然后使用内置函数

execute as Login = 'testUser';
select * from sys.fn_my_permissions(NULL,'Database')