Príznaky
Zoberme si nasledujúcu situáciu:
-
Máte databázu, ktorá používa BULK_LOGGED alebo jednoduchý model obnovy v Microsoft SQL Server 2008, SQL Server 2008 R2, SQL Server 2012 alebo SQL Server 2014.
-
Zapnete prepínač SET XACT_ABORT .
-
Pokúšate sa spustiť viaceré výpisy hromadnej vložky v jednej distribuovanej transakcii.
V tomto scenári môže zlyhať príkaz hromadné vloženie a zobrazí sa toto chybové hlásenie:
Lokalita: PAGEREF. cpp: 913Expression: IS_OFF (BUF_MINLOGGED, m_buf->BSTAT) | | pageModifyType! = PageModifyType_Contents | | GetPagePtr ()->IsTextPage () číslo SPID: 56Process ID: 2136Msg 3624, úroveň 20, štát 1, Link 7A systémová kontrola tvrdení zlyhala. Podrobnosti nájdete v denníku chýb servera SQL Server. Zlyhanie pri tvrdení zvyčajne spôsobuje chybu softvéru alebo poškodenie údajov. Ak chcete skontrolovať poškodenie databázy, zvážte spustenie príkazu DBCC CHECKDB. Ak ste súhlasili s odoslaním výpisov do spoločnosti Microsoft počas inštalácie, na spoločnosť Microsoft sa odošle mini výpis. Aktualizácia môže byť k dispozícii od spoločnosti Microsoft v najnovšom balíku Service Pack alebo v QFE z technickej podpory. msg 0, úroveň 20, stav 0, hodnota 0, v aktuálnom príkaze sa vyskytla závažná chyba. Prípadné výsledky by mali byť zahodené.
Okrem toho môže byť v priečinku Denník servera SQL Server generovaný súbor s miniatúrnym výpisom. Poznámka: Tento problém sa zvyčajne vyskytuje, keď sa používa SQL Server Integration Services (SSIS). Napríklad Koordinátor distribuovaných transakcií spoločnosti Microsoft (MS DTC) sa zapája do spúšťania distribuovaných transakcií spolu s nastavením XACT_ABORT v prípade, ak je vlastnosť na úrovni balíka TransactionOption nastavená na hodnotu povinné.
Príčina
Tento problém sa vyskytuje z dôvodu chyby v SQL Server 2008, SQL Server 2008 R2, SQL Server 2012 alebo SQL Server 2014.
Riešenie
Tento problém bol najskôr vyriešený v nasledujúcej kumulatívnej aktualizácii SQL servera.
Kumulatívna aktualizácia 1 pre SQL Server 2014 /en-us/help/2931693
Kumulatívna aktualizácia balíka 8 pre SQL Server 2012 SP1 /en-us/help/2917531
Kumulatívna aktualizácia balíka 10 pre SQL Server 2008 R2 SP2 /en-us/help/2908087
Kumulatívna aktualizácia balíka 10 pre SQL Server 2008 SP1 /en-us/help/2279604
Kumulatívna aktualizácia balíka 1 pre SQL Server 2008 SP2 /en-us/help/2289254
Kumulatívna aktualizácia 5 pre SQL Server 2008 R2 /en-us/help/2438347
Každá nová Kumulatívna aktualizácia pre SQL Server obsahuje všetky rýchlych opráv a všetky opravy zabezpečenia, ktoré boli súčasťou predchádzajúcej kumulatívnej aktualizácie. Pozrite si najnovšie kumulatívne aktualizácie pre SQL Server:
Alternatívne riešenie
Ak chcete tento problém obísť, nastavte databázu na úplný model obnovy.
Stav
Spoločnosť Microsoft potvrdzuje, že ide o problém v produktoch spoločnosti Microsoft, ktoré sú uvedené v tomto článku v časti Informácie v tomto článku sa týkajú nasledujúcich produktov.
Odkazy
Ďalšie informácie o nastavení nastavenia XACT_ABORT nájdete na nasledujúcej webovej lokalite webovej lokality Microsoft Developer Network (MSDN):
Všeobecné informácie o nastavení SET XACT_ABORTĎalšie informácie o operáciách, ktoré sú minimálne zaznamenané, navštívte nasledujúcu webovú lokalitu MSDN:
Všeobecné informácie o operáciách, ktoré sú minimálne zaznamenanéĎalšie informácie o udržiavaní integrity údajov pomocou transakcií nájdete na nasledujúcej webovej lokalite MSDN:
Všeobecné informácie o tom, ako zachovať integritu údajov pomocou transakciíĎalšie informácie o modeli prírastkového servisu pre SQL Server nájdete v článku databázy Microsoft Knowledge Base, ktorý sa zobrazí po kliknutí na nasledovné číslo článku:
935897 Prírastkové servisné model je k dispozícii v tíme SQL Server na poskytovanie rýchlych opráv pre ohlásené problémyĎalšie informácie o schéme pomenovania pre aktualizácie SQL servera nájdete v článku databázy Microsoft Knowledge Base, ktorý sa zobrazí po kliknutí na nasledovné číslo článku:
822499Nová schéma pomenovania pre balíky aktualizácií softvéru servera Microsoft SQL ServerĎalšie informácie o terminológii aktualizácie softvéru nájdete v článku databázy Microsoft Knowledge Base, ktorý sa zobrazí po kliknutí na nasledovné číslo článku:
824684 Popis štandardnej terminológie, ktorá sa používa na popis aktualizácií softvéru od spoločnosti Microsoft