Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 如何为数据库用户生成授予数据库表的权限表?_Sql_Sql Server_Permissions - Fatal编程技术网

Sql 如何为数据库用户生成授予数据库表的权限表?

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

我有一个SQL Server 2000数据库,大约有几百个表。有多个SQL用户帐户可以访问此数据库,但每个帐户对数据库中的表具有不同的权限

如何创建脚本以向我报告授予特定用户的权限。i、 e.生成类似以下内容:

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