これまで数十年にわたり、Windows ベースの環境ではリレーショナル データベース ソリューションとして Microsoft SQL が首位の座を維持してきました。2017 年に Microsoft SQL サポートが Linux サーバにまで拡大されてからは、このプラットフォームがますます普及しています。皆様がどんな種類のインフラストラクチャやサーバを管理しているかを問わず、Microsoft SQL データベースがどこかで使われている可能性は大いにあります。
こうした状況で、Microsoft SQL モニタリングの基礎を理解しておくことは非常に重要です。このページでは、Microsoft SQL をモニタリングすべき理由と、最も効率的にプラットフォームをモニタリングするためのテクニックやツールについて説明します。
Microsoft SQL とは
1989 年に初めてリリースされたリレーショナル データベース プラットフォーム Microsoft SQL を使用すると、構造化された方法でデータを保管して分析できます。Microsoft SQL は、MySQL などのオープンソース リレーショナル データベースや Oracle など競合他社製の商用 SQL プラットフォームに対抗する Microsoft の答えです。
Microsoft SQL をモニタリングする理由
定評あるリレーショナル データベース プラットフォームとして、Microsoft SQL は各種のミッション クリティカルなデータを保管する目的で一般的に使用されています。販売記録などの重要なビジネス データや個人情報が Microsoft SQL データベースに保持されていることでしょう。また、企業のアプリケーションへのアクセスを管理するための認証データも保管されていることでしょう。さらに、Web サイトに取り込まれるデータを格納したり、エンドユーザから Web ベースのフォームとして送信されたデータを受け入れることもできます。
さまざまなワークフローで Microsoft SQL データベースが果たす中心的役割を踏まえると、アプリケーションで必要なデータベースを常に使用可能な状態にするには、Microsoft SQL のモニタリング機能が不可欠となります。また、クエリに対して妥当な時間内に応答できない状態を避けるには、データべースが適切なパフォーマンスを維持していることを検証できる必要があります。さらに、どのようなデータベースであっても、データの破損は常につきまとうリスクです。だからこそ、Microsoft SQL をモニタリングしてデータ破損の兆候があるかどうかを監視することが重要です。
Microsoft SQL の可用性、パフォーマンス、データ整合性をモニタリングしていれば、リアルタイムで問題を検出し、アプリケーションやエンドユーザに重大な混乱を招く前に問題に対処できます。
それと同時に、Microsoft SQL をモニタリングすると経時的な傾向を特定できます。たとえばパフォーマンス劣化が進行していることがわかった場合、SQL サーバのリソース割り当てを増やしたりデータ保管を効率化したりする必要性があるかもしれません。またストレージ使用率を特定できれば、容量が不足する前にデータべース容量を増やすことができます。
Microsoft SQL の何をモニタリングするか
Microsoft SQL から多種多様なメトリクスが得られ、これらのメトリクスはさまざまな場所に保管されています。モニタリング可能なメトリクスとその保管場所の全般的概要については、Microsoft SQL のドキュメントをご覧ください。
現実的に言うと、ほとんどのチームにとって、Microsoft SQL のあらゆるメトリクスを常時収集できる能力が必要なわけではありません。すべてのメトリクスをモニタリングするのではなく、Microsoft SQL をモニタリングする主要な目的を戦略的に考え、それらの目的を達成するのに役立つメトリクスに焦点を絞ることが有効です。以下に示すのは、モニタリングの焦点となる一般的な分野と、それぞれの分野でインサイトを得るのに使用できる Microsoft ネイティブ ツールです。
- サーバのステータス: Microsoft SQL Server のパフォーマンス カウンタには、サーバの合計 CPU 使用率、起動以降の接続回数などの情報が記録されます。一般に、このデータは、リアルタイムでパフォーマンスや可用性を追跡する際には役立ちませんが、このデータから長期間にわたる Microsoft SQL の健全性の傾向を把握できます。
- サーバの負荷: SQL Server 内のアクティビティ モニタを使用すると、I/O 量や特にリソースを消費しているクエリなど、データ ポイントに関する可視性が得られます。アクティビティ モニタのデータを基に、サーバの全体的な負荷を追跡し、負荷の変化をパフォーマンスの傾向に相関付けることができます。同様のデータは、Windows パフォーマンス モニタでもモニタリングできます。このモニタは、Microsoft SQL Server および Windows プラットフォーム上で実行されている他のアプリケーションを追跡します。
- クエリの実行: SQL Server 内のライブ クエリ統計ツールを使用すると、クエリのパフォーマンスを詳細に把握できます。このツールはクエリ実行に関するデータをリアルタイムで表示するので、低パフォーマンスのクエリをピンポイントで特定したり、異なる時点の間でクエリ パフォーマンスを比較したりするのに役立ちます。
- パフォーマンス: Microsoft SQL の全体的なパフォーマンスを最適化するには、トレース フラグが重要なリソースとなります。トレース フラグ自体はメトリクスではありませんが、これを使ってロギングとモニタリングのデータ出力を制御でき、それをパフォーマンスのトラブルシューティングに役立てることができます。一般的には、パフォーマンスを追跡してパフォーマンス上のボトルネックを特定するには上記のアクティビティ モニタと Windows パフォーマンス モニタ ツール、ならびに SQL Server パフォーマンス ダッシュボードが有用なツールとなります。
- エラー: Microsoft SQL のエラーはエラー ログに記録されます。通常、エラー ログが保管される場所は、Windows サーバ上の C:\Program Files\Microsoft SQL Server の 1 つのサブフォルダです。また Windows イベント ビューアで Microsoft SQL のエラー イベントを表示することもできます。
Microsoft SQL をどのようにモニタリングするか
Microsoft SQL をモニタリングするには、主に 2 つの方法があります。
1 つは、Microsoft が提供している上記のさまざまなネイティブ ツールを使用することです。これらのツールは Windows ベースの Microsoft SQL インストール環境では例外なくデフォルトで使用可能になっていますが、この方法にはいくつかの欠点があります。まず、Microsoft SQL 環境のさまざまな側面をモニタリングするには複数のツールを交互に切り替えなければなりません。次に、上記のツールの中には、リアルタイム専用に設計されていて、経時的な傾向をモニタリングしないものがあります。3 つ目の欠点として、これらのツールのほとんどは柔軟にカスタマイズできません。元々意図されていたモニタリング データだけを表示し、ユーザが必要に応じてモニタリング構成を調整する余地はありません。
そのため、場合によっては別の方法で、つまり Sumo Logic Microsoft SQL App などのサードパーティ製ツールを使って Microsoft SQL をモニタリングした方が良いこともあります。Sumo Logic を使用すると、該当するすべての Microsoft SQL メトリクスを 1 つのツールに統合できます。また Sumo Logic には、収集したデータを解釈できるように事前構成されたダッシュボードも用意されています。これらのダッシュボードを使用すると、SQL Server や Windows 環境のさまざまなツールを交互に切り替えることなく、Microsoft SQL のあらゆる側面を 1 か所でモニタリングできます。Sumo Logic Microsoft SQL App には事前構成された便利なダッシュボードが備わっている一方、ユーザは必要に応じてカスタム ダッシュボードを作成することもできます。
Microsoft SQL のモニタリングに伴う複雑さが Sumo Logic によってどのように軽減されるか、無料の Sumo Logic トライアルをリクエストしてください。
Complete visibility for DevSecOps
Reduce downtime and move from reactive to proactive monitoring.