特殊なテーブル
SQL Server 2005 には、標準的な役割を果たす基本的なユーザー定義のテーブル以外に、データベース内で特別な目的で使用される次のようなテーブルがあります。
- パーティション テーブル
- 一時テーブル
- システム テーブル
パーティション テーブル
パーティション テーブルはデータが行方向に分割されているテーブルで、パーティションがデータベースの複数のファイル グループに分散される場合もあります。大きなテーブルやインデックスをパーティション分割すると、コレクション全体の整合性を維持しながら、データのサブセットに対するアクセスや管理を迅速かつ効率的に行うことができるので、大きなテーブルやインデックスを管理しやすくなります。OLTP システムから OLAP システムへのデータの読み込みなどの操作は、以前のリリースでは数分から数時間かかっていましたが、パーティション分割のシナリオでは、ほんの数秒で実行されるようになります。メンテナンス操作も、データのサブセットに対して実行することにより、テーブル全体ではなく必要なデータのみを対象にできるので効率化されます。
テーブルが非常に大きいか、大きくなると予想されるとき、次のいずれかに当てはまる場合はパーティション分割が効果的です。
- さまざまな用途で使用されるデータが大量にテーブルに含まれている場合や、含まれることが予想される場合。
- テーブルに対するクエリまたは更新が意図どおり実行されない場合や、メンテナンス コストがあらかじめ定めたメンテナンス期間を超えている場合。
制約、デフォルト、ID 値、タイムスタンプ値、トリガ、インデックスなど、標準的なテーブルのデザインおよびクエリに関連するすべてのプロパティおよび機能が、パーティション テーブルでもサポートされます。したがって、あるサーバーのローカルにパーティション ビューを実装する場合、代わりにパーティション テーブルを実装できます。パーティション テーブルの理解、デザイン、および実装に役立つ情報の詳細については、「パーティション テーブルとパーティション インデックス」を参照してください。
一時テーブル
一時テーブルには、ローカル一時テーブルとグローバル一時テーブルの 2 種類があります。ローカル一時テーブルは、そのテーブルを最初に作成または参照した SQL Server インスタンスへの接続と同じ接続が維持されている間に、テーブルの作成者だけが見ることができます。ユーザーが SQL Server インスタンスを切断するとローカル一時テーブルは削除されます。グローバル一時テーブルは、いったん作成されると、任意のユーザーが任意の接続で見ることができます。テーブルを参照しているすべてのユーザーが SQL Server インスタンスを切断すると削除されます。
一時テーブルの詳細については、「テーブルの作成と変更の基礎」を参照してください。
システム テーブル
SQL Server では、サーバーの構成とすべてのテーブルの構成を定義したデータが、システム テーブルという特殊なテーブル セットに格納されます。ユーザーはマイクロソフト カスタマー サービスの指示の下でのみ使用できる DAC (専用管理者接続) を使用する場合を除き、システム テーブルに対して直接クエリおよび更新を実行しないでください。詳細については、「専用管理者接続の使用」を参照してください。システム テーブルは、SQL Server が新しいバージョンになると変更されるのが普通です。システム テーブルを直接参照するアプリケーションは、新しいバージョンの SQL Server にアップグレードする前に、場合によっては別のバージョンのシステム テーブルに書き直す必要があります。システム テーブル内の情報は、カタログ ビューから入手できます。詳細については、「システム テーブル (Transact-SQL)」を参照してください。
重要 SQL Server 2005 では、旧バージョンとの互換性のために SQL Server 2005 データベース エンジン システム テーブルを読み取り専用ビューとして実装しています。読み取り専用のシステム テーブルのデータを直接操作することはできません。SQL Server のメタデータにはカタログ ビューを使用してアクセスすることをお勧めします。