KB4043624 - 修正: 変更追跡の手動クリーンアップが失敗し、テーブルが存在しないエラーがSQL Server

適用先
SQL Server 2017 on Windows (all editions) SQL Server 2017 on Linux (all editions) 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 Standard - duplicate (do not use) SQL Server 2014 Service Pack 2 - duplicate (do not use) SQL Server 2016 Service Pack 1 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)

現象

たとえば次のようなシナリオを考えてみます。

  • Microsoft SQL Server のスキーマにスキーマとテーブルを作成します。
  • そのテーブルの変更追跡を有効にします。
  • 手動クリーンアップは 、sp_flush_CT_internal_table_on_demand コマンドを使用して実行します。

このシナリオでは、テーブルが見つからなかったことを示すエラーでクリーンアップが失敗する可能性があります。

このエラーは、 sp_flush_CT_internal_table_on_demand コマンドが、dbo が所有していないテーブルなど、異なるスキーマを持つテーブルを考慮しないために発生します。

解決策

この問題は、SQL Serverの次の累積的な更新プログラムで修正されています。

SQL Server 2017 の累積的な更新プログラム 1

SQL Server 2016 SP1 の累積的な更新プログラム 6

SQL Server 2014 SP2 の累積的な更新プログラム 8

SQL Serverの累積的な更新プログラムについて:

SQL Serverの各新しい累積的な更新プログラムには、すべての修正プログラムと、以前の累積的な更新プログラムに含まれていたすべてのセキュリティ修正プログラムが含まれています。 SQL Serverの最新の累積的な更新プログラムを確認してください。

SQL Server 2017 の最新の累積的な更新プログラム

SQL Server 2016 の最新の累積的な更新プログラム

SQL Server 2014 の最新の累積的な更新プログラム

SQL Server 2016 のサービス パック情報

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

SQL Server 2016 用 Service Pack 2

SQL Serverのサービス パックについて:

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

SQL Serverとそのコンポーネントのバージョン、エディション、および更新レベルを決定する方法

状態

Microsoft は、これが "適用対象" セクションに記載されている Microsoft 製品の問題であることを確認しました。

参考資料

マイクロソフトでソフトウェア更新プログラムの説明に使用する用語集を参照してください。