KB2962767 - 修正: SQL Server にパーティション キーを含むビットマップ インデックスを使用してテーブルを更新すると、「重複キーを挿入できません」というエラーが発生する

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

現象

Microsoft SQL Server 2012 または SQL Server 2014 に一意でないインデックスを含むテーブルがあることを想定しています。 パーティション キーを含むビットマップ インデックスを使用してテーブルを更新するクエリを実行すると、次のエラー メッセージが表示されます。

注

メッセージ 2601、レベル 14、状態 1、行 1
一意のインデックス <インデックス名> を持つオブジェクト <テーブル名 に重複するキー行を挿入できません>。 重複するキー値は (0, <値>) です。

注: インデックスは一意インデックスではないため、重複も可能です。

解決策

この問題は、次の SQL Server の累積的な更新プログラムで最初に修正されました。

SQL Server 2014 用の累積的な更新プログラム 4 /en-us/help/2999197

SQL Server 2012 SP2 の累積的な更新プログラム 2 /en-us/help/2983175

SQL Server 2012 SP1 の累積的な更新プログラム 11 /en-us/help/2975396

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

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

      

回避策

この問題を回避するには、トレース フラグ 8690 を有効にして、スプール操作を無効にします。 ただし、この回避策により、スプールが無効になるため、パフォーマンスが低下する可能性があります。

状態

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