SQL Serverのテーブルデータの削除後、空間を解放する方法は何ですか。
SQL Server内で、テーブルのデータを削除して空きスペースを解放する方法はいくつかあります:
- TRUNCATE TABLE文:TRUNCATE TABLE文は、テーブルのすべてのデータを削除し、空き領域を解放します。構文は次のとおりです:
- table_nameテーブルを削除する。
- 注意:TRUNCATE TABLE文はDDL文であり、すぐにテーブルが使用していたスペースを解放しますが、ロールバックすることはできません。
- 削除文:データが表から削除される削除文ですが、すぐにスペースが解放されません。スペースを解放するには、次のいずれかの方法を使用できます:
- DBCC SHRINKDATABASEは、データベース全体のサイズを縮小し、空きスペースを解放するためのコマンドです。構文は以下の通りです:
DBCC SHRINKDATABASE (database_name);注意:このコマンドは、単一のテーブルの空間を解放するのではなく、データベース全体のサイズを縮小します。 - DBCC SHRINKFILEはデータベースファイルのサイズを縮小し、スペースを解放するためのコマンドです。構文は以下の通りです:
DBCC SHRINKFILE(logical_file_name、target_size);注:logical_file_nameはデータベースファイルの論理名、target_sizeは目標ファイルサイズです。 - SQL Server Management Studio(SSMS)のグラフィカルインターフェイスを使用すると、「タスク」->「縮小」機能を使用して、データベースやファイルを縮小して空き容量を開放できます。
空間を解放する前に、データベースのバックアップを取ることをお勧めします。データの意外な消失を防ぐためです。