Share via


第 6 章 SQL Server 2000 の管理、監視、およびトラブルシューティング~ MCDBA をめざそう!! ~

NRI ラーニング ネットワーク株式会社

技術研修部

清藤 めぐみ

2002年1月25日

はじめに

MCP 試験を受験される方はご存知かと思いますが、Microsoft のサイト(https://www.microsoft.com/japan/learning/mcp/exam.aspx?cert=1&id=70-228  leave-site.gif で試験範囲を確認することができます。一度は目を通しておくことをお勧めします。本連載は、試験トピックスの章立てに併せてポイントを解説していきます。  

目次

1. SQL Server エージェントジョブの作成、管理、およびトラブルシューティング 1. SQL Server エージェントジョブの作成、管理、およびトラブルシューティング
2. SQL Server エージェントによる警告とオペレータの構成 2. SQL Server エージェントによる警告とオペレータの構成
3. ハードウェアリソースの使用の最適化 3. ハードウェアリソースの使用の最適化
4. SQL Server システムアクティビティの最適化とトラブルシューティング 4. SQL Server システムアクティビティの最適化とトラブルシューティング

最後は SQL Server 2000 全体の管理やトラブルシューティングの内容です。

「SQL Server 2000 の管理、監視、およびトラブルシューティング」では、次の項目がポイントとなります。

  • SQL Server エージェントジョブの作成、管理、およびトラブルシューティング

  • SQL Server エージェントによる警告とオペレータの構成

  • ハードウェアリソースの使用の最適化

  • SQL Server システムアクティビティの最適化とトラブルシューティング

1. SQL Server エージェントジョブの作成、管理、およびトラブルシューティング

SQL Server エージェントは SQL Server の管理タスクを自動化する Windows サービスです。ジョブの実行、警告の生成を行うために、SQL Server エージェントは常に実行している必要があります。

SQL Server エージェントサービス用のサービスアカウントは、sysadmins ロールのメンバになっていなくてはいけません。SQL Server エージェントが電子メールシステムと通信を行う場合は、ドメイン(またはローカル)ユーザアカウントを使用する必要があります。

ジョブは SQL Server Enterprise Manager または、sp_add_job ストアドプロシージャを使用します。SQL Server 2000 では、1 つのジョブの中に複数のジョブステップを格納することができます。ジョブステップは、Transact-SQL ステートメント、OS システムコマンド(CmdExec)、ActiveX スクリプト、レプリケーションプロセスを定義できます。(レプリケーションプロセスは、レプリケーションを設定すると自動的に作成されます。)複数ステップを定義した場合、ステップが成功、または失敗した時の次の操作を指定できます(図 1-1)。

mcdba6-1.gif

1-1 ジョブステップの設定

また、複数のサーバに対するジョブを集中管理し、自動化することができます。マルチサーバジョブの自動化は1台のマスタサーバ(MSX)と、1 台以上の対象(ターゲット)サーバ(TSX)で構成されます。マスタサーバはジョブを対象サーバに配布し、対象サーバは結果ステータスを MSX オペレータに送信します。マルチサーバ管理を設定することにより、複数のサーバを一括管理することができます。

mcdba6-2.gif

1-2 マルチサーバジョブ

対象サーバは複数のマスタサーバで管理することはできません。ほかのマスタサーバに登録するには、現在のマスタサーバから対象サーバの登録を解除しなくてはいけません。

参照 MSUテキスト「SQL Server システム管理(P.235~236、P.255~260、P.297~299)」 

Books Online(マルチサーバ管理)

2. SQL Server エージェントによる警告とオペレータの構成

SQL Server では、SQL Server エラー、ユーザ定義エラー、またはパフォーマンス条件に対応する警告を作成し、データベースの潜在的な問題に対応することができます。警告を使用する場合、SQL Server エージェントが実行されている必要があります。

次の SQL Server イベントは、Windows アプリケーションログに記録されます。

  • 重大度レベルが 19~25 までの SQL エラー

  • RAISERROR WITH LOG ステートメントの実行

  • xp_logevent 拡張ストアドプロシージャの実行

その他警告を作成したときは、通知するオペレータの設定ができます(図 2-1)。

オペレータに通知する方法としては、メール、ポケットベル、Net Send を使用することができます。

mcdba6-3.gif

2-1 警告のプロパティにおける通知先オペレータの設定

参照 MSUテキスト「SQL Server システム管理(P.274~280)」

Books Online(警告の定義)

3. ハードウェアリソースの使用の最適化

ハードウェアリソースの使用状況を監視するには、Windows システムモニタを使用します。

ハードウェアリソースには、メモリ、CPU、ディスク I/O が含まれます。

各リソースを監視するための主なカウンタとガイドラインを表 3-1 に示します。

オブジェクト:カウンタ

メモリ/ページングファイルの使用状況

Memory Available Bytes

(プロセスの実行に使用できるバイト数)

Memory Pages / sec

(RAM / ハードディスク間で読み取り / 書き込みを行うページ数)

Process Page Faults / sec / SQL Server インスタンス

(メモリ上の指定されたワーキングセット内で引き起こされるページフォルト)

SQL Server によって使用されているメモリの使用状況

Process Working Set / SQL Server インスタンス

(SQL Server が使用するメモリの使用量)

SQL Server Buffer Manager Buffer Cache Hit Ratio

(ハードディスクから読み取らずにバッファキャッシュ内で見つかったページの %)

SQL Server Buffer Manager Total Pages

(バッファキャッシュ内での総ページ数)

SQL Server Memory Manager Total Server Memory

(サーバが使用している動的メモリの総量)

スレッド/プロセッサの使用状況

Processor %Processor Time

(CPUの使用率)

System Processor Queue Length

(プロセッサキューにあるスレッドの数)

Processor %Privileged Time

(SQL Server の I/O 要求など、カーネルコマンドを実行するための特権時間に費やす時間の割合)

ハードディスク I/O

PhysicalDisk %Disk Time

(ハードディスクが読み取り / 書き込み処理を行った時間の割合)

PhysicalDisk Disk Reads/sec

(読み取り操作の比率)

PhysicalDisk Disk Writes/sec

(書き込み操作の比率)

3-1 システムリソースを監視するためのカウンタ

主なカウンタとガイドラインをしっかりと抑えておきましょう。

参照 MSUテキスト「SQL Server 2000 システム管理(P.436~442)」

システムモニタの各カウンタの説明

4. SQL Server システムアクティビティの最適化とトラブルシューティング

SQL Server のロックの状況を確認する場合、SQL Server Enterprise Manager(図 4-1)を使用するか、sp_losk ストアドプロシージャ(図 4-2)を使用します。

mcdba6-4.gif

4-1 Enterprise Manager によるロック状況の確認

mcdba6-5.gif

4-2 sp_lock によるロック状況の確認

ロックがかかっている場合、終了しないとほかのクエリが実行できないというトラブルが発生します。ロックを終了させるには、SQL Server Enterprise Manager を使用します。

また、クエリパフォーマンスを確認するには、SQL プロファイラを使用して「RPC:Completed」や「SQL:BatchCompleted」関連のイベントをキャプチャするようにトレースの設定を行います。クエリパフォーマンスが低くなる主な原因として考えられるのは、以下の項目です。

  • 低速なネットワーク通信

  • クライアント / サーバ間の大量のデータ転送クエリの実行

  • SQL Server で利用可能なメモリ不足

  • 統計情報の欠如

  • インデックスの欠如

  • ロック

トレース情報を使用して、原因を追求します。

参照: MSUテキスト「SQL Server システム管理(P.428、P.436~445)」

5. まとめ

6 章にわたって、70-228 試験に関するトピックスのポイントを確認してきました。出題率が高い章があるわけではありません。複合的な問題も出題されますので、まず、個々の特徴をしっかりと捉えていくことが、合格への近道になると思います。

70-228 試験に合格すると、MCDBA に一歩近づきます。次は 70-229 試験にチャレンジです。MCDBA をめざして頑張りましょう!

mcdba.jpg

清藤 めぐみ : 1997 年に Microsoft 認定トレーナ(MCT)の資格を取得し、Windows NT のトレーニングを担当するようになりました。現在は NRI ラーニングネットワークに所属し、Windows 2000 などのトレーニングや、技術書籍の監修を行う毎日で、あっという間に時間が過ぎてしまいます。そんな状態なので、最近はちょっとストレスがたまり気味。ストレス解消のため、ショッピングにはまってしまい、財布の中身が心許ない今日この頃です。 皆さんのご期待にそえるような記事作りをめざしていきます。よろしくお願いします