Azure Arc 対応の SQL Server 向けベスト プラクティス アセスメントを構成する

適用対象: SQL Server

ベスト プラクティス アセスメント の機能には、SQL Server インスタンスの構成を評価するメカニズムが備わっています。 この機能を有効にすると、評価によって SQL Server インスタンスとデータベースがスキャンされて、次のような推奨事項が提供されます:

  • SQL Server とデータベースの構成
  • インデックスの管理
  • 非推奨の機能
  • 有効にされた、または見つからないトレース フラグ
  • 統計

評価の実行時間は、環境 (データベースやオブジェクトの数など) に応じて数分から 1 時間かかることがあります。 評価結果のサイズも環境によって異なります。

評価は、インスタンスと、そのインスタンス上のすべてのデータベースに対して実行されます。 このテストでは、評価の実行がコンピューターに最大10% の CPU 影響を与えることを確認しました。 これらのテストでは、TPC-C ベンチマークと同様のアプリケーションが SQL Server インスタンスに対して実行されている間に評価を実行しました。

この記事では、Azure Arc によって有効化された SQL Server のインスタンスでベスト プラクティス アセスメントを使用する手順について説明します。

重要

ベスト プラクティス アセスメントは、ソフトウェア アシュアランスまたは従量課金制 ライセンス オプションを使用して購入した SQL Server インスタンスでのみ使用できます。

適切なライセンスの種類を構成する手順については、「Azure Arc 対応の SQL Server の構成」を確認sいます。

前提条件

  • Windows ベースの SQL Server インスタンスが Azure に接続されていることを確認します。 「SQL Server を Azure Arc に自動的に接続する」の手順に従います。

    Note

    ベスト プラクティス アセスメントは現在、Windows マシンで実行されている SQL Server に限定されています。 現在、Linux マシン上の SQL Server on Linux には評価は適用されません。

  • SQL Server が単一の SQL Server インスタンスをホストしている場合は、SQL Server の Azure 拡張機能 (WindowsAgent.SqlServer) のバージョンが 1.1.2202.47 以降であることを確認します。

    サーバーが SQL Server の複数のインスタンスをホストしている場合: Azure Extension for SQL Server (WindowsAgent.SqlServer) のバージョンが 1.1.2231.59 以降であることを確認します。

    SQL Server 用の Azure 拡張機能のバージョンを確認し、最新バージョンに更新するには、「拡張機能をアップグレードする」を参照してください。

  • サーバーが SQL Server の名前付きインスタンスを操作する場合は、SQL Server Browser サービス が実行されている必要があります。

  • Log Analytics ワークスペース は、Azure Arc 対応の SQL Server リソースと同じサブスクリプション内にある必要があります。

  • SQL Server ベスト プラクティス アセスメントを構成するユーザーには、次のアクセス許可が必要です:

    • Log Analytics ワークスペースのリソース グループまたはサブスクリプションに対する ログ分析共同作成者ロール。
    • Arc 対応 SQL Server インスタンスのリソース グループまたはサブスクリプションに対する Azure Connected Machine リソース管理者ロール。
    • Log Analytics ワークスペースとリソース グループまたはサブスクリプションと、Azure Arc 対応マシンのリソース グループまたはサブスクリプションに対する監視共同作成者ロール。

    共同作成者や所有者などの組み込みロールに割り当てられたユーザーには、十分なアクセス許可があります。 詳細については、「Azure portal を使用して Azure ロールを割り当てる」を確認してください。

  • 評価レポートにアクセスしたりそれを読んだりするために必要な最小限のアクセス許可は、次のとおりです。

    • SQL Server - Azure Arc リソースのリソース グループまたはサブスクリプションに対する閲覧者ロール。
    • Log Analytics 閲覧者
    • Log Analytics ワークスペースのリソース グループまたはサブスクリプションに対する 監視閲覧者

    評価レポートにアクセスしたり読み取ったりするためのその他の要件を次に示します:

    • SQL Server の組み込みログイン NT AUTHORITY\SYSTEM は、そのマシンで実行されているすべての SQL Server インスタンスに対する SQL Server sysadmin サーバー ロールのメンバーである必要があります。

    • ファイアウォールまたはプロキシ サーバーでアウトバウンド接続が制限されている場合は、これらの URL について TCP ポート 443 経由の Azure Arc が許可されていることを確認します:

      • global.handler.control.monitor.azure.com
      • *.handler.control.monitor.azure.com
      • <log-analytics-workspace-id>.ods.opinsights.azure.com
      • *.ingest.monitor.azure.com
  • SQL Server インスタンスで TCP/IP が有効になっている 必要があります。

  • SQL Server のベスト プラクティス アセスメントでは、Azure Monitor エージェント (AMA) を使用して、SQL Server インスタンスからデータを収集および分析します。 ベスト プラクティス アセスメントを有効にする前に SQL Server インスタンスに AMA がインストールされている場合、評価では同じ AMA エージェントとプロキシ設定が使用されます。 他に何も行う必要はありません。

    SQL Server インスタンスに AMA がインストールされていない場合は、ベスト プラクティス アセスメントによってインストールされます。 ベスト プラクティス アセスメントでは、AMA のプロキシ設定は自動的に設定されません。 必要なプロキシ設定を使用して AMA を再デプロイする必要があります。

    AMA ネットワークとプロキシの設定の詳細については、「プロキシの構成」を確認します。

  • SQL ベスト プラクティス アセスメントを有効または無効にするように、SQL Server 拡張機能がインストールされた Arc 対応サーバーを構成する」という Azure Policy を使って、大規模 に評価を有効にする場合は、Azure Policy の割り当てを作成する必要があります。 サブスクリプションには、対象にしているスコープに対するリソース ポリシー共同作成者ロールの割り当てが必要です。 サブスクリプションまたはリソース グループをスコープにすることができます。

    新しいユーザー割り当てマネージド ID を作成する予定の場合は、サブスクリプションにユーザー アクセス管理者ロールの割り当ても必要です。

ベスト プラクティス アセスメントを有効にする

  1. Azure portal にサインインし、Azure Arc 対応 SQL Server のリソース に移動します。

  2. 左側のウィンドウで、[ベスト プラクティス アセスメント] を選択します。

    Azure Arc 対応 SQL Server リソースのベスト プラクティス アセスメントの設定を開く方法を示すスクリーンショット。

    別の方法として、左側のウィンドウで [概要] を選択し、[機能] タブを選択し、[ベスト プラクティス アセスメント]を選択します。

  3. [Log Analytics ワークスペース] ドロップダウン リストで、ワークスペースを選択します。

    SQL Server ベスト プラクティス アセスメントの Log Analytics ワークスペースを指定するボックスを示すスクリーンショット。

    Log Analytics ワークスペースが作成されていない場合、リソース グループまたはサブスクリプションのログ分析共同作成者ロールが割り当てられていない場合、オンデマンドの SQL Server 評価を開始できません。 前提条件については、こちらをご覧ください。

  4. [評価の有効化] を選択します。

    Azure Arc 対応 SQL Server のリソースのベスト プラクティス アセスメントを有効にするボタンを示すスクリーンショット。

    セットアップと構成に数分かかる場合があります。 このプロセスが完了すると、ベスト プラクティス アセスメントは、マシンで実行されているすべての SQL Server インスタンスに対して有効になり、SQL Server ホストを包括的に評価できます。

  5. 機能が正常に有効になっていることを確認します。 既定では、評価は毎週日曜日の現地時刻の午前 12 時に実行されるようにスケジュールされています。

    Azure Arc 対応 SQL Server のリソースのベスト プラクティス アセスメントの有効化の成功を示すスクリーンショット。

Azure Policy を使うことで大規模にベスト プラクティス アセスメントを有効にする

SQL ベスト プラクティス アセスメントを有効または無効にするように、SQL Server 拡張機能がインストールされた Arc 対応サーバーを構成する」という Azure Policy の定義を使って、複数の Azure Arc 対応 SQL Server インスタンスで大規模にベスト プラクティス アセスメントを自動的に有効にできます。

このポリシー定義は、既定ではスコープに割り当てられません。 このポリシー定義を任意のスコープに割り当てると、定義されたスコープ内のすべての Azure Arc 対応 SQL Server インスタンスでベスト プラクティス アセスメントが有効になります。 既定では、評価は毎週日曜日の現地時刻の午前 12 時に実行されるようにスケジュールされています。

  1. Azure portal では、[Azure Policy]>[定義] に移動します。

  2. [SQL ベスト プラクティス アセスメントを有効または無効にするように、SQL Server 拡張機能がインストールされた Arc 対応サーバーを構成する] を検索し、そのポリシーを選びます

  3. [割り当て] を選択します。

  4. スコープを選びます。

  5. [次へ] を選択します。

  6. [パラメーター] タブで、次の操作を行います。

    1. [レビューに入力が必要なパラメーターのみを表示する] チェック ボックスがまだオンになっていない場合は、オンにします。
    2. [Log Analytics ワークスペース][Log Analytics ワークスペースの場所] をそれぞれのドロップダウン メニューから選びます。
    3. ベスト プラクティス アセスメントを有効にするには、[有効] の値を true に設定します。 (この値を false に設定すると評価が無効になります。)
    4. [次へ] を選択します。
  7. [修復] タブで:

    1. [修復タスクを作成する] を選択します。
    2. [システム割り当てマネージド ID] (推奨) または [ユーザー割り当てマネージド ID] を選びます。
  8. [確認および作成] を選択します。

  9. [作成] を選択します

Azure portal または任意の API を使用して Azure Policy を割り当てる方法に関する一般的な手順については、「Azure Policy のドキュメント」を参照してください。

Note

SQL Server リソースとは異なるリソース グループから Log Analytics ワークスペースを選択する場合は、サブスクリプション全体を Azure Policy のスコープにする必要があります。

ライセンスの種類を変更する

SQL Server のインスタンスが ライセンスのみ の種類のライセンスで構成されている場合は、ベスト プラクティス アセスメントを構成するためにライセンスの種類を変更する必要があります。 ポータルの [ベスト プラクティス アセスメント] ウィンドウで、[ライセンスの種類の変更] を選択します。 詳細については、「Azure Arc によって有効化された SQL Server を構成する」を参照してください。

Azure portal でライセンスの種類を変更するためのボタンのスクリーンショット。

ベスト プラクティス アセスメントを管理する

ベスト プラクティス アセスメントを有効にしたら、[ベスト プラクティス アセスメント] ウィンドウで、必要に応じて評価を実行または構成できます。

Note

特定の SQL Server インスタンスで以下のいずれかのタスクを実行すると、タスクはそのマシンで実行されているすべての SQL Server インスタンスに適用されます。

  • ポータルから必要に応じて評価を実行するには、[評価の実行] を選びます。

    評価を実行するためのボタンを示すスクリーンショット。

  • 評価結果を表示するには、 [評価結果の表示] ボタンを選択します。

    [評価結果の表示] は、Log Analytics ワークスペースで結果の準備ができるまで非アクティブになっています。 この処理には、ターゲット マシンでデータ ファイルが処理されてから最大 2 時間かかることがあります。

  • アセスメントをスケジュールするには、[構成] を選択し、必要に応じて情報を変更してから、[アセスメントのスケジュール] を選択します。

    評価スケジュールを構成するためのウィンドウを示すスクリーンショット。

  • 評価を無効にするには、[構成]>[評価を無効にする] を選びます。

    評価を無効にするボタンを示すスクリーンショット。

ベスト プラクティス評価の結果を表示する

結果を表示するには、[ベスト プラクティス アセスメント] ウィンドウで、行項目のいずれかを選ぶことができます。

結果

[結果] ウィンドウでは、すべての問題が、マシンで実行されているすべての SQL Server インスタンスに対する重大度に基づいて分類されて報告されます。 マシンで実行されている SQL Server インスタンスと、アセスメントの実行日時について、結果ビューの対象を切り替えるには、メニューの [インスタンス名][収集] を使うことができます。

推奨事項は、実行間の進行状況を追跡するのに役立つ次のタブに編成されています:

  • すべて: 現在選択されている実行のすべての推奨事項。
  • 新規: 前回の実行と比較した新しい推奨事項。
  • 解決済み: 以前の実行の推奨事項が解決されました。
  • 分析情報: 最も頻発している問題と問題の数が最も多いデータベース。

グラフでは、評価の結果を重大度カテゴリ (、及び 情報) にグループ化します。 各カテゴリを選択して推奨事項の一覧を表示するか、検索ボックスでキー フレーズを検索します。 最も厳しい推奨事項から始め、一覧に移動するのが最善です。

最初のグリッドに、各推奨事項と、問題が報告された環境で影響を受けるインスタンスが表示されます。 最初のグリッド内の行を選択すると、2 番目のグリッドに、その特定の推奨事項に対して影響を受けるすべてのインスタンスが表示されます。 推奨事項を選択しない場合、2 番目のグリッドには、すべての推奨事項が表示されます。

これで、以下のアクションを実行できます:

  • 評価で多数の推奨事項が報告される場合は、結果をフィルター処理できます。 結果をフィルター処理するには、グリッドの上にあるドロップダウン リスト メニューを使用して、[名前][重大度]、または [ID チェック] を選択します。

  • 結果をダウンロードするには、[Excel にエクスポート] を使います。

  • Log Analytics で結果を開くには、[Open the last run query in the Logs view] (最後に実行されたクエリをログ ビューで開く) を使います。

  • システムが既に従っている推奨事項を表示するには、グラフの パスされた セクションを確認します。

  • 各推奨事項の詳細情報を表示するには、長い説明や関連するオンライン リソースなど、[メッセージ] を選択します。

[傾向] ウィンドウでは、すべての問題、新しい問題、解決された問題の 3 つのグラフが、経時変化を示すために使用されます。 グラフは、進行状況を確認するのに役立ちます。

理想的なのは、推奨事項の数が減り、解決された問題の数が増えることです。 凡例には、各重大度レベルの問題の平均数が表示されます。 バーをポイントすると、実行ごとの個々の値が表示されます。

1 日に複数の実行がある場合、最新の実行だけが [傾向] ウィンドウのグラフに 含まれます。

考慮事項

  • ベスト プラクティス アセスメントは現在、Windows マシンで実行されている SQL Server に限定されています。 この評価は、Linux マシン上の SQL Server on Linux では機能しません。

  • [ベスト プラクティス アセスメント] ウィンドウで、アセスメントの前回の実行の履歴を事前設定するには、数秒かかる場合があります。

  • Log Analytics ワークスペースのクエリを直接実行して、評価結果を表示することもできます。 クエリの例については、「Azure Arc 対応 SQL Server リソースのベスト プラクティス アセスメントでのブログ投稿」をご覧ください。

  • Azure Policy によって非準拠の Azure Arc 対応 SQL Server リソースの修復が行われている間は、他の拡張機能の構成を変更しないでください。 ポリシーの修復タスクの進行状況を追跡します

トラブルシューティング

トラブルシューティング ガイド」をご覧ください。