Microsoft izplata Microsoft SQL Server 2008 R2 Service Pack 1 (SP1) vai Microsoft SQL Server 2008 vai Microsoft SQL Server 2012 labojumi vienā lejupielādējamo failu. Tā kā labojumi ir kumulatīvi, katrā jaunajā laidienā ir iekļauti visi labojumfaili un visi drošības atjauninājumi, kas iekļauti iepriekšējā SQL Server 2008 R2 1. servisa pakotnē (SP1) vai SQL Server 2008 vai Microsoft SQL Server 2012 atjaunināšanas laidiens.
Simptomi
Lai atjaunotu datu bāzi programmā Microsoft SQL Server 2008 R2 vai Microsoft SQL Server 2008 vai Microsoft SQL Server 2012, var būt nepieciešams ilgs laiks.
Cēlonis
Šī problēma rodas tāpēc, ka ir nepieciešams ilgs laiks, lai izveidotu virtuālo žurnālu failu (VLF) sarakstu, ja datu bāzē ir daudz VLFs.
Risinājums
Kumulatīvās atjaunināšanas informācija
SQL Server 2012
Šīs problēmas labojums pirmo reizi tika izlaists SQL Server 2012 kumulatīvajā atjauninājumā 1. Lai iegūtu papildinformāciju par šo kumulatīvās atjaunināšanas pakotni, noklikšķiniet uz šī raksta numura, lai skatītu Microsoft zināšanu bāzes rakstu:
2679368 Kumulatīvās atjaunināšanas pakotne 1 SQL Server 2012Piezīme. Tā kā būvējums ir kumulatīvs, katrā jaunajā laidienā ir iekļauti visi labojumfaili un visi drošības labojumi, kas bija iekļauti iepriekšējā SQL Server 2012 labošanas laidienā. Microsoft iesaka, ka apsveriet iespēju lietot jaunāko labojumu laidienu, kurā ir iekļauts šis labojumfails. Lai iegūtu papildinformāciju, noklikšķiniet uz šī raksta numura, lai skatītu Microsoft zināšanu bāzes rakstu:
2692828 SQL Server 2012 būvējumi, kas tika izlaisti pēc tam, kad tika izlaists SQL Server 2012 SQL Server 2012 labojumfails ir jālieto SQL Server 2012.
SQL Server 2008 2. servisa pakotne
Šīs problēmas labojums pirmo reizi tika izlaists kumulatīvajā atjauninājumā 8 SQL Server 2008 2. servisa pakotnei. Lai iegūtu papildinformāciju par šo kumulatīvās atjaunināšanas pakotni, noklikšķiniet uz šī raksta numura, lai skatītu Microsoft zināšanu bāzes rakstu:
2648096 Kumulatīvās atjaunināšanas pakotne 8 SQL Server 2008 2. servisa pakotneiPiezīme. Tā kā būvējums ir kumulatīvs, katrā jaunajā laidienā ir iekļauti visi labojumfaili un visi drošības labojumi, kas bija iekļauti iepriekšējā SQL Server 2008 labošanas laidienā. Microsoft iesaka, ka apsveriet iespēju lietot jaunāko labojumu laidienu, kurā ir iekļauts šis labojumfails. Lai iegūtu papildinformāciju, noklikšķiniet uz šī raksta numura, lai skatītu Microsoft zināšanu bāzes rakstu:
2402659 SQL Server 2008 būvējumi, kas tika izlaisti pēc tam, kad tika izlaista SQL Server 2008 2. servisa pakotne Microsoft SQL Server 2008 labojumfaili tiek izveidoti specifiskām SQL Server servisa pakotnēm. SQL Server 2008 2. servisa pakotnes labojumfails ir jālieto SQL Server 2008 2. servisa pakotnes instalēšanai. Pēc noklusējuma visi labojumfaili, kas tiek nodrošināti SQL Server servisa pakotnē, ir iekļauti nākamajā SQL Server servisa pakotnē.
SQL Server 2008 3. servisa pakotne
Šīs problēmas labojums pirmo reizi tika izlaists kumulatīvajā atjauninājumā 3 SQL Server 2008 3. servisa pakotnei. Lai iegūtu papildinformāciju par šo kumulatīvās atjaunināšanas pakotni, noklikšķiniet uz šī raksta numura, lai skatītu Microsoft zināšanu bāzes rakstu:
2648098 Kumulatīvās atjaunināšanas pakotne 3 SQL Server 2008 3. servisa pakotneiPiezīme. Tā kā būvējums ir kumulatīvs, katrā jaunajā laidienā ir iekļauti visi labojumfaili un visi drošības labojumi, kas bija iekļauti iepriekšējā SQL Server 2008 labošanas laidienā. Microsoft iesaka, ka apsveriet iespēju lietot jaunāko labojumu laidienu, kurā ir iekļauts šis labojumfails. Lai iegūtu papildinformāciju, noklikšķiniet uz šī raksta numura, lai skatītu Microsoft zināšanu bāzes rakstu:
2629969 SQL Server 2008 būvējumi, kas tika izlaisti pēc SQL Server 2008 3. servisa pakotnes izlaišanas Microsoft SQL Server 2008 labojumfaili tiek izveidoti specifiskām SQL Server servisa pakotnēm. SQL Server 2008 Service Pack 3 labojumfails ir jālieto SQL Server 2008 3. servisa pakotnes instalēšanai. Pēc noklusējuma visi labojumfaili, kas tiek nodrošināti SQL Server servisa pakotnē, ir iekļauti nākamajā SQL Server servisa pakotnē.
Kumulatīvās atjaunināšanas pakotne 11 SQL Server 2008 R2
Šīs problēmas labojums pirmo reizi tika izlaists kumulatīvajā atjauninājumā 11. Lai iegūtu papildinformāciju par to, kā iegūt SQL Server 2008 R2 kumulatīvās atjaunināšanas pakotni, noklikšķiniet uz šī raksta numura, lai skatītu Microsoft zināšanu bāzes rakstu:
2633145 Kumulatīvās atjaunināšanas pakotne 11 SQL Server 2008 R2Piezīme. Tā kā būvējums ir kumulatīvs, katrā jaunajā laidienā ir iekļauti visi labojumfaili un visi drošības labojumi, kas bija iekļauti iepriekšējā SQL Server 2008 R2 labošanas laidienā. Iesakām apsvērt jaunāko labojumu laidienu, kurā ir iekļauts šis labojumfails. Lai iegūtu papildinformāciju, noklikšķiniet uz šī raksta numura, lai skatītu Microsoft zināšanu bāzes rakstu:
981356 SQL Server 2008 R2 būvējumi, kas tika izlaisti pēc tam, kad tika izlaists SQL Server 2008 R2
Kumulatīvās atjaunināšanas pakotne 4 SQL Server 2008 R2 SP1
Šīs problēmas labojums pirmo reizi tika izlaists kumulatīvajā atjaunināšanā 4. Lai iegūtu papildinformāciju par to, kā iegūt SQL Server 2008 R2 SP1 kumulatīvās atjaunināšanas pakotni, noklikšķiniet uz šī raksta numura, lai skatītu Microsoft zināšanu bāzes rakstu:
2633146 Kumulatīvās atjaunināšanas pakotne 4 SQL Server 2008 R2 SP1Piezīme. Tā kā būvējums ir kumulatīvs, katrā jaunajā laidienā ir iekļauti visi labojumfaili un visi drošības labojumi, kas bija iekļauti iepriekšējā SQL Server 2008 R2 SP1 labošanas laidienā. Iesakām apsvērt jaunāko labojumu laidienu, kurā ir iekļauts šis labojumfails. Lai iegūtu papildinformāciju, noklikšķiniet uz šī raksta numura, lai skatītu Microsoft zināšanu bāzes rakstu:
2567616 SQL Server 2008 R2 būvējumi, kas tika izlaisti pēc tam, kad tika izlaists SQL Server 2008 R2 SP1
Statusa
Microsoft ir apstiprinājusi, ka šī problēma pastāv Microsoft produktos, kas ir norādīti sadaļā "attiecas uz".
Papildinformācija
Varat pārbaudīt VLF segmentu skaitu, pārskatot SQL kļūdu reģistrācijas failu un pēc tam atrodot žurnālfaila sērijas numuru (LSN) katrā transakciju arhīva failā. Pirmie cipari pirms kols simbola LSNs atbilst LSN skaitlim. Piemēram, pirmais numurs LSN pirmajā informatīvajā ziņojumā ir 1. Taču pirmais numurs LSN otrajā informatīvajā ziņojumā ir 100001. Šajā scenārijā ir 100 000 VLFs, kas tiek izmantoti starp pirmā informatīvā ziņojuma un otrā informatīvā ziņojuma laiku. Tādējādi reģistrētais fragmentēto transakciju žurnāls, kurā ir daudz virtuālo žurnālu failu (VLFs), līdzinās tālāk norādītajam.
{Žurnāls tika dublēts. Datu bāze: mydbname, izveides datums (laiks): 2010/07/08 (12:36:46), First LSN: 1:5068:70, pēdējā LSN: 1:5108:1, izkraušanas ierīču skaits: 1, informācija par ierīci: (fails = 1, TYPE = DISK: {"C:\folder\logbackup1.TRN"}). Šis ir tikai informatīvs ziņojums. Lietotāja darbība nav nepieciešama. Žurnāls ir dublēts. Datu bāze: mydbname, izveides datums (laiks): 2010/07/08 (15:36:46), pirmo LSN: 100001:5108:1, pēdējā LSN: 100002:5108:1, izkraušanas ierīču skaits: 1, informācija par ierīci: (fails = 2, TYPE = DISK: {' C:\folder\logbackup2.TRN '}). Šis ir tikai informatīvs ziņojums. Nav nepieciešama lietotāja darbība.}
Atsauces
Lai iegūtu papildinformāciju par žurnālu secību numuriem (LSN), apmeklējiet šo MSDN tīmekļa vietni:
Vispārīgā informācija par žurnālu secības numuriem
Lai iegūtu papildinformāciju par to, kā žurnālfaila struktūra var ietekmēt datu bāzes atkopšanas laiku, apmeklējiet šo MSDN tīmekļa vietni:
Kā žurnālfaila struktūra var ietekmēt datu bāzes atkopšanas laikuLai iegūtu papildinformāciju par transakciju žurnālu VLFs, apmeklējiet šo MSDN tīmekļa vietni:
Risinājums
-
Uzgaidiet, līdz tiek pabeigta atjaunošanas vai atkopšanas darbībaJa jums ir neatkopta datu bāze, kurai ir lēna veiktspēja, kad atjaunojat vai atjaunojat datu bāzi, iespējams, būs jāgaida, līdz tiek pabeigta atjaunošanas vai atkopšanas operācija. Piemēram, programmā SQL Server Management Studio (SSMS), iespējams, redzēsit bezsaistes statusu vai atkopšanas statusu, kas nav atkopta datu bāze. Apturot SQL Server, parasti nesniedz nekādu atvieglojumu par lēnu atkopšanu, un var būt nepieciešams vairāk laika, lai atkārtotu to pašu atkopšanas analīzes fāzi, atceltu fāzes vai atsauktu fāzi.
-
Izvairieties no transakciju žurnālu secības atjaunošanas, kurā ir tūkstošiem VLFsJa rodas lēna darbība, atjaunojot un atjaunojot datu bāzi, izmantojot dublējuma failu, varat izvairīties no tādu transakciju žurnālu secības atjaunošanas, kas satur tūkstošiem VLFs. Lai noteiktu dublējuma failu, kurā ir ierakstīti visi virtuālie žurnālfaili, izmantojiet tālāk norādīto priekšrakstu, lai skatītu FirstLSN un LastLSN kolonnas žurnālfailā: atjaunojiet HEADERONLY no diska = "C:\folder\file.TRN", jūs varat nolemt neļaut atjaunot žurnālfailus. Varat arī izmantot komandu apturēt šeit, lai izvairītos no transakciju žurnālu ļoti fragmentētajām daļām. Ja neesat pilnībā atjaunojis žurnālu sekvences līdz pēdējam brīdim neveiksmes atkopšanas scenārija laikā, datu zudumi rodas jūsu datu bāzes SQL serverī. Šis datu zudums rodas, jo visas darbības netiek saglabātas. Tāpēc pastāv biznesa tradeoff lēmums. Varat pilnībā atjaunot ļoti sadrumstalotu transakciju žurnālu. Tomēr šī darbība var ilgt vairākas stundas. Vai arī, lai apturētu atkopšanu pirms ļoti fragmentētās reģistrācijas daļas, varat izmantot priekšraksta apturēšanu. Tomēr zūd visas trūkstošās darbības.Piezīme. Ja neinstalējat šo labojumfailu, pēc tam, kad restartējat SQL Server, parasti nav pieejama droša atgūšana. SQL Server ir jāatrod saraksts ar VLFs, lai analizētu žurnālfailus, lai atceltu pabeigto transakciju atsaukšanu, un pēc tam, lai atsauktu nepabeigtas transakcijas, lai pabeigtu atkopšanu un padarītu datu bāzi tiešsaistē drošu. Atkopšanas laikā nevar droši izlaist transakcijas.