SQL ベスト プラクティス アセスメントを構成する - Azure Arc によって有効化された SQL Server

適用対象:SQL Server

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

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

評価の実行時間は、環境 (データベースやオブジェクトの数など) に依存し、数分から最大 1時間の期間があります。 同様に、評価結果のサイズも環境によって異なります。 評価は、インスタンスと、そのインスタンス上のすべてのデータベースに対して実行されます。 このテストでは、評価の実行がコンピューターに最大5-10% の CPU 影響を与えることを確認しました。 これらのテストでは、SQL Server に対して TPC-C などのアプリケーションが実行されている間に評価が行われました。

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

重要

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

適切なライセンスの種類を構成する手順については、「SQL Server のライセンスと課金オプションを管理する」を参照してください。

前提条件

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

    Note

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

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

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

    ヒント

    バージョンをチェックし、最新のバージョンに更新するには、アップグレード拡張機能を確認します。

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

  • Log Analytics ワークスペースは、Azure Arc リソースによって有効になっている SQL Server と同じサブスクリプション内にある必要があります。

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

    • Log Analytics ワークスペースのリソース グループまたはサブスクリプションに対する Log Analytics 共同作成者ロール。
    • Arc 対応 SQL Server のリソース グループまたはサブスクリプションに対する Azure Connected Machine リソース管理者ロール。
    • Log Analytics ワークスペースとリソース グループまたはサブスクリプションと、Arc マシンのリソース グループまたはサブスクリプションに対する監視共同作成者ロール。
    • 共同作成者や所有者などの組み込みロールに割り当てられたユーザーには、十分なアクセス許可があります。 詳細については、「Azure portal を使用して Azure ロールを割り当てる」を確認してください。
  • 評価レポートにアクセスしたりそれを読んだりするために必要な最小限のアクセス許可は、次のとおりです。

    • Arc 対応 SQL Server リソースのリソース グループまたはサブスクリプションに対する閲覧者ロール。

    • 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 BPA では、Azure Monitor エージェント (AMA) を使用して、SQL サーバーからデータを収集および分析します。 BPA を有効にする前に SQL サーバーに AMA がインストールされている場合、BPA は同じ AMA エージェントとプロキシ設定を使用します。 他に何も行う必要はありません。 ただし、SQL サーバーに AMA がインストールされていない場合は、BPA によってインストールされます。 BPA は AMA のプロキシ設定を自動的に設定しません。 必要なプロキシ設定を使用して AMA を再デプロイする必要があります。 AMA ネットワークとプロキシの設定の詳細については、「AMA ネットワークの設定とプロキシの構成」に関するセクションを参照してください。

  • "Configure Arc-enabled Servers with SQL Server extension installed to enable or disable SQL best practices assessment" (SQL ベスト プラクティス アセスメントを有効または無効にするように、SQL Server 拡張機能がインストールされた Arc 対応サーバーを構成する) Azure ポリシーを使って大規模に評価を有効にする場合は、Azure Policy の割り当てを作成する必要があります。 サブスクリプションには、対象にしているスコープに対するリソース ポリシー共同作成者ロールの割り当てが必要です。 サブスクリプションまたはリソース グループをスコープにすることができます。 さらに、新しいユーザー割り当てマネージド ID を作成する場合は、サブスクリプションにユーザー アクセス管理者ロールの割り当てが必要です。

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

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

  2. Arc 対応 SQL Server のリソースを開き、左側のペインで [ベスト プラクティス アセスメント] または [概要] ページの [機能] タブの [ベスト プラクティス アセスメント] タブを選択します。

    Screenshot showing how to enable the best practices assessment screen of an Arc-enabled SQL Server resource.

  3. Log Analytics ワークスペースが作成されていない場合、または現在のユーザーにリソース グループまたはサブスクリプションの Log Analytics 共同作成者ロールが割り当てられていない場合、オンデマンドの SQL Assessment を開始できません。 前提条件を確認します。

    Screenshot showing how to specify the Log Analytics workspace for SQL Server best practices assessment.

  4. ドロップダウン メニューから [Log Analytics ワークスペース] を選択し、[評価の有効化] を選択します。

    Screenshot showing the enable best practices assessment screen of an Arc-enabled SQL Server resource.

    Note

    評価を有効にした後、セットアップと構成に数分かかる場合があります。

    ベスト プラクティスの評価は、マシンで実行されているすべての SQL Server インスタンスに対して有効になり、SQL Server ホストを包括的に評価します。

  5. ベスト プラクティス アセスメントのデプロイが成功すると、既定では、毎週日曜日の午前 12 時 (現地時刻) に評価が実行されるようにスケジュールされます。

    Screenshot showing the successful enablement of best practices assessment of an Arc-enabled SQL Server resource.

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

"Configure Arc-enabled Servers with SQL Server extension installed to enable or disable SQL best practices assessment" (SQL ベスト プラクティス アセスメントを有効または無効にするように、SQL Server 拡張機能がインストールされた Arc 対応サーバーを構成する) という Azure ポリシー定義を使って、複数の Arc 対応 SQL Server インスタンスで大規模にベスト プラクティス アセスメントを自動的に有効にできます。このポリシー定義は、既定ではスコープに割り当てられません。 このポリシー定義を任意のスコープに割り当てると、定義されたスコープ内のすべての Arc 対応 SQL Server インスタンスで SQL ベスト プラクティス アセスメントが有効になり、既定ではローカル時刻で毎週日曜日の午前 0 時に自動的にスケジュールされます。

重要

ポリシーでは、ソフトウェア アシュアランスまたは従量課金制 (PAYG) ライセンス オプションを使用して購入した SQL Server インスタンスについてのみ、ベスト プラクティス アセスメントが有効になります。

適切なライセンスの種類を構成する手順については、「SQL Server のライセンスと課金オプションを管理する」を参照してください。

  1. Azure portal で [Azure Policy] に移動し、[定義] を選択します。
  2. "Configure Arc-enabled Servers with SQL Server extension installed to enable or disable SQL best practices assessment" (SQL ベスト プラクティス アセスメントを有効または無効にするように、SQL Server 拡張機能がインストールされた Arc 対応サーバーを構成する) を検索し、そのポリシーを選びます。
  3. [割り当て] を選択します。
  4. スコープを選びます。
  5. [次へ] を選択します。
  6. [パラメーター] タブで、[Only show parameters that need input for review] (レビューに入力が必要なパラメーターのみを表示する) チェック ボックスがまだオンになっていない場合はオンにします。
    1. [Log Analytics ワークスペース][Log Analytics ワークスペースの場所] をそれぞれのドロップダウン メニューから選びます。
    2. ベスト プラクティス アセスメントを有効にするには、[有効] の値を true に設定します。 アセスメントを無効にするには、false に設定します。
    3. [次へ] を選択します
  7. [修復] タブで、[修復タスクを作成する] を選びます。
  8. [システム割り当てマネージド ID] (推奨) または [ユーザー割り当てマネージド ID] を選びます。
  9. [確認および作成] を選択します。
  10. [作成] を選択します

Azure portal または任意の API を使用して Azure ポリシーを割り当てる方法については、「Azure Policy のドキュメント」を参照してください。

Note

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

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

SQL Server のインスタンスがライセンスのみの種類のライセンスで構成されている場合は、ベスト プラクティス アセスメントを構成するためにライセンスの種類を変更する必要があります。 詳しくは、「SQL Server のライセンスと課金オプションを管理する」を参照してください。

Screenshot of Azure portal change license type.

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

ベスト プラクティスの評価を有効にしたら、必要に応じて評価を実行または構成できます。

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

    Screenshot showing run assessment.

    Note

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

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

    Screen shot showing configuration control and schedule control.

  • 評価のスケジュールを設定するには、[構成]>[評価のスケジュール設定] を選びます。

    Screen shot showing configuration control and disable assessment control.

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

ベスト プラクティス アセスメントの結果を表示する

  • [Best practices assessment] (ベスト プラクティス評価) ペインで、個々の行項目のいずれかを選んで結果を表示します。

[結果] ページ

[結果] ページでは、すべての問題が、マシンで実行されているすべての 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 では機能しません。
  • ベスト プラクティスのホーム ページで評価の前回の実行の履歴を設定するには、数秒かかる場合があります。
  • 評価結果は、Log Analytics ワークスペースのクエリを直接実行して表示することもできます。 クエリの例については、「ベスト プラクティス評価 - Arc 対応 SQL Server」をご覧ください。
  • Azure ポリシーによって非準拠の Arc 対応 SQL Server リソースの修復が行われている間は、他の拡張機能の構成を変更しないでください。 Azure ポリシー修復タスクの進行状況を追跡してください。

トラブルシューティング

詳細については、トラブルシューティング ガイドを参照してください。