SQL Server 2000のシステムデータベースは次の4つ。master、model、tempdb、msdb。
さらに、SQL Server 2000のレプリケーションを作成すると、distributionデータベースが作成される。
masterデータベース
masterデータベースはSQL Serverの基幹部分で、システムレベルのすべての情報が格納される。これには、ログインアカウント、サーバの初期化と構成の設定、SQL Serverのインスタンスの管理下にあるすべてのデータベースの一覧の情報が含まれる。masterデータベースが壊れると、SQL Serverの機能が停止する。ただし、Master再構築ユーティリティ(rebuildm)を使用すれば、壊れたmasterデータベースを修復できる。masterデータベースを再構築する手順は以下の通り。
- SQL Serverをシャットダウンする
- \Tools\Binnフォルダにあるrebuildm.exeファイルを実行する
- [Masterの再構築]ダイアログボックスが表示されたら、[参照]をクリックする
- SQL ServerのインストールCD-ROMから\Dataディレクトリを選択し、[OK]をクリックする
- masterやほかのデータベースの設定を変更する場合は、[設定]をクリックする(省略可)
- [Masterの再構築]ダイアログボックスの[再構築]をクリックし、masterデータベースを再インストールする
masterデータベースを再構築すると、データベース内の各オブジェクトとすべてのデータが削除される。masterデータベースを再構築する前に、データファイルとログファイルのバックアップ、または各データベースオブジェクト用のスクリプトとデータのバックアップを必ず作成すること。masterデータベースを再構築したら、データベースオブジェクトを再作成し、データを再度読み込むか、sp_attach_dbストアドプロシージャを使用してデータファイルとログファイルを再度関連付ける。
modelデータベース
modelデータベースは、その名前が示すように、新たに作成できるユーザデータベースのテンプレート(プロトタイプ)になる。modelデータベースには、新たに作成されるすべてのデータベースに適用されるオプション、設定、オブジェクトが含まれる。既存のデータベースに対しては、modelデータベースは何も影響を与えない。SQL Serverは起動するたびにtempdbデータベースを作成するが、このtempdbデータベース作成にmodelデータベースが使用されるため、SQL Serverの起動にはmodelデータベースが必要。modelデータベースのサイズによって、サーバ上で作成できるデータベースの最小サイズが決まる。
tempdbデータベース
tempdbデータベースは、一時テーブル、一時ストアドプロシージャ、SQL Serverが一時的に作成する作業テーブルなどを保管する一時的な格納領域。このデータベースは誰でも使用できる。つまり、SQL Serverにアクセスするすべてのユーザが、tempdbデータベースにアクセスできる。接続が切れると、その接続用にtempdbデータベースに格納されていたデータは失われる。サーバをシャットダウンすると、すべてのデータが消去される。tempdbデータベースは、SQL Serverが再起動するたびに新しく作成され、またバックアップすることはできない。
規定では、SQL Server実行中に、tempdbデータベースのサイズが必要に応じて自動的に拡張される。ただし、サーバをシャットダウンして再起動すると、tempdbデータベースは初期サイズに戻る(他のデータベースはすべて拡張されたサイズのままになる)。SQL Server 7.0からは、SQL Serverエンジンの効率化が図られ、tempdbデータベースをRAMに常駐させることはできなくなった。
msdbデータベース
msdbデータベースは、SQL Serverエージェントと連携して機能する。msdbデータベースには、スケジュール、ジョブ、警告、オペレータに関する情報が格納される。このデータベースがなくなったり壊れた場合、SQL Serverエージェントは機能しなくなるが、SQL Serverは機能し続ける。