如何生成授予数据库表的数据库用户权限表?(How do I generate a table of

2019-11-02 20:05发布

我有一个SQL Server 2000数据库大约有几百台。 有迹象表明,可以访问该数据库中的几个SQL用户帐户,但每一个都有授予在数据库表不同的权限。

如何创建一个脚本来给我授予特定用户的权限的报告。 即产生类似:

Table      SELECT   DELETE   UPDATE    INSERT    ALTER
-----      ------   ------   ------    ------    -----
Invoices   Yes      No       Yes       Yes       No
Orders     Yes      Yes      Yes       Yes       No
Customers  Yes      No       Yes       Yes       No

等等。 今天是星期五,我SQL富今天是低,我有一百万其他事情及彼完成今天之前做的,如果有人有一个方便的脚本已经做到这一点,那么我会永远感激:)

Answer 1:

Select TABLE_NAME, PRIVILEGE_TYPE
from INFORMATION_SCHEMA.TABLE_PRIVILEGES 
where GRANTEE = @username

这将在SQL服务器2000/2005/2008工作



Answer 2:

我不知道这过程适用于SQL 2000或没有,它没有得到确切的格式,但它可能让你的方式的一部分那里,你可以可以透视出来,让您的格式。

sys.sp_helprotect @Username = 'myUser'


文章来源: How do I generate a table of permissions granted to database tables for a database user?