【问题标题】:Checking impersonation in SQL Server在 SQL Server 中检查模拟
【发布时间】:2014-01-17 14:26:22
【问题描述】:

我有几个带有 UserA 和 UserB 的数据库。 在其中一些 DB 中,已授予模拟 (GRANT IMPERSONATE ON LOGIN::UserA TO UserB),在其他 DB 中,用户没有模拟。

我如何通过查询来检查用户是否进行了模拟? 任何系统表中是否存在此标志?

【问题讨论】:

    标签: sql sql-server impersonation


    【解决方案1】:

    我找到了这个查询...

    SELECT  DB_NAME() AS 'database'
            ,pe.permission_name
            ,pe.state_desc
            ,pr.name AS 'grantee'
            ,pr2.name AS 'grantor'
    FROM    sys.database_permissions pe
    JOIN    sys.database_principals pr
            ON  pe.grantee_principal_id = pr.principal_Id
    JOIN    sys.database_principals pr2
            ON  pe.grantor_principal_id = pr2.principal_Id
    WHERE   pe.type = 'IM'
    

    这里...

    http://tenbulls.co.uk/2012/01/30/what-are-the-impersonation-rights-for-my-database-users/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-04-20
      • 1970-01-01
      • 2011-09-23
      • 2013-08-14
      • 1970-01-01
      • 1970-01-01
      • 2014-05-14
      相关资源
      最近更新 更多