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 Monitor エージェント ログ

Azure Monitor エージェント ログは次の場所にあります。

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

ベスト プラクティス評価を有効にすると、次の問題が発生する可能性があります。

ドロップダウン メニューの中に、使用できる Log Analytics ワークスペースが表示されない

Log Analytics ワークスペース セレクター ドロップダウンに値が表示されない場合のエラー メッセージを示すスクリーンショット。

SQL BPA を構成しているユーザーが、Log Analytics ワークスペースのリソース グループまたはサブスクリプションに対する Log Analytics 共同作成者ロールを持っていることを確認します。 前提条件の一覧については、こちらをご覧ください。

ユーザーに 5 分待つことを求めるエラー通知

ユーザーに 5 分間待つよう求めるエラー通知を示すスクリーンショット。

このような通知が表示された場合、ページを開いたままにすると、ポータルは 5 分後に操作を自動的に再試行します。 ページが更新された場合、ポータルは 5 分間待ってから操作を再試行するようユーザーに勧めます。 同じエラーが長時間続く場合は、WindowsAgent.SqlServer 拡張機能の状態を調べて、拡張機能が更新中状態でスタックしていないことを確認します。 拡張機能がまだスタックしている場合は、Arc マシンの接続を確認します。

評価の実行が失敗した

評価の実行が失敗する場合は、対応する行を選んで、エラー メッセージが表示されるページを開きます。

SQL Server 接続エラー、一般的なネットワーク エラー

説明

SQL Assessment の接続テストに失敗しました、と表示される場合、この評価が SQL Server のインスタンスに接続できなかったことを示します。 戻り値は次のとおりです。

SQL Server がオフラインであるというエラー メッセージを示すスクリーンショット。

解決方法

SQL Server 接続エラーのトラブルシューティング」の手順に従います。

サーバー プリンシパルがモデル データベースにアクセスできない

説明

現在のセキュリティ コンテキストでは、サーバー プリンシパルNT Authority/SYSTEMはデータベースの "model" にアクセスできません。

サーバー プリンシパルが、その時点のセキュリティ コンテキストでデータベースにアクセスできないと、ポータルでこのエラーが返されます。

サーバー プリンシパルがデータベースにアクセスできないというエラー メッセージを示すスクリーンショット。

解決方法

SQL Server に組み込まれているログイン NT AUTHORITY\SYSTEM が、そのマシンで実行されているすべての SQL Server インスタンスについて、SQL Server sysadmin サーバー ロールのメンバーとなっていることを確認します。

これが許可されていない場合は、SQL Server マシンで SQL Server サービス用の Azure 拡張機能を実行するための最小権限アカウントを構成できます。 最低権限アカウントはプレビューのために使用できます。

サーバーを構成するには、「Azure Arc によって有効化された SQL Server を最小限の権限で操作する (プレビュー)」の手順に従います。

Azure Monitor エージェントのアップロードが失敗した

Azure Monitor エージェント (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. リソースの一覧で、DCRDCE は、プレフィックス sqlbpa-で見分けることができます。
    3. DCRDCE が Log Analytics ワークスペースと同じ場所にあることを確認します。
  4. データ収集ルール (DCR) が正しく構成されている必要があります。
    1. 関連する DCR の [リソース] タブに移動します。 Arc マシンの名前が一覧に存在している必要があります。
    2. 関連する DCR の [データ ソース] タブに移動します。 エントリ [Custom Text Logs] (カスタム テキスト ログ) を選びます。
      1. [データ ソース] タブで、テーブル名が SqlAssessment_CL になっている必要があります。
      2. [データ ソース] タブで、構成されたログ収集パスが C:\Windows\System32\config\systemprofile\AppData\Local\Microsoft SQL Server Extension Agent\Assessment\*.csv になっている必要があります。
      3. 通常、[保存先] タブに、Log Analytics ワークスペースの名前が表示されています。

いずれかのコンポーネントが見つからない場合は、次の操作を行います:

  1. [構成]>[Disable assessment] (評価を無効にする) を選んで、評価を無効にします。
  2. 評価を有効にするのに必要なアクセス許可を持っていることを確認します。
  3. [Enable assessment] (評価を有効にする) を選んで、評価を有効にします。

評価のデプロイが失敗する

  1. デプロイに移動し、エラーのトラブルシューティングを行います。
  2. Azure Monitor エージェントのデプロイに問題がある場合は、Arc マシンが接続されていることを確認します。
  3. [評価を有効にする] ボタンをクリックすると、常に同じLog Analytics ワークスペースでデプロイをトリガーし直すことができます。

Log Analytics ワークスペースの変更

ベスト プラクティス評価用にリンクされている Log Analytics ワークスペースを変更するには、次の手順に従います。

  1. 現在、Azure portal 経由でベスト プラクティス評価が有効になっている場合は、無効にします。

  2. API の GET 呼び出しを行い、SQL Server 設定用の Azure 拡張機能を取得します 詳細については、Postman で Azure REST API を呼び出す方法に関するページを参照してください。

    このタスクを完了するには、Azure portal のリソースに対してこのアクションを実行するためにベアラー トークンを取得する必要があります。 Azure portal から次を行います。

    1. 対応する SQL Server - Azure Arc リソースに移動します。
    2. Ctrl + Shift + I キーを同時に選択し、[ネットワーク] タブに移動します。
    3. SQL Server - Azure Arc リソースの [概要] を選択します。
    4. その名前の列で、ArcServer name?api-version のエントリを見つけて選択します。
    5. 右側のウィンドウで、[要求ヘッダー] に移動します。
    6. ベアラー承認トークンを取得するために、Authorization: Bearer の文字列全体をコピーします。
    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 portal の Arc 対応 SQL Server リソース ページで [ベスト プラクティス評価] に移動し、ベスト プラクティス評価を再度有効にして、新しい log analytics ワークスペースを選択します。

さらにサポートが必要な場合は、Microsoft でサポート チケットを作成し、ログ ファイルを添付してください。 「Azure サポート要求を作成する」をご覧ください

次のステップ