Share via


データベースの作成 (データベース エンジン)

データベースを作成するには、データベースの名前、所有者、サイズ、および格納用のファイルおよびファイル グループを指定する必要があります。

データベースを作成する前に、次のことを考慮してください。

  • データベースを作成するには、最低でも CREATE DATABASE、CREATE ANY DATABASE、ALTER ANY DATABASE のいずれかの権限が必要です。

  • SQL Server では、各データベースのデータ ファイルおよびログ ファイルに対して特定の権限が設定されます。権限を設定することで、だれでもアクセスできるディレクトリにファイルを配置しても、ファイルが誤って改ざんされる危険性を回避できます。詳細については、「データ ファイルとログ ファイルのセキュリティ保護」を参照してください。

  • データベースを作成したユーザーは、そのデータベースの所有者になります。

  • 1 つの SQL Server インスタンスで作成できるデータベースは最大 32,767 個です。

  • データベースの名前は、「識別子」に指定されている規則に従う必要があります。

  • 新しく作成したすべてのデータベースに、model データベース内にあるユーザー定義オブジェクトがすべてコピーされます。model データベースには、新しく作成するすべてのデータベースに含めるテーブル、ビュー、ストアド プロシージャ、データ型など、任意のオブジェクトを追加できます。詳細については、「model データベース」を参照してください。

データベース ファイルおよびファイル グループ

データベースを格納するために使用するファイルは、プライマリ ファイル、セカンダリ ファイル、およびトランザクション ログの 3 種類です。データベースには、プライマリ データ ファイルが 1 つと、トランザクション ログ ファイルが少なくとも 1 つ必要です。このほかに、1 つ以上のセカンダリ データ ファイルと追加のトランザクション ログ ファイルを必要に応じて作成できます。

  • プライマリ ファイル
    プライマリ ファイルには、データベースの起動情報が格納されます。プライマリ ファイルはデータの格納にも使用されます。各データベースには 1 つのプライマリ ファイルがあります。

  • セカンダリ ファイル
    セカンダリ ファイルには、プライマリ データ ファイルに入りきらないデータがすべて格納されます。プライマリ ファイルのサイズが十分で、データベース内のデータをすべて格納できる場合は、セカンダリ データ ファイルは不要です。データベースが大きい場合は、複数のセカンダリ データ ファイルが必要になることもあります。複数のディスク ドライブ上にセカンダリ ファイルを配置し、複数のディスクにデータを分散する場合もあります。

  • トランザクション ログ
    トランザクション ログ ファイルには、データベースの復旧に使用するログ情報が格納されます。各データベースには少なくとも 1 つのトランザクション ログ ファイルが必要ですが、複数のトランザクション ログ ファイルがあってもかまいません。ログ ファイルの最小サイズは 512 KB です。

詳細については、「ファイルおよびファイル グループのデザイン」を参照してください。

データベースを作成する際に、データ ファイルのサイズは、データベースに記述されるデータの最大量を基に可能な限り大きく設定しておきます。詳細については、「ファイルとファイル グループを使用したデータベースの拡張の管理」を参照してください。

ファイルの初期化

データ ファイルおよびログ ファイルの初期化は、ディスクに以前削除したファイルのデータが残っている場合にそれを上書きするために行います。次のいずれかの操作を実行した場合も、ファイルは初期化され 0 で満たされます。

  • データベースの作成

  • 既存のデータベースへのファイルの追加

  • 既存のファイルのサイズを大きくする

  • データベースまたはファイル グループの復元

SQL Server では、データ ファイルを瞬時に初期化できます。これにより、上記のファイル操作を高速に実行することが可能になります。詳細については、「データベース ファイルの初期化」を参照してください。

データベース スナップショット

CREATE DATABASE ステートメントを使用すると、既存のデータベース、つまりソース データベースの静的な読み取り専用ビューを作成できます。この読み取り専用ビューをデータベース スナップショットと呼びます。データベース スナップショットは、スナップショット作成時点のソース データベースとトランザクションに関する一貫性があります。1 つのソース データベースに対して、複数のスナップショットを作成できます。詳細については、「データベース スナップショット」を参照してください。

削除可能なデータベース

CD-ROM などのリムーバブル メディアで配布できる読み取り専用のデータベースを作成できます。ある年の詳細な販売データのデータベースなど、過去のデータを格納した大きなデータベースを配布する場合に便利です。詳細については、「リムーバブル データベースの作成」を参照してください。