Symptom
Tänk dig följande situation:
-
Du har en databas som använder BULK_LOGGED eller enkel återställnings modell i Microsoft SQL Server 2008, SQL Server 2008 R2, SQL Server 2012 eller SQL Server 2014.
-
Du aktiverar knappen Ställ in XACT_ABORT .
-
Du försöker köra flera insert -uttryck i en transaktion med en enda distribution.
I det här scenariot kanske Mass infognings uttrycket inte fungerar och du får följande fel meddelande:
Plats: PAGEREF. cpp: 913Expression: IS_OFF (BUF_MINLOGGED m_buf->bstat) | | pageModifyType! = PageModifyType_Contents | | GetPagePtr ()->IsTextPage () SPID: 56Process ID: 2136Msg 3624, nivå 20, State 1, rad 7A kontroll av system kontroll misslyckades. Mer information finns i fel loggen för SQL Server. Vanligt vis orsakas ett kontroll fel av ett program fel eller skadade data. Överväg att köra DBCC CHECKDB för att kontrol lera att databasen är skadad. Om du har kommit överens om att skicka dump till Microsoft under installationen skickas en mini-dumpning till Microsoft. En uppdatering kan vara tillgänglig från Microsoft i senaste Service Pack eller i en QFE-teknik från teknisk support. msg 0, nivå 20, State 0, rad 0 ett allvarligt fel inträffade för det aktuella kommandot. Eventuella resultat ska ignoreras.
Dessutom kan en kraschdumpfil skapas i mappen SQL Server log. Obs! Det här problemet uppstår vanligt vis när SQL Server Integration Services (SSIS) används. Microsoft Distributed Transaction Coordinator (MS DTC) är ett exempel på att starta distribuerade transaktioner med SET XACT_ABORT på om TransactionOption -egenskapen för paket nivå är inställd på obligatoriskt.
Orsak
Det här problemet uppstår på grund av ett fel i SQL Server 2008, SQL Server 2008 R2, SQL Server 2012 eller SQL Server 2014.
Lösning
Problemet är först åtgärdat i den kumulativa uppdateringen av SQL Server.
Kumulativ uppdatering 1 för SQL Server 2014 /en-us/help/2931693
Kumulativ uppdatering 8 för SQL Server 2012 SP1 /en-us/help/2917531
Kumulativ uppdatering 10 för SQL Server 2008 R2 SP2 /en-us/help/2908087
Kumulativ uppdatering 10 för SQL Server 2008 SP1 /en-us/help/2279604
Kumulativ uppdatering 1 för SQL Server 2008 SP2 /en-us/help/2289254
Kumulativ uppdatering 5 för SQL Server 2008 R2 /en-us/help/2438347
Varje ny kumulativ uppdatering för SQL Server innehåller alla snabb korrigeringar och alla säkerhets korrigeringar som ingick i den föregående kumulativa uppdateringen. Kolla in de senaste kumulativa uppdateringarna för SQL Server:
Lösning
Undvik det här problemet genom att ange databasen till den fullständiga återställnings modellen.
Status
Microsoft har bekräftat att det här är ett problem i Microsoft-produkterna som nämns i "gäller".
Referenser
Mer information om inställningen ange XACT_ABORT finns på följande MSDN-webbplats (Microsoft Developer Network):
Allmän information om inställningen för "Ange XACT_ABORT"Mer information om åtgärder som är mycket loggade finns på följande MSDN-webbplats:
Allmän information om åtgärder som är mycket loggadeMer information om hur du hanterar data integritet med hjälp av transaktioner finns på följande MSDN-webbplats:
Allmän information om hur du upprätthåller data integritet med hjälp av transaktionerOm du vill veta mer om den stegvisa underhålls modellen för SQL Server klickar du på följande artikel nummer och läser artikeln i Microsoft Knowledge Base:
935897 En stegvis underhålls modell är tillgänglig från SQL Server-teamet för att leverera snabb korrigeringar för rapporterade problemOm du vill veta mer om ett namn schema för uppdateringar för SQL Server klickar du på följande artikel nummer och läser artikeln i Microsoft Knowledge Base:
822499Nytt namn schema för program uppdaterings paket för Microsoft SQL ServerMer information om program uppdaterings terminologi får du om du klickar på följande artikel nummer och läser artikeln i Microsoft Knowledge Base:
824684 Beskrivning av den standard terminologi som används för att beskriva Microsoft-programuppdateringar