AI を使用してデータベース パフォーマンスの監視とトラブルシューティングを行う Intelligent InsightsIntelligent Insights using AI to monitor and troubleshoot database performance

Azure SQL Database Intelligent Insights では、SQL Database と Managed Instance データベースのパフォーマンスに起きていることを把握できます。Azure SQL Database Intelligent Insights lets you know what is happening with your SQL Database and Managed Instance database performance.

Intelligent Insights は、組み込まれているインテリジェンスを使って、人工知能によりデータベースの使用状況を継続的に監視し、パフォーマンス低下の原因となる破壊的なイベントを検出します。Intelligent Insights uses built-in intelligence to continuously monitor database usage through artificial intelligence and detect disruptive events that cause poor performance. 検出されると、詳細な分析が実行され、問題のインテリジェントなアセスメントを含む診断ログが生成されます。Once detected, a detailed analysis is performed that generates a diagnostics log with an intelligent assessment of the issue. このアセスメントは、データベース パフォーマンスの問題の根本原因分析と、可能な場合にはパフォーマンス向上に関する推奨事項で構成されます。This assessment consists of a root cause analysis of the database performance issue and, where possible, recommendations for performance improvements.

Intelligent Insights でできることWhat can Intelligent Insights do for you

Intelligent Insights は、Azure の組み込みインテリジェンスの固有の機能であり、次の価値を提供します。Intelligent Insights is a unique capability of Azure built-in intelligence that provides the following value:

  • プロアクティブな監視Proactive monitoring
  • カスタマイズされたパフォーマンスの洞察Tailored performance insights
  • データベースのパフォーマンス低下の早期検出Early detection of database performance degradation
  • 検出された問題の根本原因分析Root cause analysis of issues detected
  • パフォーマンス向上に関する推奨事項Performance improvement recommendations
  • 数十万のデータベースのスケールアウト機能Scale out capability on hundreds of thousands of databases
  • DevOps リソースと総保有コストに対する良い影響Positive impact to DevOps resources and the total cost of ownership

Intelligent Insights のしくみHow does Intelligent Insights work

Intelligent Insights は、過去 1 時間のデータベース ワークロードを過去 7 日間のベースライン ワークロードと比較して、データベースのパフォーマンスを分析します。Intelligent Insights analyzes database performance by comparing the database workload from the last hour with the past seven-day baseline workload. データベースのワークロードは、データベースのパフォーマンスに最も影響していると判断されたクエリから構成されます。たとえば、最も反復されているクエリや最大のクエリなどです。Database workload is composed of queries determined to be the most significant to the database performance, such as the most repeated and largest queries. 各データベースは、その構造体、データ、使用状況、アプリケーションに基づいて一意です。そのため、生成される各ワークロード ベースラインは個々のインスタンスに固有です。Because each database is unique based on its structure, data, usage, and application, each workload baseline that is generated is specific and unique to an individual instance. Intelligent Insights はワークロード ベースラインに依存せず、絶対的な運用しきい値も監視し、過剰な待機時間、重大な例外、パフォーマンスに影響を与える可能性のあるクエリ パラメーター化の問題を検出します。Intelligent Insights, independent of the workload baseline, also monitors absolute operational thresholds and detects issues with excessive wait times, critical exceptions, and issues with query parameterizations that might affect performance.

人工知能を使用して複数の監視対象メトリックからパフォーマンスの低下問題が検出されると、分析が実行されます。After a performance degradation issue is detected from multiple observed metrics by using artificial intelligence, analysis is performed. データベースで発生している状況のインテリジェントな洞察を含む診断ログが生成されます。A diagnostics log is generated with an intelligent insight on what is happening with your database. Intelligent Insights では、最初の出現から解決まで、データベース パフォーマンスの問題を簡単に追跡できます。Intelligent Insights makes it easy to track the database performance issue from its first appearance until resolution. 検出された各問題は、最初の問題検出からパフォーマンス向上の検証、その完了までのライフ サイクル全体を通じて追跡されます。Each detected issue is tracked through its lifecycle from initial issue detection and verification of performance improvement to its completion.

データベース パフォーマンスの分析ワークフロー

データベース パフォーマンスの問題の測定と検出に使用されるメトリックは、クエリ実行時間、タイムアウト要求、過剰な待機時間、エラーが発生した要求に基づきます。The metrics used to measure and detect database performance issues are based on query duration, timeout requests, excessive wait times, and errored requests. メトリックの詳細については、このドキュメントの「検出メトリック」を参照してください。For more information on metrics, see the Detection metrics section of this document.

特定された SQL Database のパフォーマンス低下は、次のプロパティで構成されるインテリジェントなエントリを含む診断ログに記録されます。Identified SQL Database performance degradations are recorded in the diagnostics log with intelligent entries that consist of the following properties:

プロパティProperty 詳細Details
データベース情報Database information リソース URI など、洞察が検出されたデータベースに関するメタデータMetadata about a database on which an insight was detected, such as a resource URI.
監視された時間の範囲Observed time range 検出された洞察の期間の開始日時と終了日時。Start and end time for the period of the detected insight.
影響を受けているメトリックImpacted metrics 洞察が生成される原因となったメトリック:Metrics that caused an insight to be generated:
  • クエリ実行時間の増加 [秒]。Query duration increase [seconds].
  • 過剰な待機 [秒]。Excessive waiting [seconds].
  • タイムアウト要求 [割合]。Timed-out requests [percentage].
  • エラーが発生した要求 [割合]。Errored-out requests [percentage].
影響値Impact value 測定されたメトリックの値。Value of a metric measured.
影響を受けているクエリとエラー コードImpacted queries and error codes クエリ ハッシュまたはエラー コード。Query hash or error code. これらは、影響を受けているクエリを簡単に関連付けるために使用できます。These can be used to easily correlate to affected queries. クエリ実行時間の増加、待機時間、タイムアウトの数、またはエラー コードで構成されるメトリックが提供されます。Metrics that consist of either query duration increase, waiting time, timeout counts, or error codes are provided.
検出Detections イベントの期間中に、データベースで識別された検出。Detection identified at the database during the time of an event. 15 の検出パターンがあります。There are 15 detection patterns. 詳細については、Intelligent Insights を使用したデータベース パフォーマンスに関する問題のトラブルシューティングに関する記事をご覧ください。For more information, see Troubleshoot database performance issues with Intelligent Insights.
根本原因分析Root cause analysis 人間が判読可能な形式で特定された、問題の根本原因分析。Root cause analysis of the issue identified in a human-readable format. 一部の洞察には、可能な場合にパフォーマンス向上に関する推奨事項が含まれます。Some insights might contain a performance improvement recommendation where possible.

Azure SQL Analytics を伴う Intelligent Insights の使用に関する実践的な概要と、一般的な使用シナリオについては、埋め込みのビデオをご覧ください。For a hands-on overview on using Intelligent Insights with Azure SQL Analytics and for typical usage scenarios, see the embedded video:

Intelligent Insights は、SQL Database のパフォーマンス問題の検出とトラブルシューティングで威力を発揮します。Intelligent Insights shines in discovering and troubleshooting SQL Database performance issues. Intelligent Insights を使用して SQL Database および Managed Instance データベースのパフォーマンスの問題をトラブルシューティングする方法については、「Intelligent Insights を使用した Azure SQL Database のパフォーマンスに関する問題のトラブルシューティング」をご覧ください。In order to use Intelligent Insights to troubleshoot SQL Database and Managed Instance database performance issues, see Troubleshoot Azure SQL Database performance issues with Intelligent Insights.

Intelligent Insights を構成するConfigure Intelligent Insights

Intelligent Insights の出力は、優れたパフォーマンス診断ログです。Output of the Intelligent Insights is a smart performance diagnostics log. Azure SQL Analytics、Azure Event Hubs、Azure Storage、またはサード パーティの製品にストリーミングして、このログを複数の方法で使用できます。This log can be consumed in several ways - through streaming it to Azure SQL Analytics, Azure Event Hubs and Azure storage, or a third party product.

  • Azure portal のユーザー インターフェイスで分析情報を表示するには、この製品を Azure SQL Analytics と共に使用します。Use the product with Azure SQL Analytics to view insights through the user interface of the Azure portal. これは統合された Azure ソリューションであり、分析情報を表示する最も一般的な方法です。This is the integrated Azure solution, and the most typical way to view insights.
  • カスタムの監視および警告シナリオを開発する場合は、この製品と Azure Event Hubs を使用します。Use the product with Azure Event Hubs for development of custom monitoring and alerting scenarios
  • カスタム レポートや長期データ アーカイブなどのカスタム アプリケーションを開発する場合は、この製品と Azure Storage を使用します。Use the product with Azure storage for custom application development, such are for example custom reporting, long-term data archival and so forth.

Azure SQL Analytics、Azure Event Hub、Azure Storage などの他製品、または使用するサード パーティ製品との Intelligent Insights の統合を実行するには、最初にデータベースの診断設定ブレードで Intelligent Insights ログ記録 ("SQLInsights" ログ) を有効にしてから、これらの製品のいずれかに Intelligent Insights ログ データがストリーミングされるように構成します。Integration of Intelligent Insights with other products Azure SQL Analytics, Azure Event Hub, Azure storage, or third party products for consumption is performed through first enabling Intelligent Insights logging (the "SQLInsights" log) in the Diagnostic settings blade of a database, and then configuring Intelligent Insights log data to be streamed into one of these products.

Intelligent Insights のログ記録を有効にして、使用する製品にログ データがストリーミングされるように構成する方法については、「Azure SQL Database のメトリックと診断のロギング」をご覧ください。For more information on how to enable Intelligent Insights logging and to configure log data to be streamed to a consuming product, see Azure SQL Database metrics and diagnostics logging.

Azure SQL Analytics で使用するように設定するSet up with Azure SQL Analytics

Azure SQL Analytics ソリューションは、Intelligent Insights 診断ログ データと共に、データベースのパフォーマンスについてのグラフィカル ユーザー インターフェイス、レポート、アラート機能を提供します。Azure SQL Analytics solution provides graphical user interface, reporting and alerting capabilities on database performance, along with the Intelligent Insights diagnostics log data.


簡単な使用開始方法: Intelligent Insights を使い始めるときの最も簡単な方法は、データベース パフォーマンスの問題に対するグラフィカル ユーザー インターフェイスを提供する Azure SQL Analytics と共に使用することです。Quick getting started: The easiest way to get off the ground with using Intelligent Insights is to use it along with Azure SQL Analytics which will provide a graphical user interface to database performance issues. Marketplace から Azure SQL Analytics ソリューションを追加し、このソリューションの内部にワークスペースを作成してから、Intelligent Insights を有効にするデータベースごとに、データベースの [診断設定] ブレードで、Azure SQL Analytics のワークスペースに対する "SQLInsights" ログのストリーミングを構成します。Add Azure SQL Analytics solution from the marketplace, create a workspace inside this solution, and then for each database you wish to enable Intelligent Insights on, configure streaming of "SQLInsights" log in the Diagnostics settings blade of a database to the workspace of Azure SQL Analytics.

前提となる要件は、Marketplace から Azure portal ダッシュボードに Azure SQL Analytics を追加して、ワークスペースを作成することです。Azure SQL Analytics の構成に関するページをご覧ください。Pre-requirement is to have Azure SQL Analytics added to your Azure portal dashboard from the marketplace and to create a workspace, see configure Azure SQL Analytics

Azure SQL Analytics と共に Intelligent Insights を使用するには、前のステップで作成した Azure SQL Analytics ワークスペースにストリーミングされるように、Intelligent Insights ログ データを構成します。「Azure SQL Database のメトリックと診断のロギング」をご覧ください。To use Intelligent Insights with Azure SQL Analytics, configure Intelligent Insights log data to be streamed to Azure SQL Analytics workspace you've created in the previous step, see Azure SQL Database metrics and diagnostics logging.

Azure SQL Analytics で表示された Intelligent Insights の例を以下に示します。The following example shows an Intelligent Insights viewed through Azure SQL Analytics:

Intelligent Insights レポート

Event Hubs で使用するように設定するSet up with Event Hubs

Event Hubs と共に Intelligent Insights を使用するには、Event Hubs に Intelligent Insights ログ データがストリーミングされるように構成します。「Azure Diagnostics ログを Event Hubs 名前空間にストリーミングする」をご覧ください。To use Intelligent Insights with Event Hubs, configure Intelligent Insights log data to be streamed to Event Hubs, see Stream Azure diagnostics logs to Event Hubs.

Event Hubs をカスタムの監視とアラートの設定に使用するには、「Event Hubs におけるメトリックと診断ログの活用方法」をご覧ください。To use Event Hubs to setup custom monitoring and alerting, see What to do with metrics and diagnostics logs in Event Hubs.

Azure Storage で使用するように設定するSet up with Azure Storage

Storage と共に Intelligent Insights を使用するには、Storage に Intelligent Insights ログ データがストリーミングされるように構成します。「Azure Storage にストリーミングする」をご覧ください。To use Intelligent Insights with Storage, configure Intelligent Insights log data to be streamed to Storage, see Stream into Azure Storage.

Intelligent Insights ログのカスタム統合Custom integrations of Intelligent Insights log

サード パーティ製のツールと共に、または、カスタムのアラートと監視の開発に Intelligent Insights を使用するには、「Intelligent Insights Azure SQL Database パフォーマンス診断ログを使用する」をご覧ください。To use Intelligent Insights with third party tools, or for custom alerting and monitoring development, see Use the Intelligent Insights database performance diagnostics log.

検出メトリックDetection metrics

Intelligent Insights を生成する検出モデルに使用されるメトリックは、以下の監視に基づいています。Metrics used for detection models that generate Intelligent Insights are based on monitoring:

  • クエリ実行時間Query duration
  • タイムアウト要求Timeout requests
  • 過剰な待機時間Excessive wait time
  • エラーが発生した要求Errored out requests

クエリ実行時間とタイムアウト要求は、データベース ワークロードのパフォーマンスに関する問題を検出する際にプライマリ モデルとして使用されます。Query duration and timeout requests are used as primary models in detecting issues with database workload performance. これらの情報は、ワークロードで何が起きているのかを直接測定するために使用されます。They're used because they directly measure what is happening with the workload. ワークロードのパフォーマンス低下について考えられるすべてのケースを検出するために、過剰な待機時間とエラーが発生した要求が、ワークロードのパフォーマンスに影響する問題を示すための追加モデルとして使用されます。To detect all possible cases of workload performance degradation, excessive wait time and errored-out requests are used as additional models to indicate issues that affect the workload performance.

ワークロードに対する変更とデータベースに対するクエリ要求の数の変化がシステムによって自動的に考慮されて、標準と標準外のデータベース パフォーマンスしきい値が動的に決定されます。The system automatically considers changes to the workload and changes in the number of query requests made to the database to dynamically determine normal and out-of-the-ordinary database performance thresholds.

科学的に導出されたデータ モデルを通じてすべてのメトリックがさまざまなリレーションシップで考慮され、検出された各パフォーマンス問題が分類されます。All of the metrics are considered together in various relationships through a scientifically derived data model that categorizes each performance issue detected. インテリジェントな洞察によって、次のような情報がわかります。Information provided through an intelligent insight includes:

  • 検出されたパフォーマンスの問題の詳細。Details of the performance issue detected.
  • 検出された問題の根本原因分析。A root cause analysis of the issue detected.
  • 監視対象の SQL データベースのパフォーマンスを改善する方法 (可能な場合) に関する推奨事項。Recommendations on how to improve the performance of the monitored SQL database, where possible.

クエリ実行時間Query duration

クエリ実行時間のパフォーマンス低下モデルでは、個々のクエリを分析し、パフォーマンス ベースラインと比較して、クエリのコンパイルと実行にかかる時間の増加を検出します。The query duration degradation model analyzes individual queries and detects the increase in the time it takes to compile and execute a query compared to the performance baseline.

SQL Database の組み込みインテリジェンスによってクエリのコンパイルまたはクエリ実行時間の大幅な増加がワークロードのパフォーマンスに影響を与えていることが検出された場合、これらのクエリには、クエリ実行時間のパフォーマンス低下の問題のフラグが設定されます。If SQL Database built-in intelligence detects a significant increase in query compile or query execution time that affects workload performance, these queries are flagged as query duration performance degradation issues.

Intelligent Insights 診断ログからは、パフォーマンスが低下したクエリのクエリ ハッシュが出力されます。The Intelligent Insights diagnostics log outputs the query hash of the query degraded in performance. クエリ ハッシュは、パフォーマンスの低下がクエリのコンパイル時間または実行時間が長くなった (その結果、クエリの実行時間が長くなった) ことに関係があるかどうかを示します。The query hash indicates whether the performance degradation was related to query compile or execution time increase, which increased query duration time.

タイムアウト要求Timeout requests

タイムアウト要求のパフォーマンス低下モデルでは、個々のクエリを分析し、クエリの実行レベルでのタイムアウトの増加と、パフォーマンス ベースライン期間と比較した、データベース レベルでの全体的な要求タイムアウトの増加を検出します。The timeout requests degradation model analyzes individual queries and detects any increase in timeouts at the query execution level and the overall request timeouts at the database level compared to the performance baseline period.

一部のクエリは、実行段階に達する前でもタイムアウトすることがあります。Some of the queries might time out even before they reach the execution stage. SQL Database の組み込みの Intelligence では、実行され、中止された worker と要求を利用して、クエリが実行段階に達したかどうかにかかわらず、データベースに到達したすべてのクエリを測定し、分析します。Through the means of aborted workers vs. requests made, SQL Database built-in intelligence measures and analyzes all queries that reached the database whether they got to the execution stage or not.

実行されたクエリのタイムアウト数、または中止された要求 worker 数がシステムで管理されているしきい値を上回ると、診断ログに Intelligent Insights が設定されます。After the number of timeouts for executed queries or the number of aborted request workers crosses the system-managed threshold, a diagnostics log is populated with intelligent insights.

生成される洞察には、タイムアウトした要求数とタイムアウトしたクエリ数が含まれます。The insights generated contain the number of timed-out requests and the number of timed-out queries. パフォーマンスの低下は、実行段階でのタイムアウトの増加、またはデータベース レベル全体が提供されたことに関連します。Indication of the performance degradation is related to timeout increase at the execution stage, or the overall database level is provided. タイムアウトの増加がデータベース パフォーマンスに影響していると見なされた場合、これらのクエリにはタイムアウトのパフォーマンス低下の問題のフラグが設定されます。When the increase in timeouts is deemed significant to database performance, these queries are flagged as timeout performance degradation issues.

過剰な待機時間Excessive wait times

過剰な待機時間モデルは、個々のデータベース クエリを監視します。The excessive wait time model monitors individual database queries. また、システムで管理される絶対しきい値を超える異常に高いクエリ待機状態を検出します。It detects unusually high query wait stats that crossed the system-managed absolute thresholds. 次の過剰クエリ待機時間メトリックは、新しい SQL Server 機能であるクエリ ストア待機統計 (sys.query_store_wait_stats) を利用して監視されます。The following query excessive wait-time metrics are observed by using the new SQL Server feature, Query Store Wait Stats (sys.query_store_wait_stats):

  • リソースの上限に到達Reaching resource limits
  • エラスティック プール リソース制限に到達Reaching elastic pool resource limits
  • 過剰な worker またはセッション スレッド数Excessive number of worker or session threads
  • 過剰なデータベース ロックExcessive database locking
  • メモリ不足Memory pressure
  • その他の待機統計Other wait stats

リソース制限またはエラスティック プール リソースの制限への到達は、サブスクリプションまたはエラスティック プールで使用可能なリソースの消費が絶対しきい値を超えて増加したことを示します。Reaching resource limits or elastic pool resource limits denote that consumption of available resources on a subscription or in the elastic pool crossed absolute thresholds. これらの状態は、ワークロード パフォーマンスの低下を示しています。These stats indicate workload performance degradation. 過剰な worker またはセッションのスレッド数は、開始された worker スレッドまたはセッションの数が絶対しきい値を超えていることを示します。An excessive number of worker or session threads denotes a condition in which the number of worker threads or sessions initiated crossed absolute thresholds. これらの状態は、ワークロード パフォーマンスの低下を示しています。These stats indicate workload performance degradation.

過剰なデータベース ロックは、データベースのロックの数が絶対しきい値を超えていることを示します。Excessive database locking denotes a condition in which the count of locks on a database has crossed absolute thresholds. この状態は、ワークロード パフォーマンスの低下を示しています。This stat indicates a workload performance degradation. メモリ不足は、メモリ許可を要求するスレッド数が絶対しきい値を超える条件です。Memory pressure is a condition in which the number of threads requesting memory grants crossed an absolute threshold. この状態は、ワークロード パフォーマンスの低下を示しています。This stat indicates a workload performance degradation.

その他の待機統計検出は、クエリ ストア待機統計で測定されるその他のメトリックが絶対しきい値を超えたことを示します。Other wait stats detection indicates a condition in which miscellaneous metrics measured through the Query Store Wait Stats crossed an absolute threshold. これらの状態は、ワークロード パフォーマンスの低下を示しています。These stats indicate workload performance degradation.

過剰な待機時間が検出されると、Intelligent Insights 診断ログは、使用可能なデータに応じて、パフォーマンス低下に影響しているクエリと影響を受けているクエリのハッシュ、クエリが実行を待機する原因となったメトリックの詳細、測定された待機時間を出力します。After excessive wait times are detected, depending on the data available, the Intelligent Insights diagnostics log outputs hashes of the affecting and affected queries degraded in performance, details of the metrics that cause queries to wait in execution, and measured wait time.

エラーが発生した要求Errored requests

エラーが発生した要求のパフォーマンス低下モデルでは、個々のクエリを監視し、ベースライン期間と比較してエラーが発生したクエリ数の増加を検出します。The errored requests degradation model monitors individual queries and detects an increase in the number of queries that errored out compared to the baseline period. このモデルでは、SQL Database の組み込みインテリジェンスによって管理されている絶対しきい値を超えた重大な例外も監視されます。This model also monitors critical exceptions that crossed absolute thresholds managed by SQL Database built-in intelligence. システムでは、データベースに対して行われたクエリ要求の数が自動的に考慮され、監視対象の期間中のワークロードの変化が考慮されます。The system automatically considers the number of query requests made to the database and accounts for any workload changes in the monitored period.

行われた全体的な要求数との関連で、エラーが発生した要求について測定された増加がワークロードのパフォーマンスに影響していると見なされる場合、影響を受けているクエリには、エラーが発生した要求のパフォーマンス低下の問題があることを示すフラグが設定されます。When the measured increase in errored requests relative to the overall number of requests made is deemed significant to workload performance, affected queries are flagged as errored requests performance degradation issues.

Intelligent Insights ログには、エラーになった要求数が出力されます。The Intelligent Insights log outputs the count of errored requests. この数値は、エラーになった要求の増加や、監視対象の重大な例外のしきい値とパフォーマンス低下の測定時間を超えたことにパフォーマンスの低下が関連したかどうかを示します。It indicates whether the performance degradation was related to an increase in errored requests or to crossing a monitored critical exception threshold and measured time of the performance degradation.

監視対象の重大な例外のいずれかが、システムによって管理されている絶対しきい値を超えた場合は、インテリジェントな洞察が重大な例外の詳細と共に生成されます。If any of the monitored critical exceptions cross the absolute thresholds managed by the system, an intelligent insight is generated with critical exception details.

次の手順Next steps