繁体   English   中英

SQL 服务器数据库角色 - 表

[英]SQL Server database roles - tables

我试图找到一个 SQL 语句来了解所有数据库角色到表连接的概述。 所以我正在寻找sys.tablessys.database_principals where type_desc='DATABASE_ROLE'

目标是概述哪些角色在哪些表上。 任何人都可以帮忙吗?

我正在使用 Microsoft SQL 服务器 2019。

亲切的问候

sys.database_permissions是您正在寻找的。 您可以将其加入sys.tablessys.database_principals并获取您需要的所有信息

SELECT
  schema_name = s.name,
  t.name,
  per.permission_name,
  prin.name,
  prin.state_desc
FROM sys.tables t
JOIN sys.schemas s ON s.schema_id = t.schema_id
JOIN sys.database_permissions ON per.major_id = t.object_id
    AND per.class = 1  -- object or column
    AND per.minor_id = 0  -- table only, not column
JOIN sys.database_principals prin ON print.principal_id = per.grantee_principal_id
    AND prin.type = 'R'; -- same as DATABASE_ROLE

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM