パフォーマンスに関する推奨事項の検索と適用Find and apply performance recommendations

Azure Portal を使って、Azure SQL Database のパフォーマンスを最適化できるパフォーマンスの推奨事項を調べたり、ワークロードで見つかった問題を修正したりできます。You can use the Azure portal to find performance recommendations that can optimize performance of your Azure SQL Database or to correct some issue identified in your workload. Azure Portal の [パフォーマンスの推奨事項] ページでは、潜在的な影響に基づいて上位の推奨事項を検索することができます。Performance recommendation page in Azure portal enables you to find the top recommendations based on their potential impact.

推奨事項の表示Viewing recommendations

パフォーマンスの推奨事項を表示して適用するには、Azure の適切なロールベースのアクセス制御アクセス許可が必要です。To view and apply performance recommendations, you need the correct role-based access control permissions in Azure. 推奨事項を表示するには、リーダー権限と SQL DB の共同作成者権限が必要です。また、インデックスの作成または削除、およびインデックス作成のキャンセルなどのアクションを実行するには、所有者権限と SQL DB の共同作成者権限が必要です。Reader, SQL DB Contributor permissions are required to view recommendations, and Owner, SQL DB Contributor permissions are required to execute any actions; create or drop indexes and cancel index creation.

Azure Portal でパフォーマンスに関する推奨事項を調べるには、次の手順のようにします。Use the following steps to find performance recommendations on Azure portal:

  1. Azure Portal にサインインします。Sign in to the Azure portal.
  2. [すべてのサービス] > [SQL Database] の順に移動し、データベースを選択します。Go to All services > SQL databases, and select your database.
  3. [パフォーマンスの推奨事項] に移動し、選択したデータベースで使用できる推奨事項を表示します。Navigate to Performance recommendation to view available recommendations for the selected database.

パフォーマンスの推奨事項は、次の図のようなテーブルに表示されます。Performance recommendations are shown in the table similar to the one shown on the following figure:

Recommendations

推奨事項は、パフォーマンスへの潜在的な影響ごとに、次のカテゴリの順に表示されます。Recommendations are sorted by their potential impact on performance into the following categories:

影響Impact 説明Description
High 高い影響を及ぼすお勧め候補は、パフォーマンスに最も重要な影響を与えます。High impact recommendations should provide the most significant performance impact.
MediumMedium 中程度の影響を及ぼすおすすめ候補は、パフォーマンスを向上しますが、それほど著しい向上ではありません。Medium impact recommendations should improve performance, but not substantially.
Low 低い影響を及ぼすおすすめ候補は、推奨事項を行わない場合よりも優れたパフォーマンスを提供しますが、大きくは改善されない可能性があります。Low impact recommendations should provide better performance than without, but improvements might not be significant.

注意

何らかの推奨事項を見つけるには、Azure SQL Database は 1 日以上アクティビティを監視する必要があります。Azure SQL Database needs to monitor activities at least for a day in order to identify some recommendations. Azure SQL Database は、ランダムでむらのある瞬間的なアクティビティよりも、一貫性のあるアクティビティのクエリ パターンをより簡単に最適化できます。The Azure SQL Database can more easily optimize for consistent query patterns than it can for random spotty bursts of activity. 現時点で提示できる推奨事項がない場合は、[パフォーマンスの推奨事項] ページに、その理由を説明するメッセージが表示されます。If recommendations are not currently available, the Performance recommendation page provides a message explaining why.

さらに、これまでに行った操作の状態も確認できます。You can also view the status of the historical operations. 推奨事項または状態を選択すると、その詳細が表示されます。Select a recommendation or status to see more information.

Azure Portal での "インデックスの作成" に関する推奨事項の例を次に示します。Here is an example of "Create index" recommendation in the Azure portal.

インデックスの作成

推奨事項の適用Applying recommendations

Azure SQL Database では、次の 3 つのオプションのいずれかを使用して、推奨事項を有効にする方法を完全に制御できます。Azure SQL Database gives you full control over how recommendations are enabled using any of the following three options:

  • 個々の推奨事項を 1 つずつ適用する。Apply individual recommendations one at a time.
  • 自動チューニングを有効にして推奨事項を自動的に適用する。Enable the Automatic tuning to automatically apply recommendations.
  • 推奨事項を手作業で実装するため、推奨される T-SQL スクリプトをデータベースに対して実行する。To implement a recommendation manually, run the recommended T-SQL script against your database.

任意の推奨インデックスを選択すると、その詳細が表示されます。その後、[スクリプトの表示] をクリックして、推奨事項の作成方法の詳細を確認します。Select any recommendation to view its details and then click View script to review the exact details of how the recommendation is created.

推奨設定が適用されている間、データベースはオンラインのままになります。パフォーマンスの推奨設定または自動チューニングを使っても、データベースがオフラインになることはありません。The database remains online while the recommendation is applied -- using performance recommendation or automatic tuning never takes a database offline.

個々の推奨事項を適用するApply an individual recommendation

推奨事項は、1 つずつ確認して受け入れることができます。You can review and accept recommendations one at a time.

  1. [推奨事項] ページで、推奨事項を選びます。On the Recommendations page, select a recommendation.

  2. [詳細] ページで、[適用] ボタンをクリックします。On the Details page, click Apply button.

    Apply recommendation

選んだ推奨事項がデータベースに適用されます。Selected recommendation are applied on the database.

一覧からの推奨事項の削除Removing recommendations from the list

推奨事項の一覧に削除したい項目が含まれている場合は、その項目を破棄することができます。If your list of recommendations contains items that you want to remove from the list, you can discard the recommendation:

  1. [推奨事項] の一覧で推奨事項を選び、詳細を開きます。Select a recommendation in the list of Recommendations to open the details.
  2. [詳細] ページで [破棄] をクリックします。Click Discard on the Details page.

必要な場合は、破棄した項目をもう一度 [推奨事項] の一覧に追加できます。If desired, you can add discarded items back to the Recommendations list:

  1. [推奨事項] ページで [破棄された内容の表示] をクリックします。On the Recommendations page, click View discarded.
  2. 破棄した項目を一覧から選択し、その詳細を表示します。Select a discarded item from the list to view its details.
  3. 必要に応じて、[破棄を元に戻す] をクリックして、インデックスを [推奨事項] の主な一覧に戻します。Optionally, click Undo Discard to add the index back to the main list of Recommendations.

注意

SQL Database の自動チューニングが有効で、一覧から推奨事項を手動で破棄した場合、このような推奨事項は自動的に適用されません。Please note that if SQL Database Automatic tuning is enabled, and if you have manually discarded a recommendation from the list, such recommendation will never be applied automatically. 推奨事項の破棄は、特定の推奨事項を適用しない必要がある場合にユーザーが自動チューニングを有効にできる便利な方法です。Discarding a recommendation is a handy way for users to have Automatic tuning enabled in cases when requiring that a specific recommendation shouldn’t be applied. この動作は、[破棄を元に戻す] オプションを選択して、破棄した推奨事項を推奨事項の一覧に再び追加すれば元に戻すことができます。You can revert this behavior by adding discarded recommendations back to the Recommendations list by selecting the Undo Discard option.

自動チューニングの有効化Enable automatic tuning

推奨事項を自動的に実装するように Azure SQL Database を設定できます。You can set the Azure SQL Database to implement recommendations automatically. 推奨事項は、利用可能になると自動的に適用されます。As recommendations become available, they are automatically applied. サービスによって管理されるすべての推奨事項と同様に、パフォーマンスに悪影響が生じる場合は、推奨事項は元に戻されます。As with all recommendations managed by the service, if the performance impact is negative, the recommendation is reverted.

  1. [推奨事項] ページで [自動化] をクリックします。On the Recommendations page, click Automate:

    Advisor settings

  2. 自動化するアクションを選択します。Select actions to automate:

    推奨インデックス

注意

DROP_INDEX オプションは現在パーティション切り替えやインデックス ヒントを使用するアプリケーションと互換性がありません。Please note that DROP_INDEX option is currently not compatible with applications using partition switching and index hints.

目的の構成を選択したら、[適用] をクリックします。Once you have selected your desired configuration, click Apply.

T-SQL を使い手動で推奨事項を適用するManually apply recommendations through T-SQL

任意の推奨事項を選択し、 [スクリプトの表示] をクリックします。Select any recommendation and then click View script. データベースに対してこのスクリプトを実行し、推奨インデックスを手動で適用します。Run this script against your database to manually apply the recommendation.

手動で実行されたインデックスは、パフォーマンスへの影響についてサービスによる監視や検証が行われません。 そのため、作成後にこれらのインデックスを監視して、パフォーマンスが向上するかどうかを検証し、必要に応じて調整または削除することをお勧めします。Indexes that are manually executed are not monitored and validated for performance impact by the service so it is suggested that you monitor these indexes after creation to verify they provide performance gains and adjust or delete them if necessary. インデックスの作成方法の詳細については、「 CREATE INDEX (TRANSACT-SQL)」を参照してください。For details about creating indexes, see CREATE INDEX (Transact-SQL). また、手動で適用した推奨事項は、24 から48 時間、アクティブな状態のまま推奨事項の一覧に表示された後、In addition, manually applied recommendations will remain active and shown in the list of recommendations for 24-48 hrs. 自動的に取り消されます。before the system automatically withdraws them. それよりも前に推奨事項を削除したい場合は、手動で破棄してください。If you would like to remove a recommendation sooner, you can manually discard it.

推奨事項のキャンセルCanceling recommendations

状態が保留中検証中、または成功の推奨事項はキャンセルすることができます。Recommendations that are in a Pending, Validating, or Success status can be canceled. ただし、 実行中 の状態の推奨事項はキャンセルできないのでご注意ください。Recommendations with a status of Executing cannot be canceled.

  1. [チューニングの履歴] 領域の推奨事項を選択して、[推奨事項の詳細] ページを開きます。Select a recommendation in the Tuning History area to open the recommendations details page.
  2. [キャンセル] をクリックして推奨事項の適用プロセスを中止します。Click Cancel to abort the process of applying the recommendation.

操作の監視Monitoring operations

推奨事項の適用は、瞬時に行われない場合があります。Applying a recommendation might not happen instantaneously. ポータルには、推奨事項の状態に関する詳細情報が表示されます。The portal provides details regarding the status of recommendation. インデックスは次のいずれかの状態になります。The following are possible states that an index can be in:

StatusStatus 説明Description
保留中Pending 推奨インデックスの適用コマンドは受信済みで、実行が予定されています。Apply recommendation command has been received and is scheduled for execution.
実行中Executing 推奨事項は適用中です。The recommendation is being applied.
ValidatingValidating 推奨事項が正常に適用され、サービスは効果を測定しています。Recommendation was successfully applied and the service is measuring the benefits.
SuccessSuccess 推奨事項が正常に適用され、効果が測定されました。Recommendation was successfully applied and benefits have been measured.
ErrorError 推奨インデックスの適用プロセス中にエラーが発生しました。An error occurred during the process of applying the recommendation. 一時的な問題か、またはテーブルおよびスクリプトへのスキーマの変更が無効になっている可能性があります。This can be a transient issue, or possibly a schema change to the table and the script is no longer valid.
復元Reverting 推奨インデックスは適用されましたが、非効率なインデックスと見なされたため、自動的に元に戻されています。The recommendation was applied, but has been deemed non-performant and is being automatically reverted.
復元済みReverted 推奨事項は元に戻されました。The recommendation was reverted.

一覧内で処理中の推奨事項をクリックすると、その詳細が表示されます。Click an in-process recommendation from the list to see more information:

推奨インデックス

推奨事項を元に戻すReverting a recommendation

パフォーマンスの推奨事項を使って推奨事項を適用した場合 (つまり、T-SQL スクリプトを手動で実行していない場合)、パフォーマンスへの悪影響が見つかると、変更は自動的に元に戻されます。If you used the performance recommendations to apply the recommendation (meaning you did not manually run the T-SQL script), it automatically reverts the change if it finds the performance impact to be negative. 何らかの理由で推奨事項を元に戻すには、次の手順を実行します。If for any reason you simply want to revert a recommendation, you can do the following:

  1. [チューニングの履歴] 領域で、正常に適用された推奨事項を選択します。Select a successfully applied recommendation in the Tuning history area.
  2. [推奨事項の詳細] ページで [元に戻す] をクリックします。Click Revert on the recommendation details page.

推奨インデックス

インデックスの推奨によるパフォーマンスへの影響の監視Monitoring performance impact of index recommendations

推奨事項が正常に実装されたら (現時点では、インデックスの操作とクエリのパラメーター化に関する推奨事項のみ)、[推奨事項の詳細] ページの [クエリの洞察] をクリックして Query Performance Insight を開き、よく使用されるクエリによるパフォーマンスへの影響を確認します。After recommendations are successfully implemented (currently, index operations and parameterize queries recommendations only), you can click Query Insights on the recommendation details page to open Query Performance Insights and see the performance impact of your top queries.

Monitor performance impact

まとめSummary

Azure SQL Database は、データベースのパフォーマンス向上のための推奨事項を提供します。Azure SQL Database provides recommendations for improving SQL database performance. T-SQL スクリプトが備わっているため、データベースを最適化して最終的にクエリのパフォーマンスを向上させるのに役立ちます。By providing T-SQL scripts, you get assistance in optimizing your database and ultimately improving query performance.

次の手順Next steps

推奨事項を監視し、引き続きパフォーマンスの調整対象とします。Monitor your recommendations and continue to apply them to refine performance. データベースのワークロードは動的であり、継続的に変化します。Database workloads are dynamic and change continuously. Azure SQL Database は、お使いのデータベースのパフォーマンスを向上させる可能性がある推奨事項の監視と提供を継続します。Azure SQL Database continues to monitor and provide recommendations that can potentially improve your database's performance.

その他のリソースAdditional resources