sys.sp_xtp_checkpoint_force_garbage_collection (Transact-SQL)

適用対象:SQL Server

マージ操作で使用されるソース ファイルをログ シーケンス番号 (LSN) でマークします。その後は不要になり、ガベージ コレクションを実行できます。 また、 sys.sp_xtp_checkpoint_force_garbage_collection 関連する LSN がログ切り捨てポイントより低いファイルを FILESTREAM ガベージ コレクションに移動します。

sys.sp_xtp_force_gcとは対照的に、メモリ内エンジンは、プロセスによってまだ解放されていないガベージ コレクションの対象となるメモリ内データの削除された行に関連するメモリを解放します。

Transact-SQL 構文表記規則

構文

sys.sp_xtp_checkpoint_force_garbage_collection
    [ [ @dbname = ] 'database_name' ]
[ ; ]

引数

[ @dbname = ] 'database_name'

ガベージ コレクションが実行されるデータベース。 既定値は現在のデータベースです。 @dbnameは sysname です

リターン コードの値

0 成功を収めます。 エラーの場合は 0 以外。

結果セット

返される行には次の情報が含まれます。

Column 説明
num_collected_items FILESTREAM ガベージ コレクションに移動されたファイルの数を示します。 これらのファイルのログ シーケンス番号 (LSN) が、ログ切り捨てポイントの LSN 未満です。
num_marked_for_collection_items LSN がログ末尾 LSN のログ ブロック ID で更新されたデータ/デルタ ファイルの数を示します。
last_collected_xact_seqno ファイルが FILESTREAM ガベージ コレクションに移動された最後の対応する LSN を返します。

解説

別のシステム ストアド プロシージャ sys.sp_xtp_force_gcを使用して、ガベージ コレクションを手動でトリガーできます。 sys.dm_xtp_system_memory_consumersのメモリクリーンアップの減少を観察できます。

SQL Server 2022 (16.x) では、sys.dm_xtp_system_memory_consumers動的管理ビューによって、メモリ最適化 tempdb メタデータ固有の分析情報が向上しました。

アクセス許可

db_owner 固定データベース ロール内でメンバーシップが必要です。

不要なソース ファイルをデータベース内のガベージ コレクション用に tempdb マークするには、次のサンプル スクリプトを使用します。

EXEC sys.sp_xtp_checkpoint_force_garbage_collection N'tempdb';