Sql 如何为数据库用户生成授予数据库表的权限表?
我有一个SQL Server 2000数据库,大约有几百个表。有多个SQL用户帐户可以访问此数据库,但每个帐户对数据库中的表具有不同的权限 如何创建脚本以向我报告授予特定用户的权限。i、 e.生成类似以下内容:Sql 如何为数据库用户生成授予数据库表的权限表?,sql,sql-server,permissions,Sql,Sql Server,Permissions,我有一个SQL Server 2000数据库,大约有几百个表。有多个SQL用户帐户可以访问此数据库,但每个帐户对数据库中的表具有不同的权限 如何创建脚本以向我报告授予特定用户的权限。i、 e.生成类似以下内容: Table SELECT DELETE UPDATE INSERT ALTER ----- ------ ------ ------ ------ ----- Invoices Yes No Yes
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今天很低,在今天结束之前我还有一百万件事要做,如果有人已经有了一个方便的脚本来做这件事,我将永远感激:)我不确定这个过程是否适用于SQL 2000,它没有得到确切的格式,但它可能会帮你实现其中的一部分,你可以把它转出来,得到你的格式
sys.sp_helprotect @Username = 'myUser'
这将在SQL server 2000/2005/2008中起作用我将其回滚,SQL是一个完全可以接受的标记,因为它既是SQL问题也是SQL server问题
Select TABLE_NAME, PRIVILEGE_TYPE
from INFORMATION_SCHEMA.TABLE_PRIVILEGES
where GRANTEE = @username