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動的管理ビューを使用して、無効なクリーンアップ バージョンに基づく変更追跡サイド テーブルからコンテンツをクリーンアップする別の内部ストアド プロシージャを呼び出します。 実行中には、削除された行の合計 (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)」を参照してください。