Ongelman ilmenemistapa
Mieti seuraavaa tilannetta:
- Sinulla on tietokanta, joka käyttää BULK_LOGGED tai SIMPLE-palautusmallia Microsoft SQL Server 2008:ssa, SQL Server 2008 R2:ssa, SQL Server 2012:ssa tai SQL Server 2014:ssä.
- SET XACT_ABORT -kytkin on käytössä.
- Yrität suorittaa useita BULK INSERT -lausekkeita yhdessä jaetussa tapahtumassa.
Tässä skenaariossa BULK INSERT -lauseen suoritus voi epäonnistua ja näyttöön saattaa tulla seuraava virhesanoma:
Huomautus
Sijainti: pageref.cpp:913
Lauseke: IS_OFF (BUF_MINLOGGED, m_buf-bstat>) || pageModifyType != PageModifyType_Contents || GetPagePtr ()->IsTextPage ()
SPID: 56
Prosessin tunnus: 2136
Msg 3624, taso 20, tila 1, rivi 7
Järjestelmän vahvistustarkistus epäonnistui. Katso lisätietoja SQL Server -virhelokista. Vahvistusvirhe johtuu yleensä ohjelmistovirheestä tai tietojen vioittumisesta. Jos haluat tarkistaa tietokannan vioittumisen, harkitse DBCC CHECKDB -komennon suorittamista. Jos olet asennuksen aikana hyväksynyt vedosten lähettämisen Microsoftille, Microsoftille lähetetään pikavedos. Päivitys saattaa olla saatavilla Microsoftilta uusimmassa Service Packissa tai QFE-päivityksessä teknisestä tuesta.
Sanoma 0, taso 20, tila 0, rivi 0
Nykyisessä komennossa tapahtui vakava virhe. Mahdolliset tulokset on hylättävä.
Lisäksi pienoisvedostiedosto voidaan luoda SQL Server -lokikansioon.
Huomautus: Tämä ongelma ilmenee yleensä, kun käytetään SQL Server -integrointipalvelua (SSIS). Esimerkiksi Microsoftin hajautetun tapahtuman koordinaattori (MS DTC) on mukana käynnistämään hajautettuja tapahtumia yhdessä SET-XACT_ABORT ON-asetuksen kanssa, jos TransactionOption-pakettitason ominaisuuden arvoksi on määritetty Pakollinen.
Syy
Tämä ongelma ilmenee SQL Server 2008:ssa, SQL Server 2008 R2:ssa, SQL Server 2012:ssa tai SQL Server 2014:ssä tapahtuneesta virheestä.
Ratkaisu
Ongelma korjattiin ensimmäisen kerran seuraavassa SQL Server kumulatiivisessa päivityksessä.
SQL Server 2014:n kumulatiivinen päivitys 1 /en-us/help/2931693
SQL Server 2012 SP1:n kumulatiivinen päivitys 8 /en-us/help/2917531
Cumulative Update 10 for SQL Server 2008 R2 SP2 /en-us/help/2908087
SQL Server 2008 SP1:n kumulatiivinen päivitys 10 /en-us/help/2279604
SQL Server 2008 SP2:n kumulatiivinen päivitys 1 /en-us/help/2289254
SQL Server 2008 R2:n kumulatiivinen päivitys 5 /en-us/help/2438347
Tietoja SQL Serverin kumulatiivisista päivityksistä
Jokainen uusi SQL Server -kumulatiivinen päivitys sisältää kaikki edelliseen kumulatiiviseen päivitykseen sisältyvät hotfix-korjaukset ja tietoturvakorjaukset. Tutustu SQL Serverin uusimpiin kumulatiivisiin päivityksiin:
- SQL Server 2014:n uusin kumulatiivinen päivitys
- SQL Server 2012 SP1:n uusin kumulatiivinen päivitys
- SQL Server 2008 R2 SP2:n uusin kumulatiivinen päivitys
- SQL Server 2008 SP1:n uusin kumulatiivinen päivitys
- SQL Server 2008 SP2:n uusin kumulatiivinen päivitys
- SQL Server 2008 R2:n uusin kumulatiivinen päivitys
Vaihtoehtoinen menetelmä
Voit kiertää tämän ongelman määrittämällä tietokannan täydelliseen palautusmalliin.
Tila
Microsoft on vahvistanut tämän olevan ongelma niissä Microsoftin tuotteissa, jotka ovat listattuna Koskee seuraavia tuotteita -osiossa.
Viitteet
Lisätietoja SET XACT_ABORT -asetuksesta on seuraavassa Microsoft Developer Network (MSDN) -sivustossa:
Yleisiä tietoja SET XACT_ABORT -asetuksesta Lisätietoja toiminnoista, jotka kirjataan mahdollisimman vähän, on seuraavassa MSDN-sivustossa:
Yleisiä tietoja toiminnoista, jotka kirjataan mahdollisimman vähän Lisätietoja tietojen eheyden säilyttämisestä tapahtumien avulla on seuraavassa MSDN-sivustossa:
Yleistä tietoa tietojen eheyden säilyttämisestä tapahtumien avulla Saat lisätietoja SQL Server:n lisäävästä ylläpitomallista napsauttamalla seuraavaa artikkelin numeroa, jolloin pääset lukemaan artikkelin Microsoft Knowledge Base -tietokanta -tietokannassa:
935897 SQL Server-tiimi tarjoaa lisäävän ylläpidon mallin, joka toimittaa hotfix-korjauksia ilmoitettuihin ongelmiin
Saat lisätietoja SQL Server -päivitysten nimeämisrakenteesta napsauttamalla seuraavaa artikkelin numeroa, jolloin pääset lukemaan artikkelin Microsoft Knowledge Base -tietokanta -tietokannassa:
822499 Microsoft SQL Server -ohjelmistopäivityspakettien uusi nimeämisrakenneSaat lisätietoja ohjelmistopäivitysterminologiasta napsauttamalla seuraavaa artikkelin numeroa, jolloin pääset lukemaan artikkelin Microsoft Knowledge Base -tietokanta -tietokannassa:
824684 Microsoftin ohjelmistopäivityksiä kuvaavan vakioterminologian kuvaus