重要
注意:根据世纪互联发布的公告,Azure 中国区将于2026年10月1日正式停止提供所有 Microsoft Defender for Cloud 功能。
重要
本文适用于由世纪互联运营的 Microsoft Azure。 如果使用的是商业云,请参阅有关在机器上部署 Defender for SQL 的故障排除文章。
如果在计算机上启用 Defender for SQL Server 且某些 SQL 实例未处于受保护状态,请使用本文对部署问题进行故障排除。
在开始排查步骤前,请确保您具备:
步骤 1:了解如何创建资源
计算机上的 Defender for SQL Server 会自动创建资源,如图所示。
表中汇总了资源:
| 资源类型 | 已创建级别 |
|---|---|
| 资源组。 在 Azure 中国北部区域创建。 | 订阅级别 |
| 托管标识。 每个 Azure 区域都会创建用户分配的托管身份。 | 订阅级别 |
| Log Analytics 工作区。 使用默认或自定义工作区。 | 订阅级别 |
| 数据收集规则(DCR)。 为每个工作区单独创建。 | 订阅级别 |
| 数据收集规则关联 (DCRA) | 在每个 SQL Server 实例上定义 |
| Azure Monitoring Agent (AMA) | 扩展安装在每个 SQL Server 实例上 |
| Defender for SQL 扩展 | 扩展安装在每个 SQL Server 实例上 |
步骤 2:确保允许扩展
若要确保保护按预期工作,请确保组织拒绝策略不会阻止以下扩展:
Defender for SQL (IaaS 和 Arc)
- 发布者:Microsoft.Azure.AzureDefenderForSQL
- 类型:高级威胁保护.Windows
SQL IaaS 扩展 (IaaS)
- 发布者:Microsoft.SqlServer.Management
- 类型:SqlIaaSAgent
SQL IaaS 扩展 (Arc)
- 发布者:Microsoft.AzureData
- 类型:WindowsAgent.SqlServer
AMA 扩展(IaaS 和 Arc)
- 发布者:Microsoft.Azure.Monitor
- 类型:AzureMonitorWindowsAgent
步骤 3:确保中国北区被允许
启用计划时,Azure 将在中国北部区域创建资源组。 确保没有拒绝策略阻止此区域。
步骤 4:验证资源命名约定
计算机上的 Defender for SQL Server 对资源使用特定的命名约定。 确保组织不会阻止这些命名约定,也不会修改任何自动创建的资源。
- DCR:
MicrosoftDefenderForSQL--dcr - DCRA:
/Microsoft.Insights/MicrosoftDefenderForSQL-RulesAssociation - 资源组:
DefaultResourceGroup- - Log Analytics 工作区:
D4SQL--
Defender for SQL 使用 MicrosoftDefenderForSQL 作为 createdBy 数据库标记。
步骤 5:识别订阅级别的错误配置
若要识别哪些订阅存在配置错误,请使用机器上的 SQL 服务器 AMA 助手工作簿。
在“订阅概述”中,查看订阅级别的错误配置。
- Azure 虚拟机上的 SQL Server 显示包含 Azure 虚拟机 (VM) 的订阅。
- 支持 Arc 的 SQL 服务器显示包含启用了 Azure Arc 的虚拟机的订阅。
订阅会根据你的特定环境显示在这些选项卡上。
查看每个订阅的组件配置。
- 订阅中的 SQL Server 实例数。
- 安装了 Defender for SQL 扩展的实例。
- 安装了 AMA 扩展的实例。
- 为订阅中所有区域的每个工作区创建的DCR。
- 为每个 SQL 实例创建的 DCRA。
- 在订阅级别为每个区域创建的托管标识。
- 在订阅级别上为每个区域创建的 Log Analytics 工作区。
- 为订阅启用 AMA 自动预配。
- 为订阅启用 Defender for SQL。
对于每个订阅,请检查哪个组件与预期的配置不匹配,例如 0/1、10/15 或 No。 在我们的示例屏幕截图中,演示订阅在 DCRA 0/1 中存在配置错误的问题。
当你发现一个有错误配置的订阅后,先在订阅层面解决这些错误配置,然后在资源层面和扩展安装层面解决。
步骤 6:解决订阅级别的错误配置
识别出配置错误后,先修复 DCR 问题,然后修复工作区问题,最后修复订阅级别的标识问题。
按正确的顺序修复错误配置。 DCR 问题的解决依赖于工作区问题的解决,而工作区问题的解决依赖于标识问题的解决。 如果你试图不按正确顺序解决这些配置错误,就无法解决这些配置错误。
导航到策略>符合性。
选择“范围”。
在 范围中,选择相关的订阅。
在 合规 页面,根据你的工作区配置选择策略:
- 默认工作区:SQL 虚拟机上的 Defender for SQL 和已启用 Arc 的 SQL Server。
- 自定义工作区:SQL 虚拟机上的 Defender for SQL 和已启用 Arc 的 SQL Server - 自定义。
按以下顺序搜索并解决每个不合规问题:标识,>工作区,>DCR。
如下所示修复每个问题:
-
Identity.
Create and assign a built-in user-assigned managed identity。 -
工作空间。
Configure the Microsoft Defender for SQL Log Analytics workspace。 -
DCR。
Configure SQL 虚拟机 to automatically install Microsoft Defender for SQL and DCR with a Log Analytics workspace或Configure Arc-enabled SQL Servers to automatically install Microsoft Defender for SQL and DCR with a Log Analytics workspace。
-
Identity.
对于不符合的每个策略,请查看符合性原因,并选择“创建修正任务”解决此问题。
填写相关信息。
选择“修正”。
针对每个不合规的策略和订阅,重复执行修正任务流程。
使用 PowerShell 部署脚本输入自定义值
如果无法通过工作簿解决订阅问题,Defender for SQL Servers on Machines 会提供一个 PowerShell 部署脚本,可让你输入自己的工作区、DCR 和用户标识的值。 要使用 PowerShell 脚本,请按照大规模启用 Defender for SQL中的说明进行操作。
步骤 7:解决资源级别的错误配置
在订阅级别解决错误配置后,请在资源级别解决错误配置,包括 DCRA 配置错误,以及不完整的 AMA 或 Defender for SQL 扩展部署。
排查扩展配置错误问题
请使用以下步骤来排查与扩展相关的策略错误配置。
在 Azure 门户中,导航到策略>符合性。
选择“范围”。
在下拉菜单中,选择带有错误配置的订阅。
搜索并选择“SQL 虚拟机上的 Defender for SQL 和已启用 Arc 的 SQL Server 计划”。
选择不合规的策略名称。
-
Defender for SQL 扩展。
Create and assign a built-in user-assigned managed identity。 -
AMA 扩展。
Configure SQL 虚拟机 to automatically install Azure Monitor Agent或Configure Arc-enabled SQL Servers to automatically install Azure Monitor Agent。
-
Defender for SQL 扩展。
对于不符合的每个策略,请查看符合性原因,并选择“创建修正任务”解决此问题。
排查 DCRA 配置错误
请按照以下步骤排查受影响订阅的DCRA配置错误。
在 Azure 门户中,搜索并选择数据收集规则。
选择 “订阅等值”,然后选择相应的订阅。
选择应用。
找到并选择相关的 DCR。 DCR 命名约定遵循以下格式:
MicrosoftDefenderForSQL-region-dcr。选择“配置”>“资源”。
选择 + 添加。
在“资源类型”下拉列表中,选择“计算机 - Azure Arc”,并根据部署选择“虚拟机”。
展开每个资源组并选择每台计算机。
选择应用。
步骤 8:重新验证保护状态
完成此页上的所有步骤后,重新验证每个 SQL Server 实例的保护状态。