SQL Insights を使用して SQL デプロイを監視する (プレビュー)

適用対象:Azure VM 上の SQL サーバーAzure SQL データベースAzure SQL Managed Instance

ヒント

Database Watcher (プレビュー) は、データ コレクション待機時間の短縮、資産レベルの監視、クエリ レベルの詳細を含む包括的な監視データ、収集された監視データの高度分析のサポートを必要とするシナリオに推奨される監視ソリューションです。

現時点では、Database Watcher で Azure SQL データベースと Azure SQL Managed Instance がサポートされています。

SQL Insights (プレビュー) は、Azure SQL ファミリの製品の監視ソリューションです。 SQL Insights では、動的管理ビューを使用して、正常性の監視、問題の診断、パフォーマンスの調整に必要なデータを公開します。

SQL Insights は、すべての監視をリモートで実行します。 専用の仮想マシン上の監視エージェントが、SQL リソースに接続し、リモートでデータを収集します。 収集されたデータは Azure Monitor ログに格納され、簡単に集計、フィルター処理、傾向分析を行うことができます。 収集されたデータは、SQL Insights ブック テンプレートから表示できます。また、ログ クエリを使用してデータを直接調査することもできます。

次の図では、データベース エンジンと Azure リソース ログからの情報によって実行される手順と、それらの表示方法について詳しく説明します。 Azure SQL ログ記録の詳細な図については、「監視と診断テレメトリ」を参照してください。

AzureDiagnostics と Log Analytics でデータベース エンジンの情報とリソース ログがどのように表示されるかを示す図。

価格

SQL Insights (プレビュー) には直接コストはかかりません。 すべてのコストは、データを収集する仮想マシン、データを格納する Log Analytics のワークスペース、およびデータに対して構成されたすべてのアラート ルールによって発生します。

仮想マシン

仮想マシンについては、仮想マシンの価格ページで公開されている料金に基づいて課金されます。 必要な仮想マシンの数は、監視する接続文字列の数によって異なります。 100 接続文字列ごとに Standard_B2s サイズの仮想マシンを 1 つ割り当てることをお勧めします。 詳細については、「Azure 仮想マシン エージェントの要件」を参照してください。

Log Analytics ワークスペース

Log Analytics ワークスペースについては、Azure Monitor の価格ページで公開されている料金に基づいて課金されます。 SQL Insights で使用される Log Analytics ワークスペースには、データ インジェスト、データ保持、および (必要に応じて) データ エクスポートのコストが発生します。

正確な料金は、取り込み、保持、およびエクスポートされたデータ量によって異なります。 このデータの量は、データベース アクティビティと、監視プロファイルで定義されているコレクションの設定によって変化します。

アラート ルール

Azure Monitor のアラート ルールについては、Azure Monitor の価格ページで公開されている料金に基づいて課金されます。 SQL Insights (プレビュー) でアラートを作成することを選択した場合は、作成されたアラート ルールと送信された通知に対して課金されます。

サポートされているバージョン

SQL Insights (プレビュー) は、次の環境をサポートします。

  • Azure SQL データベース
  • Azure SQL Managed Instance
  • SQL Server 2012 以降のバージョンが実行されている場合:
    • Azure Virtual Machines 上の SQL Server (SQL IaaS Agent 拡張機能に登録されている仮想マシンにインストールされた SQL Server)
    • Azure VM (SQL IaaS Agent 拡張機能に登録されていない仮想マシンにインストールされた SQL Server)

SQL Insights (プレビュー) では、次のサポートがないか、サポートが制限されています。

  • Azure 以外のインスタンス: オンプレミスや仮想マシンなど、Azure の外部の仮想マシンで実行されている SQL Server はサポートされていません。
  • エラスティック プールの Azure SQL Database: エラスティック プールまたはエラスティック プール内のデータベースのメトリックを収集することはできません。
  • Azure SQL Database の低サービス レベル: Basic、S0、S1、S2 の各サービス レベルのデータベースのメトリックは収集できません。
  • Azure SQL Database サーバーレス サービス レベル: サーバーレス コンピューティング サービス レベルを使用するデータベースのメトリックは収集できます。 ただし、メトリックを収集するプロセスによって自動一時停止の延期期間タイマーがリセットされ、データベースが自動一時停止状態に入れなくなります。
  • セカンダリ レプリカ: メトリックは、データベースごとに 1 つのセカンダリ レプリカに対してのみ収集できます。 データベースに複数のセカンダリ レプリカがある場合、監視できるのは 1 つだけです。
  • Microsoft Entra ID (旧称 Azure Active Directory) による認証: 監視に対してサポートされている認証の方法は SQL 認証のみです。 Azure 仮想マシンの SQL Server の場合、カスタム ドメイン コントローラー上の Active Directory を使用した認証はサポートされていません。

リージョン別の提供状況

SQL Insights (プレビュー) は、Azure Government クラウド と各国のクラウドを除く、Azure Monitor が利用可能なすべての Azure リージョンで利用できます。

SQL Insights を開く

SQL Insights (プレビュー) を開くには

  1. Azure portal で、 [Azure Monitor] メニューに移動します。
  2. [分析情報] セクションで [SQL (プレビュー)] を選択します。
  3. タイルを選択すると、監視している SQL リソースのエクスペリエンスが読み込まれます。

Azure portal に SQL Insights を示すスクリーンショット。

詳細については、「SQL Insights を有効にする (プレビュー)」と「SQL Insights のトラブルシューティング (プレビュー)」をご覧ください。

Note

オンプレミスの SQL Server インスタンスは現在、SQL インサイト (プレビュー) ではサポートされていません。Azure portal のラベルは無視できます。

収集されるデータ

SQL Insights は、すべての監視をリモートで実行します。 SQL Server を実行している仮想マシンにはエージェントがインストールされていません。

SQL Insights では、専用の監視仮想マシンを使用して、SQL リソースからデータをリモートで収集します。 各監視仮想マシンには、Azure Monitor エージェントと、ワークロードの分析情報 (WLI) 拡張機能がインストールされます。

WLI 拡張機能には、オープンソースの Telegraf エージェントが含まれています。 SQL Insights では、データ収集ルールを使用して、Telegraf の SQL Server プラグインのデータ収集設定を指定します。

Azure SQL Database、Azure SQL Managed Instance、および SQL Server 用の、さまざまなデータ セットを使用できます。 使用できるデータを次の表に示します。 監視プロファイルを作成するときに、収集するデータ セットと収集の頻度をカスタマイズできます。

表には、次の列があります。

  • フレンドリ名: 監視プロファイルを作成するときに Azure portal に示されるクエリの名前。
  • 構成名: 監視プロファイルを編集するときに Azure portal に示されるクエリの名前。
  • 名前空間: Log Analytics ワークスペースで検出されたクエリの名前。 この識別子は、InsighstMetrics テーブルの Tags 列の Namespace プロパティに表示されます。
  • DMV: データ セットを生成するために使用される動的管理ビュー
  • 既定で有効: データが既定で収集されるかどうか
  • 既定の収集頻度: データが既定で収集される頻度

Azure SQL Database のデータ

フレンドリ名 構成名 名前空間 DMV 既定で有効 既定の収集の頻度
DB wait stats (DB 待機統計) AzureSQLDBWaitStats sqlserver_azuredb_waitstats sys.dm_db_wait_stats いいえ 適用なし
DBO wait stats (DBO 待機統計) AzureSQLDBOsWaitstats sqlserver_waitstats sys.dm_os_wait_stats はい 60 秒
メモリ クラーク AzureSQLDBMemoryClerks sqlserver_memory_clerks sys.dm_os_memory_clerks はい 60 秒
[データベース I/O] AzureSQLDBDatabaseIO sqlserver_database_io sys.dm_io_virtual_file_stats
sys.database_files
tempdb.sys.database_files
はい 60 秒
サーバー プロパティ AzureSQLDBServerProperties sqlserver_server_properties sys.dm_os_job_object
sys.database_files
sys.databases
sys.database_service_objectives
はい 60 秒
パフォーマンス カウンター AzureSQLDBPerformanceCounters sqlserver_performance sys.dm_os_performance_counters
sys.databases
はい 60 秒
Resource stats (リソース統計) AzureSQLDBResourceStats sqlserver_azure_db_resource_stats sys.dm_db_resource_stats はい 60 秒
リソース管理 AzureSQLDBResourceGovernance sqlserver_db_resource_governance sys.dm_user_db_resource_governance はい 60 秒
Requests AzureSQLDBRequests sqlserver_requests sys.dm_exec_sessions
sys.dm_exec_requests
sys.dm_exec_sql_text
いいえ 適用なし
スケジューラ AzureSQLDBSchedulers sqlserver_schedulers sys.dm_os_schedulers いいえ 適用なし

Azure SQL Managed Instance のデータ

フレンドリ名 構成名 名前空間 DMV 既定で有効 既定の収集の頻度
待機統計 AzureSQLMIOsWaitstats sqlserver_waitstats sys.dm_os_wait_stats はい 60 秒
メモリ クラーク AzureSQLMIMemoryClerks sqlserver_memory_clerks sys.dm_os_memory_clerks はい 60 秒
[データベース I/O] AzureSQLMIDatabaseIO sqlserver_database_io sys.dm_io_virtual_file_stats
sys.master_files
はい 60 秒
サーバー プロパティ AzureSQLMIServerProperties sqlserver_server_properties sys.server_resource_stats はい 60 秒
パフォーマンス カウンター AzureSQLMIPerformanceCounters sqlserver_performance sys.dm_os_performance_counters
sys.databases
はい 60 秒
Resource stats (リソース統計) AzureSQLMIResourceStats sqlserver_azure_db_resource_stats sys.server_resource_stats はい 60 秒
リソース管理 AzureSQLMIResourceGovernance sqlserver_instance_resource_governance sys.dm_instance_resource_governance はい 60 秒
Requests AzureSQLMIRequests sqlserver_requests sys.dm_exec_sessions
sys.dm_exec_requests
sys.dm_exec_sql_text
いいえ NA
スケジューラ AzureSQLMISchedulers sqlserver_schedulers sys.dm_os_schedulers いいえ 適用なし

SQL Server のデータ

フレンドリ名 構成名 名前空間 DMV 既定で有効 既定の収集の頻度
待機統計 SQLServerWaitStatsCategorized sqlserver_waitstats sys.dm_os_wait_stats はい 60 秒
メモリ クラーク SQLServerMemoryClerks sqlserver_memory_clerks sys.dm_os_memory_clerks はい 60 秒
[データベース I/O] SQLServerDatabaseIO sqlserver_database_io sys.dm_io_virtual_file_stats
sys.master_files
はい 60 秒
サーバー プロパティ SQLServerProperties sqlserver_server_properties sys.dm_os_sys_info はい 60 秒
パフォーマンス カウンター SQLServerPerformanceCounters sqlserver_performance sys.dm_os_performance_counters はい 60 秒
ボリューム領域 SQLServerVolumeSpace sqlserver_volume_space sys.master_files はい 60 秒
SQL Server CPU SQLServerCpu sqlserver_cpu sys.dm_os_ring_buffers はい 60 秒
スケジューラ SQLServerSchedulers sqlserver_schedulers sys.dm_os_schedulers いいえ 適用なし
Requests SQLServerRequests sqlserver_requests sys.dm_exec_sessions
sys.dm_exec_requests
sys.dm_exec_sql_text
いいえ 適用なし
可用性レプリカの状態 SQLServerAvailabilityReplicaStates sqlserver_hadr_replica_states sys.dm_hadr_availability_replica_states
sys.availability_replicas
sys.availability_groups
sys.dm_hadr_availability_group_states
いいえ 60 秒
可用性データベース レプリカ SQLServerDatabaseReplicaStates sqlserver_hadr_dbreplica_states sys.dm_hadr_database_replica_states
sys.availability_replicas
いいえ 60 秒