【问题标题】:How do I generate a table of permissions granted to database tables for a database user?如何为数据库用户生成授予数据库表的权限表?
【发布时间】:2010-09-17 18:44:41
【问题描述】:

我有一个包含大约几百个表的 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 今天很低,在今天完成之前我还有一百万件事要做,如果有人已经有一个方便的脚本可以做到这一点,那么我将永远感激不尽:)

【问题讨论】:

  • 我回滚了这个,sql 是一个完全可以接受的标签,因为它既是 SQL 又是 SQL Server 的问题

标签: sql sql-server permissions


【解决方案1】:

我不确定此过程是否适用于 SQL 2000,它无法获得确切的格式,但它可能会帮助您了解其中的一部分,您可以将其转出以获得您的格式。

sys.sp_helprotect @Username = 'myUser'

【讨论】:

    【解决方案2】:
    Select TABLE_NAME, PRIVILEGE_TYPE
    from INFORMATION_SCHEMA.TABLE_PRIVILEGES 
    where GRANTEE = @username
    

    这将在 SQL Server 2000/2005/2008 中工作

    【讨论】:

      猜你喜欢
      • 2014-08-16
      • 2018-03-21
      • 2016-03-13
      • 2015-02-16
      • 1970-01-01
      • 1970-01-01
      • 2014-05-04
      • 2013-03-13
      • 1970-01-01
      相关资源
      最近更新 更多