我有一个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-fu今天很低,今天在完成这里之前还有其他一百万件事要做,如果有人有一个方便的脚本来做这件事,那么我会永远感激:)

有帮助吗?

解决方案

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

这将在SQL server 2000/2005/2008中起作用

其他提示

我不确定这个程序是否适用于SQL 2000,它没有得到确切的格式,但它可能会让你在那里的一部分,你可以转出来获得你的格式。

sys.sp_helprotect @Username = 'myUser'
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top