Ongelman ilmenemistapa
Oletetaan, että Microsoft SQL Server 2012:ssa tai SQL Server 2014:ssä on taulukko, joka ei sisällä yksilöiviä indeksejä. Kun suoritat kyselyn taulukon päivittämiseksi käyttämällä osioavaimen sisältävää bittikarttaindeksiä, näyttöön tulee seuraava virhesanoma:
Huomautus
Msg 2601, taso 14, tila 1, rivi 1
Objektitaulukon <nimeen> ei voi lisätä avainrivin kaksoiskappaletta, jolla on ainutkertainen indeksin <nimi.> Avaimen arvon kaksoiskappale on (0, <arvo).>
Huomautus: Indeksi ei ole yksilöllinen indeksi, joten kaksoiskappaleet sallitaan.
Ratkaisu
Ongelma korjattiin ensimmäisen kerran seuraavassa SQL Server kumulatiivisessa päivityksessä.
SQL Server 2014:n kumulatiivinen päivitys 4 /en-us/help/2999197
SQL Server 2012 SP2:n kumulatiivinen päivitys 2 /en-us/help/2983175
SQL Server 2012 SP1:n kumulatiivinen päivitys 11 /en-us/help/2975396
Tietoja SQL Serverin kumulatiivisista päivityksistä
Jokainen uusi SQL Server -kumulatiivinen päivitys sisältää kaikki edelliseen kumulatiiviseen päivitykseen sisältyvät hotfix-korjaukset ja tietoturvakorjaukset. Tutustu SQL Serverin uusimpiin kumulatiivisiin päivityksiin:
- SQL Server 2014:n uusin kumulatiivinen päivitys
- SQL Server 2012 SP2:n uusin kumulatiivinen päivitys
- SQL Server 2012 SP1:n uusin kumulatiivinen päivitys
Vaihtoehtoinen menetelmä
Voit kiertää tämän ongelman ottamalla jäljitysmerkinnän 8690 käyttöön ja poistamalla taustatulostustoiminnon käytöstä. Tämä ongelman kiertotapa saattaa kuitenkin heikentää suorituskykyä, koska taustatulostus on poistettu käytöstä.
Tila
Microsoft on vahvistanut tämän olevan ongelma niissä Microsoftin tuotteissa, jotka ovat listattuna Koskee seuraavia tuotteita -osiossa.