sp_clean_db_free_space(Transact-SQL)
- 記事
- 01/29/2021
- 2 読むべき分
-
- m
- c
- r
- p
- M
-
+4
に適用されます: SQL Server(すべてのサポートされているバージョン)
は、SQL Serverのデータ変更ルーチンのためにデータベースページに残っている残りの情報を削除します。 sp_clean_db_free_spaceは、データベースのすべてのファイル内のすべてのページを消去します。
Transact-SQL構文規則
構文
sp_clean_db_free_space 'database_name' 'delay_in_seconds' ]
引数
@dbname=’database_name’
は、クリーンアップするデータベースの名前です。 dbnameのデータ型はsysnameで、NULLにすることはできません。
@cleaning_delay=’delay_in_seconds’
は、ページのクリーニングの間に遅延する間隔を指定します。 これは、I/Oシステムへの影響を軽減するのに役立ちます。 delay_in_secondsのデータ型はintで、既定値は0です。
戻りコード値
0(成功)または1(失敗)
備考
テーブルからの削除操作または行の移動を引き起こす更新操作は、行への参照を削除することによ ただし、特定の状況下では、行がゴーストレコードとしてデータページに物理的に残ることがあります。 ゴーストレコードは、バックグラウンドプロセスによって定期的に削除されます。 この残差データは、クエリに応答してデータベースエンジンによって返されません。 ただし、データまたはバックアップファイルの物理的なセキュリティが危険にさらされている環境では、sp_clean_db_free_space
を使用してこれらのゴーストレコードをクリー データベースファイルごとにこの操作を実行するには、sp_clean_db_file_free_space(Transact-SQL)を使用します。
sp_clean_db_free_spaceの実行に必要な時間は、ファイルのサイズ、使用可能な空き領域、およびディスクの容量によって異なります。 sp_clean_db_free_space
を実行するとI/Oアクティビティに大きな影響を与える可能性があるため、通常の操作時間外にこの手順を実行することをお勧めします。
sp_clean_db_free_space
を実行する前に、データベースの完全バックアップを作成することをお勧めします。
関連するsp_clean_db_file_free_spaceストアドプロシージャは、単一のファイルをクリーンアップできます。
権限
には、db_owner
データベースロールのメンバーシップが必要です。
例
次の例では、AdventureWorks2012
データベースからすべての残留情報を消去します。
USE master; GO EXEC sp_clean_db_free_space @dbname = N'AdventureWorks2012';
関連項目
データベースエンジンストアドプロシージャ(Transact-SQL)
ゴーストクリーンアッププロセスガイド
sp_clean_db_file_free_space(Transact-SQL)