次の方法で共有


Azure portal で自動チューニングを使用してクエリを監視し、ワークロードのパフォーマンスを向上させる

適用対象:Azure SQL DatabaseAzure SQL Managed Instance

Azure SQL Database では、データ サービスが自動的に管理されます。データ サービスが常にクエリを監視し、ワークロードのパフォーマンスを向上させるために実行できるアクションを識別します。 推奨事項を確認して手動で適用することも、Azure SQL Database に自動的に修正アクションを適用することもできます。 これは、自動チューニング モード と呼ばれます。

サーバーまたはデータベース レベルで自動チューニングを有効にすることができます。次の方法があります。

Note

Azure SQL Managed Instance の場合、サポートされているオプション FORCE_LAST_GOOD_PLAN は、T-SQLを使用してのみ構成できます。 この記事で説明する Azure portal ベースの構成とインデックスの自動チューニング オプションは、Azure SQL Managed Instance には適用されません。

現時点では、Azure Resource Manager (ARM) テンプレートを使用した自動チューニング オプションの構成はサポートされていません。

サーバーでの自動チューニングの有効化

サーバー レベルでは、"Azure Defaults" から自動チューニング構成を継承するか、または構成を継承しないことを選択できます。 Azure の既定値は FORCE_LAST_GOOD_PLAN 有効、CREATE_INDEX 無効、DROP_INDEX 無効です。

Azure portal

Azure SQL Database のサーバーで自動チューニングを有効にするには、Azure portal でサーバーに移動し、メニューで [自動チューニング] を選択します。

スクリーンショットは、サーバーのオプションを適用できる Azure portal での自動チューニングを示しています。

次のように、有効にする自動チューニング オプションを選択し、 [適用] を選択します。

サーバーの自動チューニング オプションは、このサーバー上のすべてのデータベースに適用されます。 既定では、すべてのデータベースがその親サーバーから構成を継承しますが、これをオーバーライドし、各データベースに対して個別に指定することができます。

REST API

REST API を使用してサーバーの自動チューニングを有効にする方法については、サーバーの自動チューニングの UPDATE メソッドと GET HTTP メソッドに関するページを参照してください。

現時点では、Azure Resource Manager (ARM) テンプレートを使用した自動チューニング オプションの構成はサポートされていません。

個々のデータベースで自動チューニングを有効にする

Azure SQL Database では、各データベースの自動チューニング構成を個別に指定することができます。 自動チューニングの構成を親サーバーから継承するか、[Azure の既定値] から継承するか、または構成を継承しないかをデータベース レベルで選択できます。 これらの既定値は次のとおりです。

  • FORCE_LAST_GOOD_PLAN が有効になっている
  • CREATE_INDEX が無効になっている
  • DROP_INDEX が無効になっている

ヒント

一般的な推奨事項は、すべてのデータベースで同じ構成設定を自動的に適用できるように、サーバー レベルで自動チューニング構成を管理することです。 個々のデータベースの設定が、同じサーバーから設定を継承している他のデータベースの設定と異なるようにする必要がある場合にのみ、個々のデータベースで自動チューニングを構成します。

Azure portal

単一データベースで自動チューニングを有効にするには、Azure portal でデータベースに移動し、 [自動チューニング] を選択します。

個々の自動チューニング設定は、データベースごとに個別に構成できます。 個々の自動チューニング オプションを手動で構成したり、オプションがサーバーから設定を継承するように指定したりできます。

Azure portal での自動チューニングを示すスクリーンショット。ここでは、1 つのデータベースにオプションを適用できます。

目的の構成を選択したら、[適用]を選択します。

REST API

REST API を使用して単一データベースの自動チューニングを有効にする方法については、Azure SQL Database の自動チューニングの UPDATE メソッドと GET HTTP メソッドに関するページを参照してください。

現時点では、Azure Resource Manager (ARM) テンプレートを使用した自動チューニング オプションの構成はサポートされていません。

T-SQL

T-SQL から単一データベースの自動チューニングを有効にするには、データベースに接続して次のクエリを実行します。

ALTER DATABASE current SET AUTOMATIC_TUNING = AUTO | INHERIT | CUSTOM

自動チューニングを AUTO に設定すると、Azure の既定値が適用されます。 INHERITに設定すると、自動チューニング構成は親サーバーから継承されます。 CUSTOMを選択した場合は、自動チューニングを手動で構成する必要があります。

T-SQL を使用して個々の自動チューニング オプションを構成するには、データベースに接続し、次のクエリを実行します。

ALTER DATABASE CURRENT SET AUTOMATIC_TUNING (
    FORCE_LAST_GOOD_PLAN = ON,
    CREATE_INDEX = ON,
    DROP_INDEX = OFF
);

個々のチューニング オプションを ON に設定すると、データベースが継承した設定がオーバーライドされ、チューニング オプションが有効になります。 OFF に設定すると、データベースが継承した設定もオーバーライドされ、チューニング オプションが無効になります。 DEFAULT が指定されている自動チューニング オプションは、サーバー レベルの設定から自動チューニング構成を継承します。

重要

アクティブ geo レプリケーションの場合、自動チューニングは、プライマリ データベースでのみ構成する必要があります。 インデックスの作成や削除など、自動的に適用されるチューニング アクションは、geo セカンダリに自動的にレプリケートされます。 読み取り専用セカンダリで T-SQL を使用して自動チューニングを有効にしようとすると、読み取り専用セカンダリで別のチューニング構成がサポートされていないため、エラーが発生します。

自動チューニングを構成するための T-SQL オプションの詳細については、「ALTER DATABASE SET オプション を参照してください。

トラブルシューティング

レコメンデーションの自動管理が無効になっている

自動推奨管理が無効にされたか、システムによって無効にされたというエラー メッセージが表示される場合、最も一般的な原因は次のとおりです。

  • クエリ ストアが有効になっていない、または
  • クエリ ストアが、指定されたデータベースに対して読み取り専用モードになっている、または
  • クエリ ストアの割り当てられたストレージ スペースが不足したため、実行を停止した

この問題を修正するには、次の手順を検討してください。

  • クエリ ストアをクリーンアップするか、T-SQL を使用してデータ保持期間を "auto" に変更するか、クエリ ストアの最大サイズを増やします。 クエリ ストアに推奨される保持期間とキャプチャ ポリシーを構成する方法については、こちらを参照してください。

  • SQL Server Management Studio (SSMS) を使用し、次の手順に従います。

    1. Azure SQL データベースに接続します。
    2. データベースを右クリックします。
    3. プロパティ に移動し、クエリ ストア 選択します。
    4. 操作モードのの読み取り/書き込みに変更します。
    5. ストアキャプチャモードの を自動 に変更します。
    6. サイズ ベースのクリーンアップ モードの を自動 に変更します。

アクセス許可

Azure SQL Database の場合、Azure portal で自動チューニングを管理する場合、または PowerShell または REST API を使用するには、組み込みの Azure ロールベースのアクセス制御 (RBAC) ロールのメンバーシップが必要です。

自動チューニングを管理するために、ユーザーに付与する必要がある最小限のアクセス許可は、SQL Database 共同作成者ロールのメンバーシップです。 また、SQL Server 共同作成者、共同作成者、所有者など、上位の特権ロールの使用を検討することもできます。

T-SQL で自動チューニングを管理するために必要なアクセス許可については、「のアクセス許可ALTER DATABASE」を参照してください。

メール通知の自動チューニングの構成

自動チューニングによって作成されたレコメンデーションに関する通知を電子メールで自動的に受信するには、自動チューニングの電子メール通知ガイドを参照してください。