教程:排查 SQL 数据源Microsoft Purview 策略的问题

本教程介绍如何发出 SQL 命令来检查已传达给 SQL 实例的 Microsoft Purview 策略,并在该实例中强制实施这些策略。 你还将了解如何强制将策略下载到 SQL 实例。 这些命令仅用于故障排除,在 Microsoft Purview 策略的正常操作期间不需要这些命令。 这些命令需要在 SQL 实例中拥有更高级别的特权。

有关Microsoft Purview 策略的详细信息,请参阅 后续步骤 部分中列出的概念指南。

先决条件

测试策略

创建策略后,策略主题中引用的Microsoft Entra主体应能够连接到发布策略的服务器中的任何数据库。

强制策略下载

通过运行以下命令,可以强制将最新发布的策略立即下载到当前 SQL 数据库。 在 ##MS_ServerStateManager##-server 角色中运行其成员身份所需的最低权限。

-- Force immediate download of latest published policies
exec sp_external_policy_refresh reload

分析从 SQL 下载的策略状态

以下 DMV 可用于分析哪些策略已下载,并且当前已分配给Microsoft Entra主体。 运行它们所需的最小权限是 VIEW DATABASE SECURITY STATE 或分配的操作组 SQL 安全审核器


-- Lists generally supported actions
SELECT * FROM sys.dm_server_external_policy_actions

-- Lists the roles that are part of a policy published to this server
SELECT * FROM sys.dm_server_external_policy_roles

-- Lists the links between the roles and actions, could be used to join the two
SELECT * FROM sys.dm_server_external_policy_role_actions

-- Lists all Azure AD principals that were given connect permissions  
SELECT * FROM sys.dm_server_external_policy_principals

-- Lists Azure AD principals assigned to a given role on a given resource scope
SELECT * FROM sys.dm_server_external_policy_role_members

-- Lists Azure AD principals, joined with roles, joined with their data actions
SELECT * FROM sys.dm_server_external_policy_principal_assigned_actions

后续步骤

Microsoft Purview 访问策略的概念指南: