KB3173157 - SQL Server の変更追跡サイド テーブルを手動でクリーンアップするためのストアド プロシージャを追加します

適用先
SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Enterprise Core - duplicate (do not use) SQL Server 2014 Express - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use) SQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Enterprise Core - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use) SQL Server 2012 Standard SQL Server 2012 Enterprise SQL Server 2012 Developer

この更新プログラムでは、変更追跡が有効になっているデータベースでサイド テーブル (change_tracking_objectid) を手動でクリーンできる新しいストアド プロシージャが追加されます。

構文

sp_flush_CT_internal_table_on_demand [ @TableToClean= ] 'TableName'

引数

[@TableToClean= ]'TableName' は、変更追跡が有効になっているテーブルの名前です。 バックログは、変更追跡による自動クリーンアップ用に残されます。

予想される出力

ストアド プロシージャを実行すると、次のいずれかのシナリオが発生します。

  • テーブルが存在しない場合、または変更の追跡が有効になっていない場合は、適切なエラー メッセージがスローされます。
  • このストアド プロシージャは、sys.change_tracking_tables動的管理ビューを使用して、無効なクリーンアップ バージョンに基づく変更追跡サイド テーブルの内容をクリーンアップする別の内部ストアド プロシージャを呼び出します。 実行中は、削除された行の総数の情報が表示されます (5000 行ごと)。

      

解決策

SQL Server の Service Pack の情報

この更新プログラムは、以下の SQL Server の Service Pack で修正されています。

SQL Server 2016 Service Pack 1

Service Pack 3 for SQL Server 2014

Service Pack 4 for SQL Server 2012

SQL Server の Service Pack について:

Service Pack は累積的であり、 最新の Service Pack には新しい修正プログラムと共に、それ以前の Service Pack に含まれていたすべての修正プログラムが含まれています。 マイクロソフトでは、最新の Service Pack と、その Service Pack 用の最新の累積的な更新プログラムを適用することをお勧めします。 最新の Service Pack をインストールする前に、以前の Service Pack をインストールする必要はありません。 最新の Service Pack と最新の累積的な更新プログラムの詳細については、次の資料の表 1 を参照してください。

SQL Server とそのコンポーネントのバージョン、エディション、および更新プログラムのレベルを確認する方法

リファレンス変更追跡クリーンアップの詳細については、「Change Tracking Cleanup (パート 1)」と「Change Tracking Cleanup (パート 2)」を参照してください。