Симптоми
Приемете, че имате таблица, която съдържа неуникални индекси в Microsoft SQL Server 2012 или SQL Server 2014. Когато изпълните заявка, за да актуализирате таблицата с помощта на индекса на растерно изображение, която съдържа клавиша за деление, получавате следното съобщение за грешка:
MSG 2601, Level 14, State 1, Line 1Cannot Вмъкване на дублиран клавишен ред в <име на таблица за обекти> с уникален индекс <индекс име>. Стойността за дублиран ключ е (0; <стойността>).
Забележка Индексът не е уникален индекс и позволява дублиращи се записи.
Решение
Проблемът е коригиран първо в следващата сборна актуализация на SQL Server.
Кумулативна актуализация 4 за SQL Server 2014 /en-us/help/2999197
Кумулативна актуализация 2 за SQL Server 2012 SP2 /en-us/help/2983175
Кумулативна актуализация 11 за SQL Server 2012 SP1 /en-us/help/2975396
Всяка нова сборна актуализация за SQL Server съдържа всички поправки и всички корекции на защитата, които са били включени в предишната сборна актуализация. Вижте последните сборни актуализации за SQL Server:
Заобиколно решение
За да заобиколите този проблем, разрешете проследяването с флаг 8690, за да забраните операцията за прехвърляне . Това заобиколно решение обаче може да доведе до регресия на производителността, тъй като Буферът е дезактивиран.
Състоянието
Microsoft потвърди, че това е проблем в продуктите на Microsoft, които са посочени в секцията "важи за".