データベースの作成 (データベース エンジン)
データベースを作成するには、データベースの名前、所有者、サイズ、および格納用のファイルおよびファイル グループを指定する必要があります。
データベースを作成する前に、次のことを考慮してください。
- データベースを作成するには、最低でも CREATE DATABASE、CREATE ANY DATABASE、ALTER ANY DATABASE のいずれかの権限が必要です。
- SQL Server 2005 では、各データベースのデータ ファイルおよびログ ファイルに対して特定の権限が設定されます。権限を設定することで、だれでもアクセスできるディレクトリにファイルを配置しても、ファイルが誤って改ざんされる危険性を回避できます。詳細については、「データ ファイルとログ ファイルのセキュリティ保護」を参照してください。
- データベースを作成したユーザーは、そのデータベースの所有者になります。
- 1 つの SQL Server インスタンスで作成できるデータベースは最大 32,767 個です。
- データベースの名前は、「識別子」に指定されている規則に従う必要があります。
- 新しく作成したすべてのデータベースに、model データベース内にあるユーザー定義オブジェクトがすべてコピーされます。model データベースには、新しく作成するすべてのデータベースに含めるテーブル、ビュー、ストアド プロシージャ、データ型など、任意のオブジェクトを追加できます。詳細については、「model データベース」を参照してください。
データベース ファイルおよびファイル グループ
データベースを格納するために使用するファイルは、プライマリ ファイル、セカンダリ ファイル、およびトランザクション ログの 3 種類です。データベースには、プライマリ データ ファイルが 1 つと、トランザクション ログ ファイルが少なくとも 1 つ必要です。この他に、1 つ以上のセカンダリ データ ファイルと追加のトランザクション ログ ファイルを必要に応じて作成できます。
- プライマリ ファイル
プライマリ ファイルには、データベースの起動情報が格納されます。プライマリ ファイルはデータの格納にも使用されます。各データベースには 1 つのプライマリ ファイルがあります。
- セカンダリ ファイル
セカンダリ ファイルには、プライマリ データ ファイルに入りきらないデータがすべて格納されます。プライマリ ファイルのサイズが十分で、データベース内のデータをすべて格納できる場合は、セカンダリ データ ファイルは不要です。データベースが大きい場合は、複数のセカンダリ データ ファイルが必要になることもあります。複数のディスク ドライブ上にセカンダリ ファイルを配置し、複数のディスクにデータを分散する場合もあります。
- トランザクション ログ
トランザクション ログ ファイルには、データベースの復旧に使用するログ情報が格納されます。各データベースには少なくとも 1 つのトランザクション ログ ファイルが必要ですが、複数のトランザクション ログ ファイルがあってもかまいません。ログ ファイルの最小サイズは 512 KB です。
詳細については、「ファイルおよびファイル グループのデザイン」を参照してください。
データベースを作成する際に、データ ファイルのサイズは、データベースに記述されるデータの最大量を基に可能な限り大きく設定しておきます。詳細については、「ファイルとファイル グループを使用したデータベースの拡張の管理」を参照してください。
ファイルの初期化
データ ファイルおよびログ ファイルの初期化は、ディスクに以前削除したファイルのデータが残っている場合にそれを上書きするために行います。次のいずれかの操作を実行した場合も、ファイルは初期化され 0 で満たされます。
- データベースの作成
- 既存のデータベースへのファイルの追加
- 既存のファイルのサイズを大きくする
- データベースまたはファイル グループの復元
SQL Server 2005 では、データ ファイルを瞬時に初期化できます。これにより、上記のファイル操作を高速に実行することが可能になります。詳細については、「データベース ファイルの初期化」を参照してください。
データベース スナップショット
CREATE DATABASE ステートメントを使用すると、既存のデータベース、つまりソース データベースの静的な読み取り専用ビューを作成できます。この読み取り専用ビューをデータベース スナップショットと呼びます。データベース スナップショットは、スナップショット作成時点のソース データベースとトランザクションに関する一貫性があります。1 つのソース データベースに対して、複数のスナップショットを作成できます。詳細については、「データベース スナップショット」を参照してください。
削除可能なデータベース
CD-ROM などのリムーバブル メディアで配布できる読み取り専用のデータベースを作成できます。ある年の詳細な販売データのデータベースなど、過去のデータを格納した大きなデータベースを配布する場合に便利です。詳細については、「リムーバブル データベースの作成」を参照してください。
データベースを作成するには
- CREATE DATABASE (Transact-SQL)
- データベースを作成する方法 (SQL Server Management Studio)
- データベース スナップショットを作成する方法 (Transact-SQL)
参照
概念
データベース所有者の変更
ファイルおよびファイル グループについて
その他の技術情報
データベースの実装
sys.databases (Transact-SQL)
sys.database_files (Transact-SQL)
sys.data_spaces (Transact-SQL)
sys.filegroups (Transact-SQL)