Symptomy
Załóżmy, że tabela zawiera indeksy, które nie są unikatowe w programie Microsoft SQL Server 2012 lub SQL Server 2014. Po uruchomieniu kwerendy w celu zaktualizowania tabeli za pomocą indeksu mapy bitowej, który zawiera klucz partycji, jest wyświetlany następujący komunikat o błędzie:
Msg 2601, poziom 14, stan 1, wiersz 1Cannot Wstawianie zduplikowanego wiersza klucza w obiekcie <Nazwa tabeli> z indeksem unikatowym <nazwą indeksu>. Wartość zduplikowanego klucza to (0, <wartość>).
UwagaIndeks nie jest unikatowym indeksem i zezwala na duplikowanie.
Rozwiązanie
Ten problem został po raz pierwszy rozwiązany w poniższej zbiorczej aktualizacji programu SQL Server.
Zbiorcza aktualizacja 4 dla programu SQL Server 2014 /en-us/help/2999197
Zbiorcza aktualizacja 2 dla programu SQL Server 2012 z dodatkiem SP2 /en-us/help/2983175
Zbiorcza aktualizacja 11 dla programu SQL Server 2012 z dodatkiem SP1 /en-us/help/2975396
Każda nowa Zbiorcza aktualizacja programu SQL Server zawiera wszystkie poprawki i wszystkie poprawki zabezpieczeń uwzględnione w poprzedniej aktualizacji zbiorczej. Zapoznaj się z najnowszymi aktualizacjami zbiorczymi dla programu SQL Server:
Obejście
W celu obejścia tego problemu należy włączyć flagę śledzenia 8690, aby wyłączyć operację buforowania . Jednak to obejście może powodować regresję wydajności, ponieważ bufor jest wyłączony.
Stan
Firma Microsoft potwierdziła, że jest to problem występujący w produktach firmy Microsoft wymienionych w sekcji "dotyczy".