現象
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 の最新の累積的な更新プログラムを確認してください。
- SQL Server 2014 の最新の累積的な更新プログラム
- SQL Server 2012 SP2 の最新の累積的な更新プログラム
- SQL Server 2012 SP1 の最新の累積的な更新プログラム
回避策
この問題を回避するには、トレース フラグ 8690 を有効にして、スプール操作を無効にします。 ただし、この回避策により、スプールが無効になるため、パフォーマンスが低下する可能性があります。
状態
Microsoft は、これが "適用対象" セクションに記載されている Microsoft 製品の問題であることを確認しました。