对有关 SQL Server 的最佳做法评估进行故障排除

适用范围:SQL Server

继续操作之前,请先验证已满足所有必需的先决条件

日志文件位置

扩展日志

扩展日志文件位于:

C:\ProgramData\GuestConfig\extension_logs\Microsoft.AzureData.WindowsAgent.SqlServer\

日志文件名称取决于 SQL Server 的 Azure 扩展版本。 对于最新版本的 SQL Server 的 Azure 扩展,日志文件为:

unifiedagent.log

版本 1.1.24724.69 和更早版本扩展的日志文件为:

ExtensionLog_0.log

Azure 监视器代理日志

Azure 监视器代理日志位于:

C:\ProgramData\GuestConfig\extension_logs\Microsoft.Azure.Monitor.AzureMonitorWindowsAgent\Extension.1.log

启用最佳做法评估时,可能会遇到以下问题。

下拉列表菜单中没有可用的 Log Analytics 工作区

显示当 Log Analytics 工作区选择器下拉列表中没有可见值时的错误消息的屏幕截图。

确保配置 SQL BPA 的用户必须在 Log Analytics 工作区的资源组或订阅上具有 Log Analytics 参与者角色。 可在此处找到先决条件列表。

要求用户等待五分钟的错误通知

显示通知用户等待五分钟的错误通知的屏幕截图。

如果出现此类通知,并且使页面保持打开状态,门户会在五分钟后自动重试操作。 如果刷新页面,门户会建议你等待五分钟,然后重试该操作。 如果同一错误在长时间后仍然存在,请验证 WindowsAgent.SqlServer 扩展的状态,并确保扩展未停滞在“正在更新”状态。 如果扩展仍然停滞,请验证 Arc 计算机的连接性。

评估运行失败

如果评估运行失败,请选择相应的行以打开显示错误消息的页面。

SQL Server 连接失败,常规网络错误

说明

SQL 评估的连接测试失败表明评估未能连接到 SQL Server 实例。 将返回:

显示 SQL Server 离线的错误消息的屏幕截图。

解决方法

按照排查 SQL Server 中的连接问题中的步骤操作。

服务器主体无法访问模型数据库

说明

服务器主体 NT Authority/SYSTEM 无法在当前安全性上下文下访问数据库“模型”。

服务器主体在当前安全性上下文下无法访问数据库,因此在门户中返回此错误。

显示服务器主体无法访问数据库的错误消息的屏幕截图。

解决方法

确保 SQL Server 内置登录名 NT AUTHORITY\SYSTEM 是计算机上运行的所有 SQL Server 实例的 SQL Server sysadmin 服务器角色的成员。

如果不允许这样做,可以配置一个最低特权帐户,用于在 SQL Server 计算机上运行 SQL Server 服务的 Azure 扩展。 最低特权帐户在预览版中可用。

请按照使用最低特权操作 Azure Arc 启用的 SQL Server 中的步骤配置服务器。

Azure Monitor 代理上传失败

如果 Azure Monitor Agent(Azure 监视器代理,AMA)发生上传失败错误,请验证是否正确预配和配置了 AMA。 必须正确配置以下组件,以确保代理可以将日志上传到工作区:

  1. 链接的 Log Analytics 工作区必须具有名为 SqlAssessment_CL 的表。
    1. 导航到链接的 Log Analytics 工作区下的“表”选项卡。
    2. 应显示 SqlAssessment_CL 表。
  2. 应成功预配 Azure Monitor 代理(版本 >= 1.10.0)。
    1. 导航到 Arc 资源下的“扩展”选项卡。
    2. 应成功预配具有所需版本的 AMA。
  3. 数据收集规则 (DCR) 和数据收集终结点 (DCE) 必须与 Log Analytics 工作区位于同一位置。
    1. 导航到 Log Analytics 工作区所属资源组的“概述”选项卡。
    2. 在资源列表下,可以通过前缀 sqlbpa- 来标识 DCRDCE
    3. 验证 DCRDCE 是否与 Log Analytics 工作区位于同一位置。
  4. 应正确配置数据收集规则 (DCR)。
    1. 导航到相关 DCR 下的“资源”选项卡。 列表中应存在 Arc 计算机名称。
    2. 导航到相关 DCR 下的“数据源”选项卡。 选择“自定义文本日志”条目。
      1. 在“数据源”选项卡下,表名称应为 SqlAssessment_CL
      2. 在“数据源”选项卡下,配置的日志收集路径应为 C:\Windows\System32\config\systemprofile\AppData\Local\Microsoft SQL Server Extension Agent\Assessment\*.csv
      3. 在“目标”选项卡下,应存在 Log Analytics 工作区名称。

如果缺少任何组件,请执行以下操作:

  1. 通过选择“配置”>“禁用评估”来禁用评估。
  2. 确认你具有启用评估所需的权限。
  3. 通过选择“启用评估”来启用评估。

评估部署失败

  1. 导航到部署并排查错误。
  2. 如果 Azure Monitor 代理的部署存在任何问题,请验证 Arc 计算机是否已连接。
  3. 始终可以通过选择“启用评估”按钮来使用相同的 Log Analytics 工作区重新触发部署。

更改 Log Analytics 工作区

若要更改为最佳做法评估链接的 Log Analytics 工作区,请执行以下步骤。

  1. 禁用最佳做法评估(如果当前已通过 Azure 门户启用)。

  2. 对 API 进行 GET 调用,并获取用于处理 SQL Server 设置的 Azure 扩展。 有关详细信息,请参阅如何使用 curl 调用 Azure REST API

    要完成此任务,需要获取持有者令牌才能对 Azure 门户中的资源执行此操作。 从 Azure 门户:

    1. 导航到对应的“SQL Server - Azure Arc”资源。
    2. 同时按下 Ctrl+Shift+I,转到“网络”选项卡。
    3. 选择该“SQL Server - Azure Ar”资源的“概述”
    4. 在“名称”列中,找到并选择“ArcServer name?api-version”对应的条目。
    5. 在右侧窗口中,转到“请求头”
    6. 完整复制“授权:持有者”的文本,以获取持有者授权令牌。
    GET https://edge.management.azure.com/subscriptions/ <subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.HybridCompute/machines/<arc-resource-name>/extensions/WindowsAgent.SqlServer?api-version=2022-03-10
    

    更改前的最佳做法评估设置。

    "AssessmentSettings": {
      "Enable": true,
      "RunImmediately": true,
      "schedule": {
        "dayOfWeek": "Sunday",
        "Enable": true,
        "monthlyOccurrence": null,
        "StartDate": null,
        "startTime": "00:00",
        "WeeklyInterval": 1
      },
      "WorkspaceResourceId": null,
      "WorkspaceLocation": null,
      "ResourceNamePrefix": null,
      "settingsSaveTime": 1673278632
    }
    
  3. 将工作区相关设置更新为 null,如下所示。

    "AssessmentSettings": {
      "Enable": false,
      "RunImmediately": true,
      "schedule": {
        "dayOfWeek": "Sunday",
        "Enable": true,
        "monthlyOccurrence": null,
        "StartDate": null,
        "startTime": "00:00",
        "WeeklyInterval": 1
      },
      "WorkspaceResourceId": null,
      "WorkspaceLocation": null,
      "ResourceNamePrefix": null,
      "SettingsSaveTime": 1673278632
    }
    
  4. 向 API 进行 PATCH 调用以更新用于处理 SQL Server 评估设置的 Azure 扩展。

    PATCH https://management.azure.com/subscriptions/ <subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.HybridCompute/machines/<arc-resource-name>/extensions/WindowsAgent.SqlServer?api-version=2022-08-11-preview
    
  5. 转到 Azure 门户中已启用 Arc 的 SQL Server 资源页上的“最佳做法评估”,然后重新启用最佳做法评估并选择新的 Log Analytics 工作区。

如需更多帮助,请向 Microsoft 创建支持票证并附加日志文件。 访问创建 Azure 支持请求