Symptom
Tänk dig följande scenario:
- Du har en databas som använder återställningsmodellen BULK_LOGGED eller SIMPLE i Microsoft SQL Server 2008, SQL Server 2008 R2, SQL Server 2012 eller SQL Server 2014.
- Du slår på SET XACT_ABORT-omkopplaren.
- Du försöker köra flera BULK INSERT-instruktioner i en enkeldistribuerad transaktion.
I det här scenariot kan MASS INSERT-instruktionen misslyckas och du får följande felmeddelande:
Obs
Plats: pageref.cpp:913
Uttryck: IS_OFF (BUF_MINLOGGED, m_buf-bstat>) || pageModifyType != PageModifyType_Contents || GetPagePtr ()->IsTextPage ()
SPID: 56
Process-ID: 2136
Msg 3624, nivå 20, status 1, rad 7
En systemkontroll har misslyckats. Kontrollera felloggen för SQL Server för mer information. Vanligtvis orsakas ett kontrollfel av ett programfel eller skadade data. Om du vill söka efter skadade databaser kan du köra DBCC CHECKDB. Om du gick med på att skicka dumpar till Microsoft under installationen skickas en minidump till Microsoft. En uppdatering kan vara tillgänglig från Microsoft i den senaste Service Pack-versionen eller i en QFE från teknisk support.
Msg 0, nivå 20, status 0, rad 0
Ett allvarligt fel uppstod på det aktuella kommandot. Resultaten, om sådana finns, ska ignoreras.
Dessutom kan en minidumpfil genereras i loggmappen för SQL Server.
Obs! Det här problemet uppstår vanligtvis när služba SSIS (SSIS) används. Till exempel är Microsoft Distributed Transaction Coordinator (MS DTC) involverad för att starta distribuerade transaktioner tillsammans med SET XACT_ABORT ON om egenskapen TransactionOption paketnivå är inställd på Obligatorisk.
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 åtgärdades först i följande kumulativa uppdatering 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
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:
- Senaste kumulativa uppdateringen för SQL Server 2014
- Senaste kumulativa uppdateringen för SQL Server 2012 SP1
- Senaste kumulativa uppdateringen för SQL Server 2008 R2 SP2
- Senaste kumulativa uppdateringen för SQL Server 2008 SP1
- Senaste kumulativa uppdateringen för SQL Server 2008 SP2
- Senaste kumulativa uppdateringen för SQL Server 2008 R2
Lösning
Ställ in databasen på den fullständiga återställningsmodellen för att kringgå det här problemet.
Status
Microsoft har bekräftat att detta är ett problem i de Microsoft-produkter som anges i avsnittet "Gäller".
Referenser
Mer information om inställningen SET XACT_ABORT finns på följande MSDN-webbplats (Microsoft Developer Network):
Allmän information om inställningen "SET XACT_ABORT" Mer information om åtgärder som loggas minimalt finns på följande MSDN-webbplats:
Allmän information om åtgärder som loggas minimalt Mer information om hur du upprätthåller dataintegriteten med hjälp av transaktioner finns på följande MSDN-webbplats:
Allmän information om hur du upprätthåller dataintegriteten med hjälp av transaktioner Om du vill veta mer om modellen för inkrementell service för SQL Server klickar du på följande artikelnummer och läser artikeln i Microsoft Knowledge Base:
935897 En stegvis servicemodell är tillgänglig från SQL Server-teamet för att leverera snabbkorrigeringar för rapporterade problem
Om du vill veta mer om namnschemat för SQL Server uppdateringar klickar du på följande artikelnummer och läser artikeln i Microsoft Knowledge Base:
822499 Nytt namnschema för Microsoft SQL Server programuppdateringspaketOm du vill veta mer om terminologi för programvaruuppdateringar klickar du på följande artikelnummer och läser artikeln i Microsoft Knowledge Base:
824684 Beskrivning av standardterminologin som används för att beskriva Microsofts programuppdateringar