Labojums: Tiek parādīta kļūda 605 un kļūda 824, izpildot vaicājumu, kas ievieto datus pagaidu tabulā sistēmā SQL Server

Template: CPR – SQL Server 2008 CU individual hotfix

Kļūda: #50003826 (SQL labojumfails)

BUG #: 102328 (Content Maintenance)BUG #: 50003826 (SQL Hotfix)

Microsoft izplata Microsoft SQL Server 2008 labojumus kā vienu lejupielādējamu failu. Tā kā labojumi ir kumulatīvi, katrs jauns laidiens ietver visus labojumfailus un visus drošības labojumus, kas bija ietverti iepriekšējā SQL Server 2008 labojumu laidienā.

Simptomi

SQL Server 2008, izpildot vaicājumu, kas ievieto datus pagaidu tabulā. Ievietotais priekšraksts ietver apakšvaicājumu, kas satur norādes uz to pašu pagaidu tabulu. Izpildot vaicājumu, var tikt parādīts kļūdas ziņojums, kas līdzīgs šim:

Ziņojums 605, līmenis 21, stāvoklis 3, Line 1Attempt ienest loģisko lapu (1: 225) 2. datu bāzē neizdevās. Tas attiecas uz iedalīšanas vienību 281474980315136, nevis uz 504403158513025024.

Izpildot vaicājumu vēlreiz, tiek parādīts kļūdas ziņojums, kas līdzīgs šim:

Ziņojums 824, līmenis 24, stāvoklis 2, rindiņa 1

SQL Server noteica loģiskas konsekvences ievadizvades kļūdu: nepareiza kontrolsumma (paredzēts: 0x50758180; faktiskā: 0x15658bfc). Tā radās lapas (1: 336) lasīšanas laikā datu bāzē ID 2 pie nobīde 0x000000002a0000 failā ' C:\Program Files\Microsoft SQL Server\MSSQL10. SQL2008\MSSQL\DATA\tempdb.MDF ". Papildu ziņojumi SQL Server kļūdu žurnālā vai sistēmas notikumu žurnālā var sniegt detalizētu informāciju. Šis ir nopietns kļūdas stāvoklis, kas apdraud datu bāzes integritāti, un ir nekavējoties jānovērš. Pabeidziet pilnu datu bāzes konsekvences pārbaudi (DBCC CHECKDB). Šo kļūdu var izraisīt daudzi faktori; lai iegūtu papildinformāciju, skatiet SQL Server tiešsaistes grāmatas.

Dažos gadījumos var tikt parādīts kļūdas ziņojums, kas līdzīgs šim:

Ziņojums 601, līmenis 12, stāvoklis 3, procedūra pprocedūras nosaukumsrindas numursnevar turpināt pārbaudi ar NOLOCK datu kustības dēļ.

Iespējams vaicājuma konstrukcijas, kas var radīt šīs kļūdas ir šādi:

insert #table1select s.col1, s.col2from #table2 s inner loop join #table1 t on s.col3 = t.col3 

Risinājums

Šīs problēmas labojums vispirms tika izlaists kumulatīvais atjauninājums 3. Lai iegūtu papildinformāciju par to, kā iegūt šo kumulatīvo atjauninājumu pakotne sistēmai SQL Server 2008, noklikšķiniet uz šī raksta numura un lasiet Microsoft zināšanu bāzes rakstu:

960484 3. kumulatīvo atjauninājumu pakotne sistēmai SQL Server 2008Piezīme. Tā kā būvējumi ir kumulatīvi, katrs jauns labojumu laidiens ietver visus labojumfailus un visus drošības labojumus, kas bija ietverti iepriekšējā SQL Server 2008 labojumu laidienā. Ieteicams apsvērt tāda visjaunākā labojuma laidiena pielietošanu, kurā ir iekļauts šis labojumfails. Lai iegūtu papildinformāciju, noklikšķiniet uz šī raksta numura un lasiet Microsoft zināšanu bāzes rakstu:

956909 SQL Server 2008 būvējumi, kas tika izlaisti pēc sistēmas SQL Server 2008 izlaišanasPēc šī kumulatīvā atjauninājuma pakotnes instalēšanas ir jāiespējo trasējuma karodziņš 4135. Lai to izdarītu, varat pievienot -T4135 startēšanas parametru. Vai arī varat izmantot priekšrakstu dbcc traceon(4135) konkrēto sesiju.

Risinājums

Lai novērstu šo problēmu, pievienojiet kolonnu, kurai ir klasterveida primārā atslēga un identitātes rekvizītu pagaidu tabulu. Piemēram, palaidiet šo priekšrakstu, lai mainītu pagaidu tabulu:

ALTER TABLE #TempTableADD id integer IDENTITY(1,1) CONSTRAINT id PRIMARY KEY CLUSTERED

Statuss

Korporācija Microsoft ir apstiprinājusi, ka šī problēma pastāv Microsoft produktos, kas ir minēti sadaļā "Attiecas uz".

Papildinformācija

Lai gan tiek parādīts kļūdas ziņojums 824 vai 605, datu bāze netiek bojāta. Turklāt šie kļūdu ziņojumi atsauces uz lapām no tempdb datu bāzes.Lai iegūtu papildinformāciju par to, kuri faili tiek mainīti un par priekšnosacījumiem, lai lietotu kumulatīvo atjauninājumu pakotni, kurā ietverts šajā Microsoft zināšanu bāzes rakstā aprakstītais labojumfails, noklikšķiniet uz šī raksta numura un lasiet Microsoft zināšanu bāzes rakstu:

960484 3. kumulatīvo atjauninājumu pakotne sistēmai SQL Server 2008

SQL Server 2008 R2 BPA informācija

SQL Server 2008 R2 labākās prakses analizators (SQL Server 2008 R2 BPA) nodrošina kārtulu, lai noteiktu situācijas, kurās nav kumulatīvā atjauninājuma vai nav iespējots trasēšanas karodziņš, lai novērstu šo problēmu. SQL Server 2008 R2 BPA atbalsta gan SQL Server 2008 un SQL Server 2008 R2. Palaidiet rīku BPA un rodas "Database Engine — tempdb kļūdu labojuma vai trasēšanas karodziņa trūkst" brīdinājums, jums ir jāpārbauda trasēšanas karodziņus, kas ir konfigurēti tā, lai iespējotu šo labojumu un SQL Server versiju.

Atsauces

Kārtulas programmatūra

Kārtulas nosaukums

Kārtulas identifikators

SQL Server 2008 R2 BPA kārtula

trūkst tempdb kļūdu labojuma vai trasēšanas karodziņa

RID3808

Piezīme. Varat iespējot trasēšanas karodziņu 4135 vai 4199, lai iespējotu šo labojumu. Trasēšanas karodziņš 4135 tika ieviesta 3. kumulatīvo atjauninājumu pakotne sistēmai SQL Server 2008. Trasēšanas karodziņš 4135 ir arī pieejami SQL Server 2008 1. servisa pakotni, SQL Server 2008 2. servisa pakotni un SQL Server 2008 R2. Trasēšanas karodziņš 4199 pirmoreiz tika ieviests 7. kumulatīvo atjauninājumu pakotne sistēmai SQL Server 2008, 7. kumulatīvo atjauninājumu pakotne sistēmai SQL Server 2008 1. servisa pakotnei un 1. kumulatīvo atjauninājumu pakotne sistēmai SQL Server 2008 R2. Lai iegūtu papildinformāciju par trasēšanas karodziņu 4199, noklikšķiniet uz šī raksta numura un lasiet Microsoft zināšanu bāzes rakstu:

974006 Trasēšanas karodziņš 4199 ir pievienots, lai kontrolētu vairākas vaicājumu optimizatora izmaiņas, kas veiktas, izmantojot vairākus trasēšanas karodziņus Tā kā šīs problēmas labojums ietver noteikta labojumfaila būvējuma un trasēšanas karodziņu, lai iespējotu labojumu kombinācija, mums ir arī šo tabulu, lai parādītu atšķirīgos gadījumus un ieteicamo darbību katram gadījumam.Lai iegūtu papildinformāciju par jaunāko būvējumu SQL Server, noklikšķiniet uz šī raksta numura un lasiet Microsoft zināšanu bāzes rakstu:

957826 Kur meklēt informāciju par jaunāko SQL Server balstās

Call stack information

6338c88c 02ab0ed6 kernel32!RaiseException+0x53
6338c8d8 026b607e sqlservr!CDmpDump::Dump+0x95
6338c910 026b6a49 sqlservr!SQLDumperLibraryInvoke+0x174
6338ca0c 026ae00a sqlservr!CImageHelper::DoMiniDump+0x29d
6338d7bc 026ae713 sqlservr!stackTrace+0x643
6338d7dc 0175ec9e sqlservr!stackTraceCallBack+0x40
6338da74 01222ecb sqlservr!ex_raise2+0x1c6
6338daa0 024b7fb9 sqlservr!ex_raise+0x64
6338dbe8 016dc45c sqlservr!RaiseWrongPageError+0xa7
6338dc54 01006a2e sqlservr!FixPageNotThruLinkage+0x2a5
6338dce0 01006db6 sqlservr!HeapPageManager::GetNextPage+0x185
6338e4a8 015307fd sqlservr!HeapDataSetSession::GetNextRowValuesInternal+0x4df
6338e4f8 015306cc sqlservr!RowsetNewSS::FetchNextRow+0x126
6338e524 01530882 sqlservr!CQScanRowsetNew::GetRowWithPrefetch+0x2b
6338e548 01530182 sqlservr!CQScanTableScanNew::GetRow+0x80
6338e568 015336a5 sqlservr!CQScanHash::ReadRow+0xe9
6338e5ac 01558b24 sqlservr!CQScanHash::ConsumeBuild+0x2bf

Atsauces

Lai iegūtu papildinformāciju par to būvējumu sarakstu, kas pieejami pēc sistēmas SQL Server 2008 izlaišanas, noklikšķiniet uz šī raksta numura un lasiet Microsoft zināšanu bāzes rakstu:

956909 SQL Server 2008 būvējumi, kas tika izlaisti pēc sistēmas SQL Server 2008 izlaišanasLai iegūtu papildinformāciju par inkrementālās apkopes modeli sistēmai SQL Server, noklikšķiniet uz šī raksta numura un lasiet Microsoft zināšanu bāzes rakstu:

935897 Inkrementālās apkopes modelis ir pieejams no SQL Server grupas, lai nodrošinātu labojumfailus paziņotajām problēmāmLai iegūtu papildinformāciju par nosaukumdošanas shēma SQL Server atjauninājumus, noklikšķiniet uz šī raksta numura un lasiet Microsoft zināšanu bāzes rakstu:

822499Jauna Microsoft SQL Server programmatūras atjauninājumu pakotņu nosaukumdošanas shēmaLai iegūtu papildinformāciju par programmatūras atjauninājumu terminoloģiju, noklikšķiniet uz šī raksta numura un lasiet Microsoft zināšanu bāzes rakstu:

824684 Microsoft programmatūras atjauninājumu raksturošanai izmantotās standarta terminoloģijas apraksts

Author (SME): bruceye
Writer: ericzha
Tech Reviewer: bruceye; wcarroll
Editor: v-janhal

Vai nepieciešama papildu palīdzība?

Paplašiniet savas prasmes
Iepazīties ar apmācību
Esiet pirmais, kas saņem jaunās iespējas
Pievienoties Microsoft Insider

Vai šī informācija bija noderīga?

Paldies par jūsu atsauksmēm!

Paldies par atsauksmēm! Šķiet, ka jums varētu būt noderīgi sazināties ar kādu no mūsu Office atbalsta speciālistiem.

×