SQL Serverの監視ツールは、WindowsのCPUやディスクのアクティビティから、ブロッキング、待機統計、クエリプラン、データベースの可用性まで、あらゆるものを追跡できます。したがって、適切なツールは、実際に観察する必要があるSQL Serverのレイヤーに依存し、その機能リストのサイズには依存しません。
このガイドでは、ITチームが何を監視すべきか、Windowsサーバーの監視がどこで終了しSQL特有の監視が始まるか、利用可能なMicrosoftの組み込みツール、適切な監視アプローチの選び方について説明します。
SQL Serverモニタリングの何が特別なのか?
サーバーの監視、基本:
Microsoft SQL Serverはサーバーインフラストラクチャ上で動作しますので オペレーティングシステムのパフォーマンスは重要です 高いCPU使用率、メモリ圧迫、または遅いストレージは、データベースエンジンに本質的に問題がない場合でも、SQL Serverに影響を与える可能性があります。
SQLサーバーのデータベース特有の監視ニーズ:
ただし、明確なWindows Serverのメトリクスが必ずしも良好なSQL Serverのパフォーマンスを意味するわけではありません。ユーザーは、ブロッキング、実行プランの不良、またはクエリの待機によって遅いトランザクションを経験することがありますが、基盤となるマシンは依然として正常に見えることがあります。
マイクロソフトがこれを分割する方法:
マイクロソフトは独自の監視アーキテクチャにおいてこの区別を反映しています。パフォーマンスモニターなどのWindowsツールはシステムリソースをカバーし、一方でSQL Serverはクエリストア、拡張イベント、アクティビティモニター、エラーログ、Transact-SQL監視機能など、データベース特有の機能を提供します。
SQL Serverの監視は、1つの指標セットではなく、いくつかの補完的な層を含むべきです。
SQL Server モニタリングツールは何を追跡すべきですか?
必要な正確な指標は、ITチームが主にインフラストラクチャの可用性、データベース管理、またはアプリケーションのパフォーマンスに責任を持っているかどうかによって異なります。役立つ監視戦略は広範囲から始まり、ワークロードが必要とする場合にSQL Serverの可視性を深めていきます。
1. サーバーとインフラストラクチャの健康
SQL Serverホストで利用可能なリソースから始めます。CPU、物理メモリ、ディスク容量、ディスクの読み取りおよび書き込みアクティビティ、ネットワーク使用状況、実行中のプロセスは、データベースパフォーマンスのインフラストラクチャコンテキストを提供します。
重要な点は相関関係です。ストレージのレイテンシーを伴う高いSQL応答時間は、ホストに十分なCPU、メモリ、I/O容量がある間に発生する遅いクエリとは異なる調査を示唆しています。
ホストの監視 また、SQL Serverだけでなく、問題を検出するのにも役立ちます。物理サーバーまたは仮想サーバーは、同じリソースを競合するアクティビティを持つサポートアプリケーション、サービス、またはリモートユーザーをホストする場合があります。
2. SQL Server インスタンスとデータベースの健康
次のレイヤーはデータベースエンジン自体を内部で見ています。
重要な領域には、待機、アクティブセッション、ブロッキング、デッドロック、データベースファイルの成長、トランザクションログの使用、TempDBのアクティビティが一般的に含まれます。管理者は、データベースの状態、接続、メモリの動作、SQL Serverサービスも監視する必要があるかもしれません。
待機統計は特に有用です。なぜなら、システムが遅いだけを示すのではなく、SQL Serverのタスクが何を待っているのかを特定するのに役立つからです。ブロッキングやデッドロックは、特定のトランザクションがリソースを競っているかどうかを特定するのに役立つ追加の可視性を提供します。
専用のデータベース監視プラットフォームは、ホストモニターよりもはるかに深く掘り下げます。たとえば、IDERA SQL Diagnostic Managerは、待機、ブロッキングチェーン、デッドロック、TempDBの圧力、I/Oレイテンシ、およびデータベースの成長に関する監視を文書化します。
3. クエリとワークロードのパフォーマンス
問題がデータベースのワークロードに特定されると、集約サーバーメトリクスはしばしば不十分です。管理者は、どのクエリが過剰なリソースを消費しているか、またその動作が変わったかどうかを判断する必要があります。
クエリレベルの有用な情報には、実行時間、CPU消費、論理および物理読み取り、メモリ消費、実行頻度、待機時間および実行計画が含まれる場合があります。
マイクロソフト クエリ ストア これは、これに合わせて調整されたソフトウェアの良い例です。管理者がパフォーマンスを時間をかけて調査し、クエリプランの変更に関連する回帰を特定できるように、クエリ、プラン、およびランタイム統計を保持します。SQL Server 2017以降は、クエリストアを通じて待機統計をキャプチャできます。
この歴史的な文脈は重要です。なぜなら、多くのSQL Serverの問題は断続的だからです。昨日の午後にCPUが90%に達したことを知ることは有益です。同じ瞬間にどのクエリが挙動を変えたかを知ることで、行動のための潜在的な手段を特定できます。
4. 可用性、ジョブと運用健康
パフォーマンスはSQL Server監視の一側面に過ぎません。運用の失敗は、ワークロードのパフォーマンスが正常に見える場合でも、可用性や回復性に影響を与える可能性があります。
環境によっては、管理者がSQL Serverエージェントジョブ、バックアップ、データベースの可用性、およびAlways On可用性グループの可視性を必要とする場合があります。大規模またはビジネスクリティカルな環境では、レプリケーションの監視、構成の追跡、およびキャパシティ予測も必要になることがあります。
必要な深さは、作業負荷の重要性に従う必要があります。小さな内部データベースやクラスタ化されたプロダクションSQL Server環境は、非常に異なる監視アーキテクチャを必要とします。
どの組み込みのSQL Server監視ツールを使用できますか?
専用プラットフォームを購入する前に、何を理解する価値があるかを知っておくことが重要です。 マイクロソフト SQL サーバー すでに提供しています。
ネイティブツールの幅広いセット:
- アクティビティモニターは、アドホック検査をサポートしています。
- クエリストアは、履歴のクエリとプラン情報を保持します。
- 拡張イベントは選択したエンジンイベントをキャプチャします
- 動的管理ビューは内部パフォーマンスデータを公開します
- SQL Serverエラーログはデータベースエンジンのイベントを調査するのに役立ちます。
- Windows Performance Monitorはオペレーティングシステムのリソース情報を追加します。
より深い診断ですが、より複雑です。
これらのツールは、特に経験豊富なデータベース管理者にとって、実質的な診断の深さを提供できます。また、別のものを導入することを避けます。 監視プラットフォーム 時折のトラブルシューティングで十分な場合。
彼らの制限はしばしばデータへのアクセスではなく、運用の便利さです。複数のサーバーを管理するITチームは、いくつかのSQL ServerやWindowsインターフェースから情報を集める代わりに、中央集約されたダッシュボード、持続的な履歴、より簡単なアラート、迅速な相関を望むかもしれません。
それがサードパーティの監視がより魅力的になるところです。
SQL Server モニタリングツールの選び方は?
ツールが解決すべき問題から始めてください。これにより、サポートされている指標の最大数のチェックリストの中で目標を失うことを防ぐことができます。
1. 必要な可視性の深さ
役立つ最初の質問は、インフラストラクチャの監視、データベースエンジンの診断、または詳細なクエリ分析が必要かどうかです。
| 要件 | 監視アプローチ |
|---|---|
| CPU、メモリ、ディスクおよびサーバーの可用性 | サーバーまたはインフラストラクチャの監視 |
| 時折のSQL Serverトラブルシューティング | 組み込みのMicrosoft SQL Serverツール |
| ブロッキング、待機、デッドロック、データベースアラート | 専用SQLサーバー監視 |
| クエリプランとパフォーマンスの回帰 | クエリストアまたは高度なSQL監視 |
| 大規模マルチインスタンスSQLエステート | 中央集権的データベース監視 |
| SQL Serverに加えて、より広範なアプリケーション依存関係 | SQL特有の監視と組み合わせたインフラストラクチャまたはフルスタックの可観測性 |
これらのカテゴリは重なることがあります。多くの環境では、最も実用的なアプローチは単一の製品ではなく、組み合わせです。
2. 操作に合わせたアラートと履歴の一致
監視は、ユーザーが問題を報告する前に異常な動作を強調することで最も有用になります。
ツールがしきい値アラート、履歴トレンド、およびその後のイベント調査に十分なコンテキストをサポートしているかどうかを確認してください。専門的なSQLプラットフォームは、アラートにブロッキングチェーン、デッドロックグラフ、またはクエリ情報を直接添付することでさらに進むことがあります。たとえば、Redgate Monitorは、デッドロック、失敗したジョブ、ブロックされたクエリ、長時間実行されるクエリなどのイベントに対するSQL特有のアラートを文書化しています。
ベースラインを設定することも重要です。あるデータベースにとって異常な値が、別のデータベースにとっては通常のものである可能性があるため、アラートは個々のワークロードの動作とビジネスの重要性を反映する必要があります。
3. スケール、展開、管理を考慮する
1つのSQL Serverインスタンスに適したツールは、数十のサーバーにわたっては煩雑になる可能性があります。
ホスト、インスタンス、データベースの監視が必要な数、監視データの収集と保持の方法、管理者が中央コンソールからシステムをどれだけ簡単に比較できるかを考慮してください。したがって、ライセンス、展開の労力、レポート生成、およびアラート管理は、技術的な深さとともに評価されるべきです。
目的は、可能な限りすべての指標を収集することではありません。最も関連性の高い情報を十分な量で収集し、症状から原因への道を短縮して、IT技術者が問題を解決できるようにすることです。
TSplusサーバーモニタリングはどこに適合しますか?
TSplus Server Monitoringは、この監視モデルのインフラストラクチャ側に対応しています。それは提供します リアルタイムの可視性 CPU、メモリ、ディスクの読み書きアクティビティ、帯域幅、プロセスおよび接続されたユーザーに関する情報、サーバーメトリックの履歴レポートと設定可能なアラートを含みます。
Microsoft SQL Serverを実行しているWindowsサーバーの場合、この可視性はデータベースのパフォーマンス問題がCPUの圧力、メモリの消費、ディスクのアクティビティ、または他のホストレベルの条件と一致するかどうかを判断するのに役立ちます。履歴レポートは、再発するインフラストラクチャの問題に対する文脈も提供します。
TSplus Server Monitoringは、専用のSQL Serverデータベースパフォーマンスアナライザーではありません。実行計画分析、クエリストア調査、ブロッキングチェーン、デッドロック分析、または詳細な待機統計などのSQL特有の要件には、MicrosoftのSQL Serverツールまたは専門のデータベース監視製品が必要です。
多くのITチームにとって、これらの層は互いに補完し合います。 TSplusサーバーモニタリング サーバーの健康状態とリソース消費の明確なビューを提供できる一方で、SQL Serverのネイティブツールはより深いデータベースの可視性を提供し、インシデントがデータベースエンジンまたは個々のワークロードに向かっているときに特定するのに役立ちます。
結論
SQL Serverの監視ツールを選ぶ際は、何に可視性が必要かを決定することから始まります。サーバーリソース、データベースエンジンの健康状態、クエリパフォーマンスは、同じシステムの異なる層を表しており、単一の指標ではそれらすべてを説明することはできません。
インフラストラクチャの健康状態から始め、ワークロードがより深い診断を必要とする場合は、SQL特有の監視を追加します。この層状のアプローチは、監視を実用的に保ちながら、ITチームにサーバーの問題とデータベースまたはクエリの問題を区別するための十分なコンテキストを提供します。
TSplus リモートアクセス 無料トライアル
デスクトップ/アプリアクセスのための究極のCitrix/RDS代替。安全で、コスト効果が高く、オンプレミス/クラウド
よくある質問
SQL Serverの監視ツールとは何ですか?
SQL Serverの監視ツールは、Microsoft SQL Server環境の健康、パフォーマンス、または可用性を追跡します。その範囲に応じて、ホストリソース、データベース、待機、ブロッキング、クエリ、ジョブ、バックアップ、または可用性の構成を監視することがあります。
SQL Serverのどのメトリックを監視すべきですか?
コアメトリクスは、一般的にCPU、メモリ、ストレージに依存します。それに加えて、SQL特有のマーカーは、待機、ブロッキング、デッドロック、データベースの成長、トランザクションログ、TempDBのアクティビティ、クエリの実行時間、ジョブのステータスなどを示します。
Windows Serverの監視はSQL Serverの問題を検出できますか?
Windows Serverの監視は、CPU、メモリ、ディスクの圧力を含むSQL Serverに影響を与えるインフラストラクチャの問題を特定できます。ただし、クエリプランの後退、ブロッキングチェーン、またはSQL特有の待機などのデータベースエンジンの問題を自ら説明することはできません。
SQL Serverには独自の監視ツールが含まれていますか?
はい。Microsoft SQL Serverには、クエリストア、拡張イベント、アクティビティモニター、動的管理ビュー、エラーログ、Transact-SQLパフォーマンス関数などのツールや機能が含まれています。それらの適合性は、調査されているイベントやワークロードによって異なります。
専用のSQL Server監視ソフトウェアは必要ですか?
必ずしもそうではありません。組み込みツールは、小規模な環境や時折のトラブルシューティングには十分かもしれません。組み合わせて TSplusサーバーモニタリング 一般的な目的のために、MicrosoftのSQL Serverに内蔵されたモニターは、サードパーティの監視製品に対してあまり羨ましがることはありません。専用の監視は、チームが集中した可視性、継続的なアラート、長期的な履歴、または複数のSQL Serverインスタンスにわたる迅速な診断を必要とする場合に、より有用になります。