Cum de a micșora fișier jurnal de tranzacții în SQL Server 2005

Traduceri articole Traduceri articole
ID articol: 907511 - View products that this article applies to.
Măriți totul | Reduceți totul

Rezumat

În Microsoft SQL Server 2005, pot micsora un fișier jurnal de tranzacții în baza acoperire de date pentru a elimina nefolosite de pagini. Motorul de baze acoperire de date reutilizează spațiu în mod eficient. Cu toate acestea, atunci când un fișier jurnal de tranzacții creste în mod neașteptat, este posibil să aveți pentru a micsora fișier jurnal de tranzacții manual.

Acest articol descrie modul de utilizare a DBCC SHRINKFILE declarație pentru a micsora fișier jurnal de tranzacții manual sub model de recuperare completă într-o bază acoperire de date SQL Server 2005. The metoda pe care le utilizați pentru a micsora fișier jurnal de tranzacții în SQL Server 2005 poate diferi de metoda pe care le utilizați pentru a micsora fișier jurnal de tranzacții în serverul SQL 2000. Pentru mai multe informații despre cum la spre crevet fișier jurnal de tranzacții în SQL Server 2000, faceți clic pe următorul număr de articol pentru a vedea articolul în bază de cunoștințe Microsoft:
272318Scădere Jurnalul de tranzacții în SQL Server 2000 cu DBCC SHRINKFILE

Informații suplimentare

În SQL Server 2005, o operațiune de psihiatru (DBCC SHRINKFILE) încearcă să micsora fișier jurnal de tranzacții specificate la dimensiunea solicitată imediat. Pentru a micsora fișier jurnal de tranzacții manual conform modelului recuperare completă, prima spate sus fișier jurnal de tranzacții. Apoi, utilizați DBCC SHRINKFILE declarație pentru a micsora fișier jurnal de tranzacții.

De obicei, în scădere de fișier jurnal de tranzacții în SQL Server 2005 este mai rapid decât în scădere fișier jurnal de tranzacții în SQL Server 2000. Motivul este că SQL Managerul de jurnal server 2005 creează sau reutilizează inactiv virtuale log dosar de după comanda de stocare disc fizic. Prin urmare, partea inactivă tranzactiei fișierul jurnal este, de obicei, la sfârșitul fișierului.

De exemplu, fișier jurnal de tranzacții pot avea 100 fișierele jurnal virtuale, și numai 2 virtuale log dosar sunt utilizate. SQL Server 2000 pot stoca primul fișier jurnal virtuale utilizate la începe fișier jurnal de tranzacții și al doilea fișier jurnal virtuale utilizate în mijlocul fișier jurnal de tranzacții. Pentru a micșora fișier jurnal de tranzacții la numai 2 virtuale log dosar, SQL Server completa partea rămasă din fișierul jurnal al doilea virtuale utilizând jurnalul de manechinului intrări. SQL Server se deplasează la începutul log logice următorul disponibile virtuale fișier jurnal care este specificat de către managerul de jurnal. Managerul de jurnal poate crea un fișier de log virtuale în mijlocul fișier jurnal de tranzacții doar fața de Ultimul activ virtuale fișier jurnal. În acest caz, trebuie să utilizați mai multe operații de backup jurnal și multiple operații de psihiatru pentru a micsora cu succes fișier jurnal de tranzacții să 2 fișierele log virtuale. În cel mai rău caz de acest exemplu, va trebui să utilizați 50 jurnal de operații de backup și 50 psihiatru operațiuni pentru a micsora cu succes fișier jurnal de tranzacții să 2 virtuale fișiere log.

Cu toate acestea, în SQL Server 2005, aveți posibilitatea să efectuați o declarație DBCC SHRINKFILE pentru a micșora fișier jurnal de tranzacții imediat la 2 virtuale fișiere de jurnal. Puteți face acest lucru deoarece managerul de jurnal SQL Server 2005 creează 2 virtuale log dosar de urma ordinea de stocare disc fizic. Ambele fișiere de jurnal virtuale sunt de la începutul de fișier jurnal de tranzacții.

Când încercați să scadă un fișier jurnal de tranzacții care are putin spatiu gratuit în SQL Server 2005, va trebui să efectuați o operație de rezervă suplimentară jurnal. Operațiunea de rezervă suplimentară jurnal trunchiază fișierul jurnal de tranzacții la o dimensiune mai mică. Această operațiune de rezervă jurnal este în plus față de trei pași care efectuați pentru a micsora fișier jurnal de tranzacții în SQL Server 2000. Pentru mai multe informații, consultați articolul din bază de cunoștințe Microsoft care este menționat în secțiunea "Rezumat". Pentru a micsora un fișier jurnal de tranzacții care are putin spatiu gratuit în SQL Server 2005, urmați acești pași:
  1. Spate sus fișier jurnal de tranzacții să facă cele mai multe dintre fișierele jurnal virtuale activ inactiv. Prin urmare, fișierele jurnal inactiv virtuale pot fi eliminate într-o etapă ulterioară. Pentru a face acest lucru, începe SQL Server Management Studio și apoi executați o instrucțiune Transact-SQL care seamănă cu următoarea instrucțiune Transact-SQL.
    BACKUP LOG <DatabaseName> TO DISK = '<BackupFile>'
    Notă În această declarație, <DatabaseName></DatabaseName>este un substituent pentru nume de sign-in de baza acoperire de date care sunt spate sus, și <BackupFile></BackupFile> este un substituent pentru cale completă a fișierului copiere de rezervă.

    De exemplu, executați următoarea instrucțiune Transact-SQL.
    BACKUP LOG TestDB TO DISK='C:\TestDB1.bak'
  2. Micsora fișier jurnal de tranzacții. Pentru aceasta, executați o instrucțiune Transact-SQL care seamănă cu următoarea instrucțiune Transact-SQL.
    DBCC SHRINKFILE (<FileName>, <TargetSize>) WITH NO_INFOMSGS
    Notă În această declarație, <FileName></FileName>este un substituent pentru nume de sign-in de fișier jurnal de tranzacții, și <TargetSize></TargetSize> este un substituent pentru dimensiunea de țintă pe care doriți fișier jurnal de tranzacții să fie. Dimensiunea țintă trebuie să fie rezonabilă. De exemplu, nu se poate micsora fișier jurnal de tranzacții la o dimensiune care este mai mică de 2 virtuale log dosar.
  3. Dacă instrucțiunea DBCC SHRINKFILE nu se micsora fișier jurnal de tranzacții să țintă dimensiune, executați instrucțiunea de jurnal de BACKUP care este menționat în pasul 1 pentru a face mai multe fișierelor jurnal virtuale inactiv.
  4. Executați instrucțiunea DBCC SHRINKFILE, care este menționat în pasul 2. Dupa aceasta operatiune, fișier jurnal de tranzacții ar trebui să fie aproape de dimensiunea de țintă.
În rezumat, managerul de jurnal algoritm pentru obținerea fișierul jurnal virtuale următor s-a schimbat în SQL Server 2005. Prin urmare, în scădere de fișier jurnal de tranzacții în SQL Server 2005 poate diferi de scădere fișier jurnal de tranzacții în SQL Server 2000.
  • Dacă un fișier jurnal are o mulțime de spațiu liber, în scădere de fișier jurnal de tranzacții în SQL Server 2005 este mai rapid decât în scădere fișier jurnal de tranzacții în SQL Server 2000.
  • Dacă un fișier jurnal are nici un spațiu liber, în scădere de fișier jurnal de tranzacții în SQL Server 2005 este același ca în scădere fișier jurnal de tranzacții în serverul SQL 2000.
  • Dacă un fișier jurnal are putin spatiu gratuit, va trebui să efectuați o copie de rezervă suplimentară jurnal operațiune în SQL Server 2005 decât ai avea de a efectua în SQL Server 2000.

Referințe

Pentru mai multe informații despre cum la spre crevet Jurnalul de tranzacții, du-te la Scădere Jurnalul de tranzacții Site-ul webová lokalita Microsoft Developer Network (MSDN).

Pentru mai multe informații despre instrucțiunea DBCC SHRINKFILE, du-te la DBCC SHRINKFILE (Transact-SQL) Site-ul MSDN.

Pentru mai multe informații despre tranzacție jurnal trunchiere, du-te la Tranzacție jurnal trunchiere Site-ul MSDN.

Proprietă?i

ID articol: 907511 - Ultima examinare: 12 iulie 2013 - Revizie: 2.0
Se aplică la:
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Express Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Workgroup Edition
Cuvinte cheie: 
kbsqlsetup kbsql2005engine kbinfo kbmt KB907511 KbMtro
Traducere automată
IMPORTANT: Acest articol este tradus cu ajutorul software-ului Microsoft de traducere automată ?i poate fi corectat prin intermediul tehnologiei Community Translation Framework (CTF). Microsoft oferă articole traduse automat, post-editate de comunitate ?i articole traduse de oameni, pentru a permite accesul la toate articolele din Baza noastră de cuno?tin?e în mai multe limbi. Articolele traduse automat ?i post-editate pot con?ine gre?eli de vocabular, sintaxă ?i/sau gramatică. Microsoft nu este responsabil de inexactită?ile, erorile sau daunele cauzate de traducerea gre?ită a con?inutului sau de utilizarea acestuia de către clien?i. Găsi?i mai multe informa?ii despre traducerea în colaborare la http://support.microsoft.com/gp/machine-translation-corrections/ro.
Face?i clic aici pentru a vizualiza versiunea în limba engleză a acestui articol: 907511

Trimite?i feedback

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com