排查适用于 SQL Server 的 Azure 扩展部署的问题

适用于: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

部署程序日志

部署程序日志位于:

C:\ProgramData\GuestConfig\extension_logs\Microsoft.AzureData.WindowsAgent.SqlServer\<extension version>\deployer.log

使用扩展版本替换 <extension version>。 例如:

C:\ProgramData\GuestConfig\extension_logs\Microsoft.AzureData.WindowsAgent.SqlServer\1.1.0.0\deployer.log

创建“已启用 Arc 的 SQL Server”资源失败可能是由几个问题引起的。

扩展安装失败

转到连接的服务器并检查部署程序日志。 你应该会看到以下消息。

[YY/MM/DDDD HH:MM:SS UTC] [INFO]          Status of service 'SqlServerExtension' before attempting start: Stopped
[YY/MM/DDDD HH:MM:SS UTC] [INFO]          Status of service 'SqlServerExtension' after attempting start: Stopped

如果看不到此消息,则表示扩展未正确安装。 请尝试以下步骤。

  1. 检查事件日志,查看是否有什么内容阻止了安装。 尝试从以下文件夹 C:\Packages\Plugins\Microsoft.AzureData.WindowsAgent.SqlServer{version} 安装 SqlServerExtension.msi。 安装 UI 可能会提供错误详细信息。

  2. 关闭服务应用和服务器管理器,然后重试其中一种连接方法来安装扩展,看看是否有帮助。

扩展已安装但未启动

检查日志文件中是否有应用程序错误。

服务器 - 手动删除了 Azure Arc ARM 资源

检查扩展日志中是否有以下记录:

[YY/MM/DDDD HH:MM:SS PM UTC] [ERROR]   [UploadServiceProvider]      [ExtensionHandlerStatusQueryError] ArcSqlInstancesRequest request is null, not sending data to RP.

这意味着计算机不再被识别为连接的服务器。 将服务器加入 Azure Arc 并重试其中一种连接方法来安装扩展。

服务器托管标识权限不足

检查扩展日志中是否有以下记录:

[INFO] [UploadServiceProvider] [ExtensionHandlerArcUploadServicesNotifications] [AzureUpload] Arc post request failed with error: Forbidden message: {"ErrorDescription":{"ErrorCode":6,"Message":"The user has no access to the provided Azure resource."},"ResponseUrl":null}

确保为计算机托管标识分配了“Azure Connected SQL Server 加入”角色。 请参阅当计算机已连接到启用了 Arc 的服务器时角色分配说明。

用户未将“已启用 Arc 的 SQL Server”资源迁移到新的资源提供程序

检查扩展日志中是否有以下记录:

[YY/MM/DDDD HH:MM:SS PM UTC] [INFO] [UploadServiceProvider] [ExtensionHandlerArcUploadServicesNotifications] [AzureUpload] Arc for Sql Server upload response status: InternalServerError.`

确保将已启用 Arc 的 SQL Server 资源迁移到 Microsoft.AzureArcData

如果扩展长时间停滞在奇怪的状态(正在创建/删除)

断开 SQL Server 实例与 Azure Arc 的连接