2008-10-17 103 views
0

我有一个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富今天是低,我有一百万其他事情及彼完成今天之前做的,如果有人有一个方便的脚本已经这样做了,那么我会永远感激:)

+0

我推出这个回去,SQL是一个完全可以接受的标签,因为它是一个既SQL和SQL Server的问题 – Kev 2008-10-17 17:01:55

回答

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

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

1

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

sys.sp_helprotect @Username = 'myUser' 
相关问题