Simptomi
Iedomājieties šādu scenāriju:
-
Jums ir datu bāze, kurā tiek izmantots BULK_LOGGED vai vienkāršs ATKOPŠANAS modelis programmā Microsoft SQL Server 2008, SQL Server 2008 R2, SQL Server 2012 vai SQL Server 2014.
-
Jūs ieslēdzat iestatīt XACT_ABORT slēdzi.
-
Jūs mēģināt palaist vairākus lielapjoma ievietošanas priekšrakstus vienā sadalītā transakcijā.
Šajā scenārijā lielapjoma ievietošanas priekšraksts var neizdoties, un tiek parādīts šāds kļūdas ziņojums:
Atrašanās vieta: PAGEREF. cpp: 913Expression: IS_OFF (BUF_MINLOGGED, m_buf->bstat) | | pageModifyType! = PageModifyType_Contents | | GetPagePtr ()->IsTextPage () SPID: 56Process ID: 2136Msg 3624, Level 20, State 1, a Line 7 sistēmas apgalvojuma pārbaude neizdevās. Detalizētu informāciju skatiet SQL Server kļūdu žurnāls. Parasti apgalvotās kļūmes cēlonis ir programmatūras kļūda vai datu bojājums. Lai pārbaudītu datu bāzes bojājumus, apsveriet iespēju palaist DBCC CHECKDB. Ja esat piekritis sūtīt izgāztuves uz Microsoft iestatīšanas laikā, korporācijai Microsoft tiks nosūtīta mazā izmete. Atjauninājums, iespējams, ir pieejams no Microsoft jaunākās servisa pakotnēs vai QFE no tehniskā atbalsta. msg 0, Level 20, State 0, Line 0 ar pašreizējo komandu radās smaga kļūda. Rezultāti, ja tādi ir, ir jāizmet.
Turklāt var tikt ģenerēts neliels izmetes fails SQL Server žurnālfailā. Piezīme. Šī problēma parasti rodas, ja tiek izmantots SQL Server integrācijas pakalpojums (SSIS). Piemēram, Microsoft dalītā transakciju koordinators (MS DTC) ir iesaistīts, lai sāktu dalītās darbības kopā ar iestatīt XACT_ABORT, ja rekvizīts TransactionOption pakotnes līmenis ir iestatīts uz obligāts.
Cēlonis
Šī problēma rodas tāpēc, ka SQL Server 2008, SQL Server 2008 R2, SQL Server 2012 vai SQL Server 2014 ir kļūda.
Risinājums
Šī problēma pirmo reizi tika izlabota tālāk sniegtajā SQL Server kumulatīvajā atjauninājumā.
Kumulatīvais atjauninājums 1 SQL Server 2014 /en-us/help/2931693
Kumulatīvais atjauninājums 8 SQL Server 2012 SP1 /en-us/help/2917531
Kumulatīvais atjauninājums 10 SQL Server 2008 R2 SP2 /en-us/help/2908087
Kumulatīvais atjauninājums 10 SQL Server 2008 SP1 /en-us/help/2279604
Kumulatīvais atjauninājums 1 SQL Server 2008 SP2 /en-us/help/2289254
Kumulatīvais atjauninājums 5 SQL Server 2008 R2 /en-us/help/2438347
Katrā jaunajā kumulatīvajā SQL Server atjauninājumā ir iekļauti visi labojumfaili un visi drošības labojumi, kas bija iekļauti iepriekšējā kumulatīvajā atjauninājumā. Skatiet jaunākos kumulatīvos atjauninājumus SQL Server:
Risinājums
Lai novērstu šo problēmu, iestatiet datu bāzi pilnas atkopšanas modelim.
Statusa
Microsoft ir apstiprinājusi, ka šī problēma pastāv Microsoft produktos, kas ir norādīti sadaļā "attiecas uz".
Atsauces
Lai iegūtu papildinformāciju par iestatījumu iestatīt XACT_ABORT , apmeklējiet šo Microsoft izstrādātāju tīkla (MSDN) tīmekļa vietni:
Vispārīgā informācija par iestatījumu iestatīt XACT_ABORTLai iegūtu papildinformāciju par darbībām, kas ir minimāli reģistrētas, apmeklējiet šo MSDN tīmekļa vietni:
Vispārīga informācija par darbībām, kas ir minimāli reģistrētasLai iegūtu papildinformāciju par to, kā saglabāt datu integritāti, izmantojot transakcijas, apmeklējiet šo MSDN tīmekļa vietni:
Vispārīgu informāciju par to, kā saglabāt datu integritāti, izmantojot transakcijasLai iegūtu papildinformāciju par papildu apkalpošanas modeli SQL Server, noklikšķiniet uz šī raksta numura, lai skatītu Microsoft zināšanu bāzes rakstu:
935897 SQL Server komandā ir pieejams papildu apkalpošanas modelis, kas sniedz labojumfailus ziņotām problēmāmLai iegūtu papildinformāciju par nosaukumdošanas shēmu SQL Server atjauninājumiem, noklikšķiniet uz šī raksta numura, lai skatītu Microsoft zināšanu bāzes rakstu:
822499Jauna nosaukuma shēma Microsoft SQL Server programmatūras atjaunināšanas pakotnēmLai iegūtu papildinformāciju par programmatūras atjaunināšanas terminoloģiju, noklikšķiniet uz šī raksta numura, lai skatītu Microsoft zināšanu bāzes rakstu:
824684 Apraksts par standarta terminoloģiju, kas tiek izmantota Microsoft programmatūras atjauninājumu aprakstos