共用方式為

验证 SQL 计算机保护治理

重要

注意:根据世纪互联发布的公告2026 年 8 月 18 日,中国地区的 Azure 中将正式停用所有 Microsoft Defender for Cloud 功能。

重要

本文适用于由世纪互联运营的 Microsoft Azure。 如果使用商业云,请参阅 “验证 SQL 计算机保护 ”一文。

使用“计算机上的 Defender for SQL Server”计划对 SQL VM 启用保护后,请验证 SQL Server 是否按预期受到保护。

验证对多个 Azure VM 的保护

通过运行 Get-SqlVMProtectionStatusReport.ps1 PowerShell 脚本,检索和查看指定 Azure 订阅中所有 SQL 虚拟机的 Defender for SQL Servers on Machines 保护状态报告。 该脚本仅适用于 Azure VM。

验证对多个已启用 Azure Arc 的 VM 的保护

  1. 在 Azure 门户中,搜索并选择 Azure Resource Graph

  2. 复制并运行以下查询,以标识未处于受保护状态的已启用 Azure Arc 的 VM。

    resources
    | where type == "microsoft.azurearcdata/sqlserverinstances"
    | extend SQLonArcProtection= tostring(properties.azureDefenderStatus)
    | extend ProtectionStatusLastUpdate = tostring(properties.azureDefenderStatusLastUpdated)
    | project name, SQLonArcProtection, ProtectionStatusLastUpdate, resourceGroup, location, type, tenantId, subscriptionId, properties
    | order by ['name'] asc
    
  3. 查看结果,具体检查 SQLonArcProtection 状态。 如果结果未显示 Protected,则表示该 SQL Server VM 或已启用 Azure Arc 的 SQL Server 未受保护。

    脚本运行后的结果屏幕的屏幕截图。

  4. ProtectionStatusLastUpdate如果字段在最后一天未显示日期,则计算机可能不受保护。 验证单个 SQL Server VM 的保护

    显示 SQL 实例的最后一次状态更新的屏幕截图。

该脚本可以返回以下可能的保护状态:

  • 受保护:Defender for SQL 主动保护实例。 通过检查“上次更新”字段确保信息不会过时。
  • 不受保护:Defender for SQL 在保护实例时遇到问题。 此状态表示需要一些干预才能确保成功的保护。
  • 非活动:Defender for SQL 在计算机上运行,但 SQL 实例已暂停或停止。
  • 未知:无法检索或计算机上不存在保护状态。 在这种情况下,假定实例不受 Defender for SQL 的保护。

验证单个 SQL Server VM 上的保护

  1. 根据环境中的资源,在 Azure 门户中搜索并选择 SQL 虚拟机SQL Server - Azure Arc

  2. 找到并选择相关资源。

  3. 在“安全性”选项卡下,选择“Defender for Cloud”

  4. 检查“保护状态”。 如果状态为“受保护”,则部署成功

    显示保护状态为“受保护”的屏幕截图。

排查未受保护的计算机问题

如果未保护数据库,请按照 故障排除指南 中的说明修正问题。