获取sql server 2005中存储过程的权限

Tim*_*ell 14 sql sql-server security permissions sql-server-2005

如何在sql server 2005中获取存储过程的授予权限?

gbn*_*gbn 26

SELECT
    OBJECT_NAME(major_id), USER_NAME(grantee_principal_id), permission_name
FROM
    sys.database_permissions p
WHERE
    OBJECT_NAME(major_id) = 'MyProc'
Run Code Online (Sandbox Code Playgroud)

您可以调整此加入sys.database_principals,或者sys.objects如果您也想要加入


KM.*_*KM. 11

尝试(注意:不仅适用于存储过程):

SELECT
    dp.NAME AS principal_name
        ,dp.type_desc AS principal_type_desc
        ,o.NAME AS object_name
        ,o.type_desc
        ,p.permission_name
        ,p.state_desc AS permission_state_desc
    FROM sys.all_objects                          o
        INNER JOIN sys.database_permissions       p ON o.OBJECT_ID=p.major_id
        LEFT OUTER JOIN sys.database_principals  dp ON p.grantee_principal_id = dp.principal_id
    WHERE o.NAME = 'YourProcedureName'
Run Code Online (Sandbox Code Playgroud)