システム データベース
SQL Server 2005 には、次のシステム データベースが用意されています。
システム データベース | 説明 |
---|---|
SQL Server のインスタンスのシステムレベルの情報をすべて記録します。 |
|
警告やジョブのスケジュールを設定するために SQL Server エージェントにより使用されます。 |
|
SQL Server のインスタンスで作成されたすべてのデータベースのテンプレートとして使用されます。データベース サイズ、照合順序、復旧モデル、およびその他のデータベース オプションなどの model データベースに変更を加えると、その変更内容は、それ以降に作成されるすべてのデータベースに適用されます。 |
|
SQL Server 2005 に装備されているシステム オブジェクトを格納する読み取り専用のデータベースです。システム オブジェクトは、物理的には Resource データベースに保存されていますが、すべてのデータベースの sys スキーマに論理的に表示されます。 |
|
一時オブジェクトや生成途中の結果セットを保存するためのワークスペースです。 |
システム データの変更
SQL Server では、ユーザーは、システム テーブル、システム ストアド プロシージャ、カタログ ビューなどのシステム オブジェクトに含まれている情報を直接更新できません。代わりに、完全な管理ツール セットが用意されています。ユーザーは、これらのツールを使用して、システムを完全に管理し、データベース内のすべてのユーザーとオブジェクトを管理できます。その一部を次に示します。
- SQL Server Management Studio などの管理ユーティリティ。
- SQL-SMO API。このツールを使用すると、プログラマはアプリケーションに SQL Server を管理するための完全な機能を含めることができます。
- Transact-SQL スクリプトとストアド プロシージャ。これらのツールでは、システム ストアド プロシージャと Transact-SQL DDL ステートメントを使用できます。
上記のツールを使用すると、アプリケーションをシステム オブジェクトの変更による影響から保護できます。たとえば、マイクロソフトでは、新しいバージョンの SQL Server に追加された新機能をサポートするために、そのバージョンのシステム テーブルを変更する必要があることがあります。多くの場合、システム テーブルを直接参照する SELECT ステートメントを実行しているアプリケーションでは、旧形式のシステム テーブルに依存しています。そのような場合、システム テーブルに対して SELECT ステートメントを実行しているアプリケーションが再作成されるまで、サイトを新しいバージョンの SQL Server にアップグレードできない可能性があります。マイクロソフトでは、システム ストアド プロシージャ、DDL、および SQL-SMO の公開された各インターフェイスを考慮し、これらのインターフェイスの旧バージョンとの互換性を保つように努力しています。
システム テーブルで定義されたトリガでは、システムの動作が変更されることがあるので、このようなトリガはサポートしていません。
システム データベース データの表示
システム テーブルに対する直接的なクエリを実行するような Transact-SQL ステートメントは、アプリケーションが必要とする情報を取得する方法が他にない場合を除いて、作成しないでください。代わりに、アプリケーションで、次のツールを使用してカタログ情報やシステム情報を取得することをお勧めします。
- システム カタログ ビュー。
- SQL-SMO。
- WMI (Windows Management Instrumentation) インターフェイス。
- カタログ関数、メソッド、属性、または、ADO、OLE DB、ODBC などのアプリケーションで使用されるデータ API のプロパティ。
- Transact-SQL システム ストアド プロシージャと組み込み関数。
参照
処理手順
オブジェクト エクスプローラでシステム オブジェクトを非表示にする方法
概念
システム データベースのバックアップと復元に関する注意点
システム データベースの復旧モデル
SQL Server システム カタログに対するクエリ
その他の技術情報
カタログ ビュー (Transact-SQL)
データベース エンジン管理プログラミング
物理データベース アーキテクチャ
データベースについて
WMI と SQL Server