Šobrīd esat bezsaistē, tiek gaidīts atkārtots savienojums ar internetu

Atkopšana no pilna transakcijas žurnālfaila SQL Server datu bāzē

IEVADS
Šajā rakstā ir aprakstītas darbības, kas ir jāizpilda, kad transakcijas žurnālfaili kļūst par lielu. Microsoft SQL Server datu bāzi nevar izmantot, ja transakcijas žurnālfaili ir pilni. Šajā rakstā ir aprakstīts, kā apcirpt un samazināt transakcijas žurnālfailus un novērst transakcijas žurnālfailu neparedzētu palielināšanos.

PAPILDINDORMĀCIJA

Transakciju žurnāla lieluma samazināšana

Lai veiktu atkopšanu situācijā, kad transakcijas žurnālfaili ir pilni, ir jāsamazina šo failu lielums. Lai to izdarītu, transakciju žurnālā apcērpiet neaktīvās transakcijas un samaziniet transakcijas žurnālfailu lielumu.

Piezīme. Transakcijas žurnālfailiem ir liela nozīme datu bāzes transakciju integritātes uzturēšanā. Tādēļ nedzēsiet transakcijas žurnālfailus pat pēc datu bāzes un transakcijas žurnālfailu dublēšanas.


Lai iegūtu papildinformāciju par transakcijas žurnāla lieluma samazināšanu, skatiet šo Microsoft vietni:

Neaktīvo transakciju apcirpšana transakciju žurnālā

Kad transakciju žurnāli ir pilni, nekavējoties dublējiet transakcijas žurnālfailu. Kamēr tiek veidots transakcijas žurnālfailu dublējums, programmatūrā SQL Server automātiski tiek apcirpta transakcijas žurnālfaila neaktīvā daļa. Transakcijas žurnālfaila neaktīvajā daļā ir ietvertas pabeigtās transakcijas, tādēļ atkopšanas laikā programmatūrā SQL Server vairs netiek izmantots transakcijas žurnālfails. Transakciju žurnāls netiek palielināts, programmatūrā SQL Server tiek atkārtoti izmantota apcirptā transakciju žurnāla neaktīvā vieta.

Lai iegūtu papildinformāciju par problēmām, kas ir jāņem vērā, veidojot transakciju žurnālu dublējumu, kā arī par problēmām, kas ir jāņem vērā, atjaunojot transakciju žurnālu dublējumus, skatiet šīs tēmas SQL Server tiešsaistes grāmatās:
  • Transakciju žurnālu dublējumi
  • Transakciju žurnālu dublēšana un atjaunošana
Turklāt varat dzēst neaktīvās transakcijas attiecīgajā transakciju žurnālā, izmantojot opciju Apcirpt. Lai iegūtu papildinformāciju par transakciju žurnālu apcirpšanu, skatiet SQL Server tiešsaistes grāmatas tēmu “Transakciju žurnāla apcirpšana”.

Svarīgi! Pēc transakcijas žurnālfailu manuālas apcirpšanas un pirms transakciju žurnāla dublēšanas ir jāizveido pilns datu bāzes dublējums.

Lai iegūtu papildinformāciju par problēmām, kas var rasties, apcērpot transakcijas žurnālfailus, noklikšķiniet uz šī raksta numura, lai skatītu rakstu Microsoft zināšanu bāzē:
62866 SQL transakciju žurnāla neapcirpšanas iemesli (šī informācija var būt angļu valodā)

Transakciju žurnāla samazināšana

Izmantojot dublēšanu vai opciju Apcirpt, žurnālfaila lielums netiek samazināts. Lai samazinātu transakcijas žurnālfaila lielumu, transakcijas žurnālfails ir jāsamazina. Lai samazinātu transakcijas žurnālfailu līdz nepieciešamajam lielumam un noņemtu neizmantotās lapas, ir jālieto darbība DBCC SHRINKFILE. Izmantojot izteiksmi DBCC SHRINKFILE Transact-SQL, tiek samazināta tikai žurnālfaila neaktīvā daļa.

Piezīme. Izmantojot izteiksmi DBCC SHRINKFILE Transact-SQL, nevar apcirpt žurnālu un samazināt žurnālfailā izmantoto vietu.

Lai iegūtu papildinformāciju par transakcijas žurnālfailu samazināšanu, skatiet šīs tēmas SQL Server tiešsaistes grāmatās:
  • Transakcijas žurnālfaila samazināšana
  • DBCC SHRINKFILE
Lai iegūtu papildinformāciju, kā samazināt transakcijas žurnālfailus programmatūrā SQL Server 2000, noklikšķiniet uz šī raksta numura, lai skatītu rakstu Microsoft zināšanu bāzē:
272318 Transakciju žurnāla samazināšana programmatūrā SQL Server 2000, izmantojot izteiksmi DBCC SHRINKFILE (šī informācija var būt angļu valodā)
Lai iegūtu papildinformāciju par problēmām, kas var rasties, samazinot transakcijas žurnālfailus, noklikšķiniet uz šiem rakstu numuriem, lai skatītu rakstus Microsoft zināšanu bāzē:
814574 PRB: Samazinot transakcijas žurnālfailu, tiek rādīts kļūdas ziņojums “Nevar samazināt žurnālfailu...”. (šī informācija var būt angļu valodā)
324432 PRB: Neliela teksta aizpildījuma, datu tipa ntext vai attēlu kolonnu dēļ komandas DBCC SHRINKFILE un SHRINKDATABASE var nedarboties. (šī informācija var būt angļu valodā)

Transakcijas žurnālfailu neparedzētas palielināšanās novēršana

Lai novērstu transakcijas žurnālfailu neparedzētu palielināšanos, izmantojiet kādu no tālāk aprakstītajiem paņēmieniem.
  • Lai novērstu transakcijas žurnālfailu automātisko palielināšanos, iestatiet transakcijas žurnālfailu lielumu uz lielu vērtību.
  • Pēc optimālā atmiņas lieluma noteikšanas konfigurējiet transakcijas žurnālfailu automātisko palielināšanos, procentuālo attiecību vietā izmantojot atmiņas vienības.

    Lai iegūtu papildinformāciju par problēmām, kas ir jāņem vērā, konfigurējot automātiskās palielināšanās opciju, noklikšķiniet uz šī raksta numura, lai skatītu rakstu Microsoft zināšanu bāzē:
    315512 Apsvērumi, kas ir jāņem vērā, konfigurējot automātisko palielināšanos un samazināšanos (šī informācija var būt angļu valodā)
  • Mainiet atkopšanas modeli. Avārijas vai datu bojājumu gadījumā datu bāze jāatkopj tā, lai tiktu uzturēta datu konsekvence un transakciju integritāte. Atkarīgi no datu bāzē esošo datu svarīguma izmantojiet kādu no tālāk aprakstītajiem atkopšanas modeļiem, lai noteiktu datu dublēšanas veidu un datu zuduma risku.
    • Parastās atkopšanas modelis
    • Pilnās atkopšanas modelis
    • Lielapjoma reģistrācijas atkopšanas modelis
    Izmantojot parastās atkopšanas modeli, varat atkopt datu bāzi, izmantojot pēdējo datu bāzes dublējumu. Izmantojot pilnās atkopšanas modeli vai lielapjoma reģistrācijas atkopšanas modeli, varat atkopt datu bāzi līdz stāvoklim, kad radās kļūme; datu bāzes atjaunošanai tiks lietoti transakcijas žurnālfailu dublējumi.

    Ja izmantojat programmatūru SQL Server 2000 vai SQL Server 2005, SQL Server datu bāzes atkopšanas modelis pēc noklusējuma ir iestatīts uz pilnās atkopšanas modeli. Izmantojot pilnās atkopšanas modeli, tiek lietoti regulārie transakciju žurnāla dublējumi, lai novērstu transakcijas žurnālfaila palielināšanos neproporcionāli datu bāzes apjomam. Tomēr, ja netiek veikti regulāri transakciju žurnāla dublējumi, transakciju žurnālfails palielinās, aizpildot disku, kā rezultātā SQL Server datu bāzē, iespējams, nevarēsit modificēt datus.

    Ja avārijas atkopšanā nevēlaties lietot transakcijas žurnālfailus, mainiet atkopšanas modeli no pilnā uz parasto.
  • Lai transakciju žurnālā dzēstu neaktīvās transakcijas, regulāri dublējiet transakcijas žurnālfailus.
  • Veidojiet nelielas transakcijas.
  • Pārliecinieties, vai nesaistītās transakcijas neturpina darboties nenoteiktu laiku.
  • Ieplānojiet opcijas Labot statistiku izpildi katru dienu.
  • Lai defragmentētu indeksus, uzlabojot slodzes parametrus darba vidē, izteiksmes DBCC DBREINDEX Transact-SQL vietā izmantojiet izteiksmi DBCC INDEXDEFRAG Transact-SQL. Palaižot izteiksmi DBCC DBREINDEX, transakciju žurnāls var būtiski palielināties, ja SQL Server datu bāzē ir iestatīts pilnās atkopšanas režīms. Turklāt atšķirībā no izteiksmes DBCC DBREINDEX izteiksme DBCC INDEXDEGRAG nenodrošina ilgstošu bloķēšanu.

    Lai iegūtu papildinformāciju par indeksu defragmentēšanu programmatūrā SQL Server 2000, skatiet šo Microsoft vietni: Ja izteiksme DBCC DBREINDEX ir jāpalaiž kā datu bāzes uzturēšanas plāna uzdevums, sadaliet uzdevumu vairākos uzdevumos. Turklāt uzdevumu izpildes starplaikos ir bieži jādublē transakciju žurnāli.

Papildinformācija par transakcijas žurnālfailiem

Katrā programmatūrā SQL Server 2000 un SQL Server 2005 esošajā datu bāzē ir vismaz viens datu fails un viens transakcijas žurnālfails. Programmatūrā SQL Server dati tiek fiziski saglabāti datu failā. Transakcijas žurnālfailā tiek saglabāti visi dati par SQL Server datu bāzē veiktajām modifikācijām, kā arī par transakcijām attiecībā uz katru modifikāciju. Transakciju integritāte ir SQL Server pamatīpašība, tāpēc programmatūrā SQL Server nevar izslēgt transakciju datu reģistrāciju.

Transakcijas žurnālfails ir loģiski sadalīts mazākos segmentos, kas tiek dēvēti par virtuālajiem žurnālfailiem. Varat konfigurēt programmatūru SQL Server 2000 tā, lai pēc nepieciešamības palielinātu transakcijas žurnālfailu. Varat konfigurēt lietotāja pārvaldīto transakciju žurnāla palielināšanos vai arī konfigurēt transakciju žurnālu visas diskā pieejamās vietas izmantošanai. Visas programmatūrā SQL Server veiktās transakcijas žurnālfaila lieluma modifikācijas, piemēram, transakcijas žurnālfailu apcirpšana vai palielināšana, tiek izpildītas virtuālo žurnālfailu vienībās.

Ja tiek aizpildīts SQL Server datu bāzei atbilstošais transakcijas žurnālfails un ir iestatīta transakcijas žurnālfailu automātiskās palielināšanās opcija, transakcijas žurnālfails tiek palielināts virtuālo žurnālfailu vienībās. Dažreiz transakcijas žurnālfaila palielināšanās dēļ diskā var pietrūkt brīvas vietas. Ja transakcijas žurnālfaila palielināšanās rezultātā tiek izmantota visa diskā pieejamā brīva vieta un žurnālfailu vairs nevar palielināt, datu bāzē vairs nevarēsit modificēt datus. Turklāt programmatūrā SQL Server datu bāze var tikt atzīmēta kā aizdomīga, jo transakciju žurnāla palielināšanai trūkst brīvas vietas.

Lai iegūtu papildinformāciju par scenārijiem, kas var izraisīt transakcijas žurnāla neparedzētu palielināšanos, noklikšķiniet uz šī raksta numura, lai skatītu rakstu Microsoft zināšanu bāzē:
317375 Programmatūrā SQL Server transakciju žurnāls neparedzēti palielinās vai kļūst pilns (šī informācija var būt angļu valodā)

UZZIŅAS
Lai iegūtu papildinformāciju par problēmu novēršanu atkopšanas laikā saistībā ar brīvu vietu diskā, skatiet SQL Server tiešsaistes grāmatas tēmu “Diskā nepietiek vietas”. Lai iegūtu papildinformāciju par transakciju žurnāla arhitektūru, skatiet šīs tēmas SQL Server tiešsaistes grāmatās:
  • Transakciju žurnāla arhitektūra
  • Transakciju žurnāla loģiskā arhitektūra
  • Transakciju žurnāla fiziskā arhitektūra
Lai iegūtu papildinformāciju par programmatūrā SQL Server 2000 izmantotajiem atkopšanas modeļiem, skatiet šīs tēmas SQL Server tiešsaistes grāmatās:
  • Atkopšanas modeļa atlase
  • Parastā atkopšana
  • Pilnā atkopšana
  • Lielapjoma reģistrācijas atkopšana
  • Atkopšanas modeļu maiņa

TLOG T-log faila lielums kļūst liels pilns trūkst brīvas vietas aizpildījums
Note This is a "FAST PUBLISH" article created directly from within the Microsoft support organization. The information contained herein is provided as-is in response to emerging issues. As a result of the speed in making it available, the materials may include typographical errors and may be revised at any time without notice. See Terms of Use for other considerations.
Rekvizīti

Raksta ID: 873235. Pēdējo reizi pārskatīts: 02/29/2012 14:47:00. Pārskatījums: 1.0

Microsoft SQL Server 2000 Standard Edition, Microsoft SQL Server 2005 Standard Edition, Microsoft SQL Server 2005 Developer Edition, Microsoft SQL 2005 Server Enterprise, Microsoft SQL Server 2005 Express Edition, Microsoft SQL 2005 Server Workgroup

  • kbsqlsetup kbdiskmemory kbdisasterrec kbhowto kbconfig kbinfo kbcip KB873235
Atsauksmes