Príznaky
Predpokladajme, že máte tabuľku obsahujúcu nejedinečné indexy v Microsoft SQL Server 2012 alebo SQL Server 2014. Keď spustíte dotaz na aktualizáciu tabuľky pomocou indexu bitovej mapy, ktorý obsahuje kľúč oblasti, zobrazí sa toto chybové hlásenie:
MSG 2601, úroveň 14, štát 1, riadok 1Cannot vložiť duplicitný kľúčový riadok v objekte <názov tabuľky> s jedinečným indexom <m názvom indexu>. Hodnota duplicitného kľúča je (0, <hodnotu>).
Poznámka: Index nie je jedinečný index a povoľuje duplicity.
Riešenie
Tento problém bol najskôr vyriešený v nasledujúcej kumulatívnej aktualizácii SQL servera.
Kumulatívna aktualizácia 4 pre SQL Server 2014 /en-us/help/2999197
Kumulatívna aktualizácia 2 pre SQL Server 2012 SP2 /en-us/help/2983175
Kumulatívna aktualizácia 11 pre SQL Server 2012 SP1 /en-us/help/2975396
Každá nová Kumulatívna aktualizácia pre SQL Server obsahuje všetky rýchlych opráv a všetky opravy zabezpečenia, ktoré boli súčasťou predchádzajúcej kumulatívnej aktualizácie. Pozrite si najnovšie kumulatívne aktualizácie pre SQL Server:
Alternatívne riešenie
Ak chcete tento problém obísť, zapnite funkciu Spool Flag 8690 na vypnutie operácie zaraďovača . Toto alternatívne riešenie však môže spôsobiť regresiu výkonu, pretože je vypnutá cievka .
Stav
Spoločnosť Microsoft potvrdzuje, že ide o problém v produktoch spoločnosti Microsoft, ktoré sú uvedené v tomto článku v časti Informácie v tomto článku sa týkajú nasledujúcich produktov.