KB2962767 – ÅTGÄRD: Felmeddelandet "Det går inte att infoga dubblettnyckel" uppstår när du uppdaterar en tabell med hjälp av ett bitmappsindex som innehåller en partitionsnyckel i SQL Server

Gäller för
SQL Server 2012 Enterprise SQL Server 2012 Developer SQL Server 2012 Standard SQL Server 2012 Web SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use)

Symptom

Anta att du har en tabell som innehåller icke-unika index i Microsoft SQL Server 2012 eller SQL Server 2014. När du kör en fråga för att uppdatera tabellen med hjälp av bitmappsindexet som innehåller en partitionsnyckel får du följande felmeddelande:

Obs

Msg 2601, nivå 14, status 1, rad 1
Det går inte att infoga en dubblettnyckelrad i ett objekttabellnamn>< med ett unikt indexindexnamn><. Dubblettnyckelns värde är (0, <värdet>).

Obs: Indexet är inte ett unikt index och tillåter dubbletter.

Lösning

Problemet åtgärdades först i följande kumulativa uppdatering av SQL Server.

Kumulativ uppdatering 4 för SQL Server 2014 /en-us/help/2999197

Kumulativ uppdatering 2 för SQL Server 2012 SP2 /en-us/help/2983175

Kumulativ uppdatering 11 för SQL Server 2012 SP1 /en-us/help/2975396

Om kumulativa uppdateringar för SQL Server

Varje ny kumulativ uppdatering för SQL Server innehåller alla snabbkorrigeringar och alla säkerhetskorrigeringar som ingick i den tidigare kumulativa uppdateringen. Kolla in de senaste kumulativa uppdateringarna för SQL Server:

      

Lösning

Lös problemet genom att aktivera spårningsflagga 8690 för att inaktivera buffertåtgärden. Den här lösningen kan dock orsaka en prestandasänkning eftersom bufferten är inaktiverad.

Status

Microsoft har bekräftat att detta är ett problem i de Microsoft-produkter som anges i avsnittet "Gäller".