データ ファイルとトランザクション ログ ファイルの追加と削除

データ ファイルとトランザクション ログ ファイルを追加してデータベースを拡張したり、これらのファイルを削除してデータベース内のファイル数を減らしたりできます。

重要な注意事項重要

SQL Server のデータ ファイルとトランザクション ログ ファイルは、圧縮ファイル システム上には配置しないでください。ただし、読み取り専用のセカンダリ ファイル グループと読み取り専用データベースは、NTFS ファイル圧縮を使用するファイル システムに配置できます。詳細については、「読み取り専用のファイル グループと圧縮」を参照してください。

SQL Server では、各ファイル グループ内のすべてのファイルにデータを比例配分で格納する方式が使用され、各ファイルの空き領域に比例した量のデータが書き込まれます。これにより、新しいファイルをすぐに使用できます。この方法では、通常、すべてのファイルがほぼ同時にいっぱいになります。ただし、トランザクション ログ ファイルをファイル グループに含めることはできません。トランザクション ログ ファイルはそれぞれ独立したファイルであるためです。トランザクション ログが増加していく過程では、最初のログ ファイルがいっぱいになれば、次は 2 番目のログ ファイルへと、いっぱいになるたびに順に移行していく方式が使用されます。比例配分の方式ではありません。したがって、追加したログ ファイルは、既存のファイルに空き領域がなくなるまでは使用されません。

ファイルの追加

ファイルを追加すると、データベースは追加したファイルをすぐに使用できます。データベースにファイルを追加するときに、ファイルのサイズを指定できます。プライマリ ファイルのサイズが指定されないと、データベース エンジンによって model データベースのプライマリ ファイルのサイズが使用されます。セカンダリ データ ファイルまたはログ ファイルが指定されているにもかかわらず、そのファイルに対してサイズが指定されていない場合、データベース エンジンでは、そのファイルのサイズが 1 MB になります。なお、プライマリ ファイルに指定するサイズは、model データベースのプライマリ ファイルのサイズ以上である必要があります。詳細については、「model データベース」を参照してください。

ファイル内の領域がすべて使用された場合にそのファイルを拡張する最大サイズを設定できます。また、ファイルの拡張が必要になったときに使用する、拡張の増分値も設定できます。最大サイズを指定しないと、ファイルはディスク領域がなくなるまで拡張されます。ファイル拡張の増分値を指定しないと、データ ファイルの場合は既定値の 1 MB、ログ ファイルの場合は既定値の 10 パーセントに設定されます。最小値は 64 KB です。

ファイルが属するファイル グループを指定できます。ファイル グループはファイルの名前付きコレクションで、バックアップ操作や復元操作などのデータ配置作業やデータ管理作業を簡素化するために使用されます。詳細については、「ファイルとファイル グループの使用」を参照してください。

ファイルの削除

データ ファイルまたはトランザクション ログ ファイルを削除すると、データベースからファイルが削除されます。ファイル内にデータやトランザクション ログ情報がある場合は、ファイルをデータベースから削除することはできません。ファイルが完全に空でなければ削除できません。データ ファイルから同じファイル グループのその他のファイルにデータを移動することによってそのデータ ファイルを空にするには、EMPTYFILE 句を指定して DBCC SHRINKFILE ステートメントを使用します。圧縮操作が完了すると、データベース エンジンでは空にしたファイルにデータを配置することが許可されなくなるので、ALTER DATABASE ステートメントまたは SQL Server Management Studio を使用して、そのファイルを削除できます。

あるログ ファイルから別のログ ファイルにトランザクション ログ データを移動して、トランザクション ログ ファイルを空にすることはできません。非アクティブなトランザクションをトランザクション ログ ファイルから削除するには、トランザクション ログを切り捨てるか、またはバックアップする必要があります。トランザクション ログ ファイル内にアクティブなトランザクションも非アクティブなトランザクションもない場合は、データベースからログ ファイルを削除できます。詳細については、「トランザクション ログの管理」を参照してください。

重要な注意事項重要

ファイルを追加または削除したら、すぐにデータベースのバックアップを作成してください。データベース全体のバックアップを作成するまでは、トランザクション ログのバックアップを作成しないでください。

データ ファイルまたはログ ファイルをデータベースに追加または削除するには