Symptomen
Neem het volgende scenario:
-
U hebt een database met vastgemaakte momentopnamen of een vastgelegd niveau voor momentopname van momentopnamen in Microsoft SQL Server 2012 of SQL Server 2014.
-
De database bevat een niet-lege tabel die een gegroepeerde index met meerdere kolommen bevat. De voorlopende sleutel van de geclusterde index wordt ingesteld op niet null.
-
U begint een transactie en voegt een kolom toe aan de tabel. De waarde van deze kolom wordt bijgewerkt.
-
U wijzigt de voorlopende code van de geclusterde index, zodat de waarde NULL is toegestaan.
-
U voegt rijen met NULL-waarden in voor de regel voor de eerste sleutel van de geclusterde index, waarna de transactie wordt afgebroken.
In dit scenario zorgt de rollback ervoor dat de database vermoedt en alleen ' herstellen ' met DBCC CHECKDB REPAIR_ALLOW_DATA_LOSS -opdracht. Daarnaast wordt mogelijk het volgende foutbericht weergegeven:
Msg 3316, niveau 21, status 2, line 135 tijdens het ongedaan maken van een vastgelegde bewerking in database%. * 1, fout opgetreden bij logboekrecord-ID% S_LSN. De rij is niet gevonden. Herstel de database met een volledige back-up of herstel de database.
Oplossing
Informatie over service packs voor SQL Server 2014
U kunt dit probleem oplossen door Service Pack 1 voor SQL Server 2014 te downloaden.
Zie voor meer informatie over SQL Server 2014 Service Pack 1 (SP1) bugs die zijn opgelost in SQL server 2014 Service Pack 1.
Informatie over service packs voor SQL Server 2012
Download het meest recente Service Pack voor Microsoft SQL Server 2012 om dit probleem op te lossen. Voor meer informatie klikt u op het volgende artikelnummer om het artikel in de Microsoft Knowledge Base weer te geven:
2755533 Het nieuwste Service Pack voor SQL Server 2012
Status
Microsoft heeft bevestigd dat dit probleem zich kan voordoen in de Microsoft-producten die worden vermeld in de sectie Van toepassing op.