この特集のトップページへ

9.8 SQL Server構成のチューニング

 SQL Serverのリソースは,サーバー構成オプションによって管理されている。サーバー構成オプションは,SQL Server Enterprise Managerやsp_configureシステムストアドプロシージャを使用して最適化することができる。sp_configureシステムストアドプロシージャを利用した場合はすべてのサーバー構成オプションを設定することができるのに対して,SQL Server Enterprise Managerを利用した場合は主要な項目のみしか設定することができない。
 しかし,従来バージョンのSQL Serverとは異なり,SQL Server 7.0ではSQL Server自体がシステムの状況を判断して自動的に構成をチューニングしたり管理したりするようになっている。この点は,SQL Server 7.0における大きな機能強化点の1つである。SQL Server 7.0では管理者がいちいち手作業でサーバー構成オプションを設定しなくとも,主要な設定項目はSQL Serverが自動的に適切な設定を選択してくれるので(Table 9-5),管理の手間は格段に軽減される。また,物理的に少ないメモリをSQL Serverにどれだけ割り当てるかで管理者が頭を悩ませる必要もない。

Table 9-5 SQL Serverが自動設定するサーバー構成オプション

設定項目 説明
locks SQL Serverが設定できるロックの最大数を規定する。デフォルト設定は 0 で,SQL Server はシステム要件の変更に基づいてロックを動的に割り当てたり,割り当て解除したりする
min server memory SQL Serverが使用する最小メモリ量をMバイト単位で設定する
max server memory SQL Serverが使用できるメモリ量 (すべての処理に必要となるメモリの量ではない) を Mバイト単位で設定する
open objects SQL Server上で同時にオープンできるsysobjectsテーブルで定義されたテーブル,ビュー,ルール,ストアドプロシージャ,デフォルト,トリガなどのデータベースオブジェクトの最大数を設定する
recovery interval SQL Serverがデータベースの復旧に必要な最大時間を分単位で設定する。デフォルトは 0 で,SQL Serverが自動設定する
user connections SQL Serverで同時に確立できるユーザー接続の最大数を指定する

 たとえば,SQL Server 7.0ではLazyWriter処理の閾値*1やI/O回数(max lazy writer ioオプション)を自動的に構成してチューニングするので,従来バージョンのSQL Serverで存在していたfree bufferオプションやmax lazy writer ioオプションなどは廃止されている。
 しかし,すべてのサーバー構成オプションが自動的に設定されるわけではないので,従来バージョンのSQL Serverで利用可能であったsp_configureシステムストアドプロシージャを利用して各種サーバー構成オプションを手作業で設定することも可能である。しかし基本的に,自動設定されるサーバー構成オプションについては,SQL Serverで自動構成させるべきである(つまり,自動構成されないものについては,特に設定を変更する必要はない)。これによりSQL Serverは,データベースサーバーに影響を及ぼすさまざまな状況の変化に応じて,データベースサーバーの構成を自動調整してくれる。どうしてもサーバー構成オプションを手作業で設定したい場合には,システムへの影響を十分に考慮しなければならない。


  1. 従来バージョンのSQL Serverにおけるfree bufferオプションである。LazyWriterスレッドがバッファキャッシュ内のダーティページをディスクに書き出し,空きバッファを作成するときの基準値となる。空きバッファ数がfree bufferオプションで指定された数以下になれば,ダーティページをディスクに書き出す。
前へ Chapter 9 26/46 次へ