KB2297709 – ÅTGÄRD: Ett felmeddelande kan visas när du kör en "MASSINFOGNING"-fråga på en databas som använder återställningsmodellen "BULK_LOGGED" eller "SIMPLE" i SQL Server

Gäller för
SQL Server 2008 Developer SQL Server 2008 Enterprise SQL Server 2008 Standard SQL Server 2008 Standard Edition for Small Business SQL Server 2008 Workgroup SQL Server 2008 R2 Service Pack 2 SQL Server 2008 R2 Developer SQL Server 2008 R2 Enterprise SQL Server 2008 R2 Standard SQL Server 2008 R2 Workgroup SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Standard 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

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:

      

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