FIX: Foutbericht in SQL Server 2008 wanneer u een instructie SELECT invoegen in een tabel uitvoert: 'schending van beperking primaire sleutel '<primarykey>'. Geen dubbele sleutel in een object invoegen '<tablename>' "</tablename></primarykey>

Vertaalde artikelen Vertaalde artikelen
Artikel ID: 970507 - Bekijk de producten waarop dit artikel van toepassing is.
Microsoft distribueert oplossingen voor Microsoft SQL Server 2008 als één downloadbaar bestand. Aangezien de oplossingen cumulatief zijn, bevat elke nieuwe versie de hotfixes en de beveiligingscorrecties die opgenomen in de vorige SQL Server 2008 zijn release opgelost.
Alles uitklappen | Alles samenvouwen

Op deze pagina

Symptomen

Het volgende scenario:
  • U hebt Microsoft SQL Server 2008 is geïnstalleerd op een computer met meerdere processors.
  • U hebt eenSELECTEER INVOEGENinstructie voor een tabel een primaire sleutel bevat.

    OpmerkingIn deSELECTEER INVOEGENinstructie, is de tabel die de gegevens ontvangt de uitvoer van de tabel. Bijvoorbeeld:
    INSERT T1 ? SELECT T1
  • U verwijst naar de andere tabellen in dezeSELECTEER INVOEGENinstructie. Deze verwijzingen zijn een tijdelijke tabel.

    OpmerkingDe tabellen worden verwezen in deUITcomponent of tabellen wordt in een subquery of join-voorwaarde verwezen.
Wanneer u de instructie uitvoert, wordt het volgende foutbericht weergegeven:

Msg 2627 14, niveau 1 staat
Schending van beperking primaire sleutel 'PrimaryKey'. Geen dubbele sleutel in een object invoegen 'Tabelnaam'.

Als u het uitvoeringsplan bekijkt, vinden dat deJOINoperator en deMeteen Spooloperator parallel uitgevoerd. DitMeteen Spooloperator is onder deJOINoperator. Bovendien is de tabel de gegevens in de instructie ontvangt binnenvak van de join.

OpmerkingDit probleem treedt ook op wanneer u deSELECTEER BIJWERKENinstructie of deSELECTEER VERWIJDERENinstructie.

Oorzaak

Dit probleem treedt op vanwege een fout in de wachtrij voor deMeteen Spooloperator waar de spoolmap meer rijen genereert dan verwacht. Hierdoor is een dubbele sleutel probleem.

Oplossing

Informatie over de cumulatieve update

De correctie voor dit probleem werd eerst uitgebracht in cumulatieve Update 3 voor SQL Server 2008 Service Pack 1. Klik op het volgende artikelnummer in de Microsoft Knowledge Base voor meer informatie over dit cumulatieve updatepakket:
971491Cumulatieve updatepakket 3 voor SQL Server 2008 Service Pack 1
OpmerkingOmdat de builds cumulatief zijn, elke nieuwe release correctie bevat alle hotfixes en de beveiligingscorrecties die opgenomen in de vorige SQL Server 2008 zijn release opgelost. Microsoft raadt aan u de meest recente fix release waarin deze hotfix toepast. Klik op het volgende artikelnummer in de Microsoft Knowledge Base voor meer informatie:
970365SQL Server 2008 bouwt die zijn uitgebracht na Service Pack 1 voor SQL Server 2008 is uitgebracht
Microsoft SQL Server 2008 hotfixes gemaakt voor specifieke SQL Server servicepacks. U moet een hotfix voor SQL Server 2008 Service Pack 1 toepassen op een installatie van SQL Server 2008 Service Pack 1. De hotfix die in SQL Server servicepack is opgenomen in het volgende servicepack voor SQL Server.

Informatie over hotfixes

Een ondersteunde hotfix is nu beschikbaar bij Microsoft. Het is echter bedoeld om alleen het probleem dat in dit artikel wordt beschreven. Gelden alleen voor systemen waarop dit specifieke probleem. Deze hotfix wellicht extra worden getest. Als u geen ernstige problemen ondervindt, is het daarom raadzaam te wachten op de volgende SQL Server 2008 servicepack waarin deze hotfix.

Dit probleem onmiddellijk contact op met Microsoft Customer Support Services om de hotfix te verkrijgen. Bezoek de volgende Microsoft-website voor een volledige lijst met telefoonnummers van Microsoft Customer Support Services en informatie over ondersteuningskosten:
http://support.Microsoft.com/contactus/?ws=support
OpmerkingIn speciale gevallen kunnen kosten die normaal verbonden worden geannuleerd als een medewerker van Microsoft bepaalt dat een specifieke update de oplossing van uw probleem. De gebruikelijke ondersteuningskosten gelden voor extra ondersteuningsvragen die niet in aanmerking voor de specifieke update in kwestie komen.

Vereisten

Voor deze hotfix moet u een computer waarop SQL Server 2008 Service Pack 1 (SP1).

Opnieuw opstarten

U hebt de computer opnieuw opstarten nadat u deze hotfix.

Registergegevens

U hebt het register wijzigen.

Informatie over hotfix-bestanden

Deze hotfix bevat alleen de bestanden die nodig zijn om de problemen verhelpen die in dit artikel worden vermeld. Deze hotfix bevat mogelijk niet alle bestanden die u hebt nodig om een product volledig bijwerken naar de laatste build.

De Engelse versie van deze hotfix heeft de bestandskenmerken (of recentere bestandskenmerken) die in de volgende tabel worden weergegeven. De datums en tijden voor deze bestanden worden weergegeven in Coordinated Universal Time (UTC). Wanneer u de bestandsinformatie weergeeft, wordt deze naar lokale tijd geconverteerd. Het verschil tussen UTC en lokale tijd, gebruikt u deTijdzonetabblad in deDatum en tijditem in het Configuratiescherm.
Voor alle ondersteunde x 86 versies van SQL Server 2008 Database Engine
Deze tabel samenvouwenDeze tabel uitklappen
BestandsnaamBestandsversieBestandsgrootteDatumTijdPlatform
Sqlaccess.dll2007.100.2712.0405,35213 Mei 200917: 53x 86
KeyFile.dll2007.100.2712.013,65613 Mei 200915: 37x 86
Sqlservr.exe2007.100.2712.042,729,32013 Mei 200917: 56x 86
Voor alle ondersteunde x 86 versies van SQL Server 2008 Analysis Services
Deze tabel samenvouwenDeze tabel uitklappen
BestandsnaamBestandsversieBestandsgrootteDatumTijdPlatform
Msmdlocal.dll10.0.2712.023,461,72013 Mei 200916: 08x 86
Msmdsrv.exe10.0.2712.021,955,41613 Mei 200916: 09x 86
KeyFile.dll2007.100.2712.013,65613 Mei 200915: 37x 86
Msmdpump.dll10.0.2712.06,180,69613 Mei 200916: 08x 86
Msmdspdm.dll10.0.2712.0178,00813 Mei 200916: 08x 86
Msmgdsrv.dll10.0.2712.08,558,93613 Mei 200916: 09x 86
Msolap100.dll10.0.2712.06,532,95213 Mei 200916: 09x 86
Voor alle ondersteunde x 64 versies van SQL Server 2008 Database Engine
Deze tabel samenvouwenDeze tabel uitklappen
BestandsnaamBestandsversieBestandsgrootteDatumTijdPlatform
Sqlaccess.dll2007.100.2712.0412,00814 Mei 200901: 15x 86
KeyFile.dll2007.100.2712.014,18413 Mei 200923: 55x 64
Sqlservr.exe2007.100.2712.057,873,25614 Mei 200901: 17x 64
Voor alle ondersteunde x 64 versies van SQL Server 2008 Analysis Services
Deze tabel samenvouwenDeze tabel uitklappen
BestandsnaamBestandsversieBestandsgrootteDatumTijdPlatform
Msmdlocal.dll10.0.2712.023,461,72013 Mei 200916: 08x 86
Msmdlocal.dll10.0.2712.044,436,82414 Mei 200900: 10x 64
Msmdsrv.exe10.0.2712.043,713,36814 Mei 200900: 10x 64
KeyFile.dll2007.100.2712.014,18413 Mei 200923: 55x 64
Msmdpump.dll10.0.2712.07,430,48814 Mei 200900: 10x 64
Msmdspdm.dll10.0.2712.0178,02414 Mei 200900: 10x 86
Msmgdsrv.dll10.0.2712.08,558,93613 Mei 200916: 09x 86
Msmgdsrv.dll10.0.2712.012,332,37614 Mei 200900: 11x 64
Msolap100.dll10.0.2712.06,532,95213 Mei 200916: 09x 86
Msolap100.dll10.0.2712.08,153,94414 Mei 200900: 11x 64
Voor alle ondersteunde Itanium-versies van SQL Server 2008 Database Engine
Deze tabel samenvouwenDeze tabel uitklappen
BestandsnaamBestandsversieBestandsgrootteDatumTijdPlatform
Sqlaccess.dll2007.100.2712.0398,69613 Mei 200917: 01x 86
KeyFile.dll2007.100.2712.019,30413 Mei 200915: 26IA-64
Sqlservr.exe2007.100.2712.0111,042,40813 Mei 200917: 08IA-64
Voor alle ondersteunde Itanium versies van SQL Server 2008 Analysis Services
Deze tabel samenvouwenDeze tabel uitklappen
BestandsnaamBestandsversieBestandsgrootteDatumTijdPlatform
Msmdlocal.dll10.0.2712.023,461,72013 Mei 200916: 08x 86
Msmdlocal.dll10.0.2712.057,508,18413 Mei 200915: 44IA-64
Msmdsrv.exe10.0.2712.058,860,88813 Mei 200915: 46IA-64
KeyFile.dll2007.100.2712.019,30413 Mei 200915: 26IA-64
Msmdpump.dll10.0.2712.08,943,44813 Mei 200915: 45IA-64
Msmdspdm.dll10.0.2712.0178,00813 Mei 200915: 45x 86
Msmgdsrv.dll10.0.2712.015,485,80013 Mei 200915: 47IA-64
Msmgdsrv.dll10.0.2712.08,558,93613 Mei 200916: 09x 86
Msolap100.dll10.0.2712.010,065,24013 Mei 200915: 47IA-64
Msolap100.dll10.0.2712.06,532,95213 Mei 200916: 09x 86

Workaround

Dit probleem omzeilen de queryaanwijzing MAXDOP of de optie MAXDOP instellen1de instructie of op het serverniveau van de.

OpmerkingHet niveau van de server MAXDOP-optie beïnvloedt de prestaties van alle query's op de server uitvoeren.

Status

Microsoft heeft bevestigd dat dit probleem in de Microsoft-producten die worden vermeld in de sectie 'Van toepassing op' is.

Referenties

Klik op het volgende artikelnummer in de Microsoft Knowledge Base voor meer informatie over de incrementele Servicing-Model voor SQL Server:
935897Een incrementele Servicing-Model is beschikbaar vanaf de SQL Server-team leveren hotfixes voor gemelde problemen


Klik op het volgende artikelnummer in de Microsoft Knowledge Base voor meer informatie over het naamgevingsschema voor SQL Server-updates:
822499Nieuw naamgevingsschema voor software-updatepakketten voor Microsoft SQL Server


Klik op het volgende artikelnummer in de Microsoft Knowledge Base voor meer informatie over terminologie voor software-update:
824684Beschrijving van de standaardterminologie die wordt gebruikt om software-updates voor Microsoft te beschrijven

Eigenschappen

Artikel ID: 970507 - Laatste beoordeling: zaterdag 19 maart 2011 - Wijziging: 2.0
De informatie in dit artikel is van toepassing op:
  • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Workgroup
Trefwoorden: 
kbsurveynew kbfix kbqfe kbexpertiseadvanced kbHotfixServer kbmt KB970507 KbMtnl
Automatisch vertaald artikel
BELANGRIJK: Dit artikel is vertaald door de vertaalmachine software van Microsoft in plaats van door een professionele vertaler. Microsoft biedt u professioneel vertaalde artikelen en artikelen vertaald door de vertaalmachine, zodat u toegang heeft tot al onze knowledge base artikelen in uw eigen taal. Artikelen vertaald door de vertaalmachine zijn niet altijd perfect vertaald. Deze artikelen kunnen fouten bevatten in de vocabulaire, zinsopbouw en grammatica en kunnen lijken op hoe een anderstalige de taal spreekt en schrijft. Microsoft is niet verantwoordelijk voor onnauwkeurigheden, fouten en schade ontstaan door een incorrecte vertaling van de content of het gebruik ervan door onze klanten. Microsoft past continue de kwaliteit van de vertaalmachine software aan door deze te updaten.
De Engelstalige versie van dit artikel is de volgende:970507

Geef ons feedback

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com