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

適用対象: はいAzure SQL Database はいAzure SQL Managed Instance APPLIES TO: yesAzure SQL Database yesAzure SQL Managed Instance

Azure SQL Database と Azure SQL Managed Instance の Intelligent Insights では、データベースのパフォーマンスに起きていることを把握できます。Intelligent Insights in Azure SQL Database and Azure SQL Managed Instance lets you know what is happening with your 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. 検出されると、詳細な分析が実行され、問題のインテリジェントなアセスメントを含む Intelligent Insights リソース ログ (通称 SQLInsights) が生成されます。Once detected, a detailed analysis is performed that generates an Intelligent Insights resource log (called SQLInsights) 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 that workload. 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 Detection metrics.

特定されたデータベースのパフォーマンス低下は、次のプロパティで構成されるインテリジェントなエントリを含む SQLInsights ログに記録されます。Identified database performance degradations are recorded in the SQLInsights 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 this video:

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

Intelligent Insights のオプションIntelligent Insights options

使用可能な Intelligent Insights のオプションは次のとおりです。Intelligent Insights options available are:

Intelligent Insights のオプションIntelligent Insights option Azure SQL Database のサポートAzure SQL Database support Azure SQL Managed Instance のサポートAzure SQL Managed Instance support
[Configure Intelligent Insights](Intelligent Insights を構成する) - データベース用に Intelligent Insights の分析を構成します。Configure Intelligent Insights - Configure Intelligent Insights analysis for your databases. はいYes はいYes
[Stream insights to Azure SQL Analytics](Azure SQL Analytics に分析情報をストリーム配信する) - Azure SQL Analytics に分析情報をストリーム配信します。Stream insights to Azure SQL Analytics -- Stream insights to Azure SQL Analytics. はいYes はいYes
[Stream insights to Azure Event Hubs](Azure Event Hubs に分析情報をストリーム配信する) - 詳細なカスタム統合のために Event Hubs に分析情報をストリーム配信します。Stream insights to Azure Event Hubs - Stream insights to Event Hubs for further custom integrations. はいYes はいYes
[Stream insights to Azure Storage](Azure Storage に分析情報をストリーム配信する) - 詳細な分析と長期的なアーカイブのために、Azure Storage に分析情報をストリーム配信します。Stream insights to Azure Storage - Stream insights to Azure Storage for further analysis and long-term archival. はいYes はいYes

注意

インテリジェントな分析情報はプレビュー機能であり、次のリージョンでは利用できません。西ヨーロッパ、北ヨーロッパ、米国西部 1、米国東部 1。Intelligent insights is a preview feature, not available in the following regions: West Europe, North Europe, West US 1 and East US 1.

Intelligent Insights ログのエクスポートを構成するConfigure the export of the Intelligent Insights log

Intelligent Insights の出力は、分析のためにいずれかの宛先にストリーム配信できます。Output of the Intelligent Insights can be streamed to one of several destinations for analysis:

  • Azure portal のユーザー インターフェイスで分析情報を表示する目的で、Log Analytics ワークスペースにストリーム配信された出力を Azure SQL Analytics と共に使用できます。Output streamed to a Log Analytics workspace can be used 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 にストリーム配信された出力を使用できます。Output streamed to Azure Event Hubs can be used for development of custom monitoring and alerting scenarios
  • カスタム レポートや長期データ アーカイブなどのカスタム アプリケーションを開発する目的で、Azure Storage にストリーム配信された出力を使用できます。Output streamed to Azure Storage can be used for custom application development, such are for example custom reporting, long-term data archival and so forth.

Azure SQL Analytics、Azure Event Hubs、Azure Storage、または情報を利用するサード パーティ製品は、最初にデータベースの診断設定ブレードで Intelligent Insights ログ記録 ("SQLInsights" ログ) を有効にしてから、これらの宛先のいずれかに Intelligent Insights ログ データがストリーミングされるように構成することで統合されます。Integration of Azure SQL Analytics, Azure Event Hubs, 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 destinations.

Intelligent Insights のログ記録を有効にして、情報を利用する製品にメトリックとリソース ログ データがストリーミングされるように構成する方法については、メトリックと診断のロギングに関するページをご覧ください。For more information on how to enable Intelligent Insights logging and to configure metric and resource log data to be streamed to a consuming product, see 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, using the Intelligent Insights resource log data.

Marketplace から Azure portal ダッシュボードに Azure SQL Analytics を追加して、ワークスペースを作成する方法については、Azure SQL Analytics の構成に関するページをご覧ください。Add Azure SQL Analytics 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 ログ データを構成します。メトリックと診断のロギングに関するページをご覧ください。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 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 Metrics and diagnostics logging and Stream Azure diagnostics logs to Event Hubs.

Event Hubs をカスタムの監視とアラートの設定に使用するには、「Event Hubs におけるメトリックと診断ログの活用方法」をご覧ください。To use Event Hubs to set up 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 Metrics and diagnostics logging and 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.
  • 監視対象のデータベースのパフォーマンスを改善する方法 (可能な場合) に関する推奨事項。Recommendations on how to improve the performance of the monitored 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.

組み込みインテリジェンスによってクエリのコンパイルまたはクエリ実行時間の大幅な増加がワークロードのパフォーマンスに影響を与えていることが検出された場合、これらのクエリには、クエリ実行時間のパフォーマンス低下の問題のフラグが設定されます。If 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. 組み込みの Intelligence では、実行され、中止された worker と要求を利用して、クエリが実行段階に達したかどうかにかかわらず、データベースに到達したすべてのクエリを測定し、分析します。Through the means of aborted workers vs. requests made, 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. 次の過剰クエリ待機時間メトリックは、クエリ ストア待機統計 (sys.query_store_wait_stats) を利用して監視されます。The following query excessive wait-time metrics are observed by using, 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. このモデルでは、組み込みインテリジェンスによって管理されている絶対しきい値を超えた重大な例外も監視されます。This model also monitors critical exceptions that crossed absolute thresholds managed by 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