Simptomai
Tarkime, kad turite lentelę, kurioje yra neunikalių indeksų "Microsoft SQL Server" 2012 arba "SQL Server" 2014. Kai vykdote užklausą naujindami lentelę naudodami rastro indeksą, kuriame yra skaidinio raktas, gaunate šį klaidos pranešimą:
MSG 2601, lygis 14, būsenos 1, Line 1Negalima įterpti besidubliuojančios rakto eilutės objekte <lentelės pavadinimo> su unikaliu indeksu <indekso pavadinimo>. Pasikartojančio rakto reikšmė yra (0, <reikšmė>).
Pastaba. Indeksas nėra unikalus indeksas ir leidžia dublikatus.
Sprendimas
Problema pirmą kartą buvo išspręsta šį kaupiamąjį naujinimą SQL serverio.
Kaupiamasis naujinimas 4 SQL serverio 2014 /en-us/help/2999197
Kaupiamasis naujinimas 2 SQL serverio 2012 SP2 /en-us/help/2983175
Kaupiamasis naujinimas 11 SQL serverio 2012 SP1 /en-us/help/2975396
Kiekvienas naujas Kaupiamasis naujinimas, skirtas "SQL Server", yra visos karštosios pataisos ir visos saugos pataisos, kurios buvo pridėtos prie ankstesnio kaupiamojo naujinimo. Peržiūrėkite naujausius kaupiamuosius SQL serverio naujinimus:
Sprendimas
Norėdami išspręsti šią problemą, įgalinkite sekimo vėliavėlę 8690, kad išjungtumėte eigos operaciją. Tačiau šis sprendimas gali sukelti našumo regresiją, nes yra išjungtas eigos .
Statusą
"Microsoft" patvirtino, kad tai yra "Microsoft" produktų, išvardytų skyriuje "taikoma", problema.