この更新プログラムにより、変更追跡が有効になっているデータベース内のサイド テーブル (change_tracking_objectid) を手動でクリーンできる新しいストアド プロシージャが追加されます。
構文
sp_flush_CT_internal_table_on_demand [ @TableToClean= ] 'TableName'
引数
[@TableToClean= ]'TableName' は、変更追跡が有効になっているテーブルの名前です。 バックログは、変更追跡による自動クリーンアップに残されます。
予想される出力
ストアド プロシージャを実行すると、次のいずれかのシナリオが発生します。
- テーブルが存在しない場合、または変更の追跡が有効になっていない場合は、適切なエラー メッセージがスローされます。
- このストアド プロシージャは、sys.change_tracking_tables動的管理ビューを使用して、無効なクリーンアップ バージョンに基づく変更追跡サイド テーブルからコンテンツをクリーンアップする別の内部ストアド プロシージャを呼び出します。 実行中には、削除された行の合計 (5,000 行ごとに) の情報が表示されます。
解決策
SQL Serverのサービス パック情報
この更新プログラムは、SQL Serverの次のサービス パックで修正されています。
SQL Server 2016 Service Pack 1
SQL Server 2014 用 Service Pack 3
SQL Server 2012 用 Service Pack 4
SQL Serverのサービス パックについて:
Service Pack は累積的であり、 最新の Service Pack には新しい修正プログラムと共に、それ以前の Service Pack に含まれていたすべての修正プログラムが含まれています。 このサービス パックの最新の Service Pack と最新の累積的な更新プログラムを適用することをお勧めします。 最新のサービス パックをインストールする前に、以前のサービス パックをインストールする必要はありません。 最新の Service Pack と最新の累積的な更新プログラムの詳細については、次の記事の表 1 を参照してください。
SQL Serverとそのコンポーネントのバージョン、エディション、および更新レベルを決定する方法
リファレンス変更の追跡のクリーンアップの詳細については、「Change Tracking クリーンアップ (パート 1)」および「Change Tracking クリーンアップ (パート 2)」を参照してください。