SQL Serverでは、Transact-SQLを使用する場合、データファイルのサイズを小さくするには、大きくするのとは異なる構文が必要です。 T-SQLを使用してファイルサイズを縮小するには、DBCC SHRINKFILE
を使用します コマンドを入力し、データファイルの名前と縮小するサイズを指定します。
以下は、T-SQLを使用してSQLServerのデータファイルのファイルサイズを縮小する例です。
基本的な例
T-SQLを使用してデータファイルのサイズを縮小する基本的な例は次のとおりです。
USE Solutions; GO DBCC SHRINKFILE (Solutions_dat_2, 5); GO
これはおそらくかなり自明です。まず、データファイルを変更するデータベースに切り替えます。次に、DBCC SHRINKFILE
を使用します どのデータファイルと、それを縮小するファイルサイズを指定します。これはMB単位であるため、この例では5MBに削減されます。
デフォルトのファイルサイズに縮小
ファイルサイズを指定しない場合、ファイルはデフォルトサイズに縮小されます。デフォルトのサイズは、ファイルの作成時に指定されたサイズです。
例:
USE Solutions; GO DBCC SHRINKFILE (Solutions_dat_2); GO
データファイルを切り捨てる
TRUNCATEONLY
を使用して、データファイルを切り捨てることができます。 引数。
次に例を示します:
USE Solutions; GO DBCC SHRINKFILE ('Solutions', TRUNCATEONLY); GO
データファイルを空にする
EMPTYFILE
を使用してデータファイルを空にすることもできます 引数。
例:
DBCC SHRINKFILE (Solutions2, EMPTYFILE); GO
これにより、すべてのデータが指定されたファイルから同じファイルグループ内の他のファイルに移行されます。したがって、これがファイルグループ内の唯一のファイルではないことを確認する必要があります(そうしないと、エラーが発生します)。 EmptyFileは、ファイルに新しいデータが追加されないことも保証します。
ファイルを空にしたら、それが必要な場合はファイルを削除できます。空になったファイルを削除する例を次に示します。
ALTER DATABASE Solutions REMOVE FILE Solutions2; GO
そして、次のコマンドを実行することで、削除されたことを確認できます。
USE Solutions; GO SELECT file_id, name, type_desc, physical_name, size, max_size FROM sys.database_files ; GO