Microsoft jakelee Microsoft SQL Server 2008- ja Microsoft SQL Server 2008 R2 -korjaukset yhtenä ladattavana tiedostona. Koska korjaukset ovat kumulatiivisia, jokainen uusi versio sisältää kaikki aiempiin SQL Server 2008:n tai SQL Server 2008 R2:n korjausjulkaisuihin sisältyvät hotfix-korjaukset ja tietoturvakorjaukset.
Ongelman ilmenemistapa
Mieti seuraavaa tilannetta:
Suoritat Microsoft SQL Server -sovelluksen, jolle on määritetty DTC (Distributed Transaction Coordinator) tai useita aktiivisia tulosjoukkoja (MARS) -tapahtuma.
Oletetaan esimerkiksi, että suoritat Microsoft SQL Server -integrointipalvelun, joka käynnistää DTC- tai MARS-tapahtuman.
BULK LOAD -toiminto aloitetaan osana DTC- tai MARS-tapahtumaa kohdetaulukkoon. FIRE_TRIGGERS asetusta ei ole määritetty JOUKKOLATAUS-toiminnon BULK INSERT -lausekkeessa.
Huomautus: JOUKKOLATAUSTOIMINTO suorittaa BULK INSERT -lauseen.
Aloitat toisen BULK LOAD -toiminnon tai DML (Standard Data Manipulation Language) -toiminnon toiselle kohdetaulukolle, kun ensimmäinen BULK LOAD -toiminto suoritetaan. Nämä rinnakkaiset toiminnot ovat samassa DTC- tai MARS-tapahtumassa. .
Tässä skenaariossa näyttöön saattaa tulla seuraava virhesanoma:
Huomautus
Virhe: 595, vakavuus: 16, tila: 1
Joukkolisääminen, jossa on toinen erinomainen tulosjoukko, tulee suorittaa XACT_ABORT käytössä.
Syy
Tämä ongelma ilmenee, koska SQL Server tunnistaa virheellisesti MARS-lukkiutumisen. SQL Server välttää lukkiutumiset, joita voi ilmetä, kun aloitat MARS- tai DTC-tapahtuman. SQL Server ei kuitenkaan tarkista, onko FIRE_TRIGGERS-asetus määritetty BULK INSERT -lausekkeessa.
Huomautus
Lisätietoja MARS-lukkiutumisen välttämisestä SQL Server:ssä on Microsoft Developer Network (MSDN) -sivuston artikkelin "Multiple Active Result Sets (MARS) in SQL Server 2005" "Interleaved Execution" -kohdassa.
Lisätietoja Multiple Active Result Sets (MARS) in SQL Server 2005 -artikkelista on seuraavassa Microsoft Developer Network (MSDN) -sivustossa:
Useita aktiivisia tulosjoukkoja (MARS) in SQL Server 2005 -artikkeli
Ratkaisu
Kumulatiiviset päivitystiedot
SQL Server 2008
Tämän ongelman korjaus julkaistiin ensimmäisen kerran SQL Server 2008 Service Pack 1:n kumulatiivisessa päivityksessä 11. Saat lisätietoja tästä kumulatiivisesta päivityspaketista napsauttamalla seuraavaa artikkelin numeroa, jolloin pääset lukemaan artikkelin Microsoft Knowledge Base -tietokanta -tietokannassa:
2413738 Kumulatiivinen päivityspaketti 11 SQL Server 2008 Service Pack 1:lleHuomautus Koska koontiversiot ovat kumulatiivisia, jokainen uusi korjausversio sisältää kaikki hotfix-korjaukset ja tietoturvakorjaukset, jotka sisältyivät edelliseen SQL Server 2008:n korjausversioon. Microsoft suosittelee, että otat käyttöön uusimman kyseisen hotfix-korjauksen sisältävän korjausversion. Lisätietoja saat napsauttamalla seuraavaa Microsoft Knowledge Base -tietokanta -artikkelinumeroa:
970365 SQL Server 2008 -koontiversiot, jotka on julkaistu SQL Server 2008 Service Pack 1:n julkaisemisen jälkeen Microsoft SQL Server 2008:n hotfix-korjaukset on tarkoitettu tietyille SQL Server Service Pack -paketeille. SQL Server 2008 Service Pack 1:n asennukseen on asennettava SQL Server 2008 Service Pack 1 -korjaus. Oletusarvoisesti kaikki SQL Server Service Pack -pakettiin sisältyvät hotfix-korjaukset seuraavaan SQL Server Service Packiin.
SQL Server 2008 R2
Tämän ongelman korjaus julkaistiin ensin kumulatiivisessa päivityksessä 5. Saat lisätietoja tämän SQL Server 2008 R2:n kumulatiivisen päivityspaketin hankkimisesta napsauttamalla seuraavaa artikkelin numeroa, jolloin pääset lukemaan artikkelin Microsoft Knowledge Base -tietokanta -tietokannassa:
2438347 SQL Server 2008 R2:n kumulatiivinen päivityspaketti 5 Huomautus Koska koontiversiot ovat kumulatiivisia, jokainen uusi korjausversio sisältää kaikki edelliseen SQL Server 2008 R2:n korjausversioon sisältyvät hotfix-korjaukset ja tietoturvakorjaukset. Suosittelemme, että otat käyttöön uusimman korjausversion, joka sisältää tämän hotfix-korjauksen. Lisätietoja saat napsauttamalla seuraavaa Microsoft Knowledge Base -tietokanta -artikkelinumeroa:
981356 SQL Server 2008 R2 -koontiversiot, jotka julkaistiin SQL Server 2008 R2:n jälkeen
SQL Server 2008 Service Pack 2
Tämän ongelman korjaus julkaistiin ensimmäisenä SQL Server 2008 Service Pack 2:n kumulatiivisessa päivityksessä 2. Saat lisätietoja tästä kumulatiivisesta päivityspaketista napsauttamalla seuraavaa artikkelin numeroa, jolloin pääset lukemaan artikkelin Microsoft Knowledge Base -tietokanta -tietokannassa:
2467239 SQL Server 2008 Service Pack 2:n kumulatiivinen päivityspaketti 2Huomautus Koska koontiversiot ovat kumulatiivisia, jokainen uusi korjausversio sisältää kaikki SQL Server 2008:n aiempaan korjausversioon sisältyvät hotfix-korjaukset ja tietoturvakorjaukset. Microsoft suosittelee, että otat käyttöön uusimman kyseisen hotfix-korjauksen sisältävän korjausversion. Lisätietoja saat napsauttamalla seuraavaa Microsoft Knowledge Base -tietokanta -artikkelinumeroa:
2402659 SQL Server 2008 -koontiversiot, jotka on julkaistu SQL Server 2008 Service Pack 2:n julkaisemisen jälkeen Microsoft SQL Server 2008:n hotfix-korjaukset on tarkoitettu tietyille SQL Server Service Pack -paketeille. SQL Server 2008 Service Pack 2:n asennuksessa on käytettävä SQL Server 2008 Service Pack 2:n hotfix-korjausta. Oletusarvoisesti kaikki SQL Server Service Pack -pakettiin sisältyvät hotfix-korjaukset seuraavaan SQL Server Service Packiin.
Tila
Microsoft on vahvistanut tämän olevan ongelma niissä Microsoftin tuotteissa, jotka ovat listattuna Koskee seuraavia tuotteita -osiossa.
Viitteet
Lisätietoja BULK INSERT -lausekkeesta on seuraavassa MSDN-sivustossa:
Yleistä BULK INSERT -lausekkeesta Lisätietoja OLE DB -kohteesta on seuraavassa MSDN-sivustossa:
Yleisiä tietoja OLE DB -kohteesta 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