大规模启用 Microsoft Defender for SQL Servers on Machines

重要

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

Microsoft Defender for Cloud 中 Defender for Databases 计划的 SQL Servers on Machines 组件为 SQL IaaS 和 Defender for SQL 扩展提供保护。 此组件识别并缓解潜在的数据库漏洞,并检测可能指示数据库威胁的异常活动。

启用 Defender for Databases 计划中的 SQL Servers on Machines 组件时,将开始自动预配。 自动预配功能会安装并配置所需组件,包括 Azure Monitor 代理(AMA)、SQL IaaS 扩展和 Defender for SQL 扩展。 它还根据需要配置工作区、数据收集规则(DCR)和标识。

本文介绍如何使用 PowerShell 脚本跨多个订阅为 Defender for SQL 启用自动预配。 此过程适用于托管在 Azure 虚拟机(VM)上的 SQL Server、本地环境中的 SQL Server,以及已启用 Azure Arc 的 SQL Server。 它还涵盖可选配置,例如:

  • 自定义数据收集规则
  • 自定义标识管理
  • 默认工作区集成
  • 自定义工作区配置

先决条件

开始之前:

PowerShell 脚本参数和示例

在给定订阅上的计算机上启用 Microsoft Defender for SQL 的 PowerShell 脚本具有多个参数,你可以根据需求进行自定义。 下表列出了参数及其说明:

参数名称 必填 说明
SubscriptionId 必填 要为其启用 Defender for SQL Servers on Machines 的 Azure 订阅 ID。
RegisterSqlVmAgnet 必填 用于指示是否批量注册 SQL VM 代理的标志。 此参数名称与当前上游脚本匹配。

可以将Azure中的多个 SQL VM 批量注册到 SQL IaaS 代理扩展。 有关详细信息,请参阅 使用 SQL IaaS 代理扩展注册多个 SQL VM
WorkspaceResourceId 可选 如果您想使用自定义工作区而非默认工作区,请指定 Log Analytics 工作区的资源 ID。
DataCollectionRuleResourceId 可选 如果使用自定义数据收集规则 (DCR) 而非默认规则,则为该数据收集规则的资源 ID。
UserAssignedIdentityResourceId 可选 如果要改用自定义用户分配标识而非默认标识,则指定用户分配标识的资源 ID。

使用默认 Log Analytics 工作区、数据收集规则和托管标识时,以下示例脚本适用。

Write-Host "------ Enable Defender for SQL on Machines example ------" 
$SubscriptionId = "<SubscriptionID>"
$RegisterSqlVmAgnet = $true
.\EnableDefenderForSqlOnMachines.ps1 -SubscriptionId $SubscriptionId -RegisterSqlVmAgnet $RegisterSqlVmAgnet 

使用自定义 Log Analytics 工作区、数据收集规则和托管标识时,以下示例脚本适用。

Write-Host "------ Enable Defender for SQL on Machines example ------" 
$SubscriptionId = "<SubscriptionID>" 
$RegisterSqlVmAgnet = $false 
$WorkspaceResourceId = "/subscriptions/<SubscriptionID>/resourceGroups/someResourceGroup/providers/Microsoft.OperationalInsights/workspaces/someWorkspace" 
$DataCollectionRuleResourceId = "/subscriptions/<SubscriptionID>/resourceGroups/someOtherResourceGroup/providers/Microsoft.Insights/dataCollectionRules/someDcr" 
$UserAssignedIdentityResourceId = "/subscriptions/<SubscriptionID>/resourceGroups/someElseResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/someManagedIdentity" 
.\EnableDefenderForSqlOnMachines.ps1 -SubscriptionId $SubscriptionId -RegisterSqlVmAgnet $RegisterSqlVmAgnet -WorkspaceResourceId $WorkspaceResourceId -DataCollectionRuleResourceId $DataCollectionRuleResourceId -UserAssignedIdentityResourceId $UserAssignedIdentityResourceId

大规模启用适用于计算机上 SQL Server 的 Defender

若要大规模为计算机上的 SQL Server 启用Defender,

  1. 打开 PowerShell 窗口。

  2. Defender for Cloud GitHub 存储库复制 EnableDefenderForSqlOnMachines.ps1 脚本。

  3. 将脚本粘贴到 PowerShell 中。

  4. 根据需要输入参数信息。

  5. 运行该脚本。

下一步