Cum la spre crevet baza acoperire de date tempdb în SQL Server

Traduceri articole Traduceri articole
ID articol: 307487 - View products that this article applies to.
Înștiințare
Dacă sunteți un client de afaceri mici, puteți găsi suplimentare de depanare și de învățare a resurselor la Suport pentru Small Businesssite-ul.
Măriți totul | Reduceți totul

În această pagină

Rezumat

Acest articol tratează trei metode care le puteți utiliza pentru a micsora baza acoperire de date tempdb la o dimensiune este mai mică decât dimensiunea configurat ultima. Prima metodă vă oferă controlul complet dimensiunea fișierele tempdb . Cu toate acestea, prima metodă necesită repornirea Microsoft SQL Server. A doua metodă se micșorează baza acoperire de date tempdb , și va trebui să reporniți SQL Server. Treia metoda permite crevet fișiere individuale în baza acoperire de date tempdb . Ultimele două metode necesită că nici o activitate poate apărea în baza acoperire de date tempdb în timpul operațiunii crevet.

Notă Dacă utilizați SQL Server 2005, se aplică de asemenea acestor metode. Cu toate acestea, ar trebui să utilizați SQL Server Management Studio în loc de Enterprise Manager și Query Analyzer pentru a efectua aceste operațiuni. De asemenea, să fie conștienți că SQL Server Management Studio în SQL Server 2005 nu afișează dimensiunea corectă a fișierele tempdb după o opera?iune de crevet. Valoarea "Spațiu alocat în prezent" întotdeauna este tras din sys.master_files DMV, iar această valoare nu este actualizat după o opera?iune de crevet se produce pentru baza acoperire de date tempdb . Pentru a găsi fișierele tempdb dimensiunea corectă după o opera?iune de crevet, executa următoarea instrucțiune SQL Server Management Studio:
use tempdb
select (size*8) as FileSizeKB from sys.database_files

Notă SQL Server 2008 nu este afectată de problema că fișierele tempdb incorect dimensiunea este afișat după o opera?iune de crevet.

Informații tempdb

Tempdb este un spațiu de lucru temporare. Printre alte utilizări, SQL Server utilizează tempdb pentru următoarele:
  • Stocare de tabele temporare create în mod explicit
  • Worktables care dețin rezultatele intermediare creat în timpul interogării de prelucrare și sortare
  • Materializate cursoare statice
SQL Server înregistrează numai suficiente informații în Jurnalul de tranzacții tempdb să se rostogolească înapoi o tranzacție, dar nu să refaceți tranzacții în timpul de recuperare acoperire de date. Această caracteristică crește performanța de declarații INSERT în tempdb. În plus, nu aveți să jurnalizeze informa?ii pentru refacere orice tranzacții pentru că tempdb este recreat de fiecare dată că când reporniți SQL Server. Prin urmare, ea are nici tranzacții să se rostogolească înainte sau să se rostogolească înapoi. Când pornește SQL Server, tempdb este recreat utilizând o copie a bazei acoperire de date modelul și tempdb este resetat la dimensiunea sa ultima configurat.

implicit, baza acoperire de date tempdb este configurat să autogrow după cum este necesar. Prin urmare, această bază acoperire de date poate crește în marcă de timp la o dimensiune mai mare decât dimensiunea dorită. O repornire simplu de SQL Server Resetează mărimea tempdb la dimensiunea sa ultima configurat. Dimensiunea configurat este dimensiunea explicită ultima care a fost creat utilizând un fișier de dimensiuni schimbarea opera?iunea cum ar fi ALTER DATABASE care utilizează opțiunea modifica fișierul sau instrucțiunea DBCC SHRINKFILE.

Puteți utiliza următoarele metode trei la spre crevet tempdb la o dimensiune este mai mică decât dimensiunea configurat.

Metoda 1: Utilizarea Transact-SQL comenzi

Metoda 2: Utilizați comanda DBCC SHRINKDATABASE

Metoda 3: Utilizați comanda DBCC SHRINKFILE

Efectele de executare a DBCC SHRINKDATABASE sau DBCCSHRINKFILE în marcă de timp ce tempdb este în uz

Dacă tempdb este utilizat, încercați să crevet-l utilizând DBCC SHRINKDATABASE sau DBCC SHRINKFILE comenzi, este posibil să primiți erori multiple de coerență care seamănă cu următorul și funcționarea psihiatru poate să nu reușească:
  • Servi: Msg 2501, nivel 16, statul 1, linia Către 1 Nu a putut găsi tabel denumit '1525580473'. Verificați sysobjects.
  • Servi: Msg 8909, nivel 16, statul 1, linia Către 0 Tabelul corupt: ID obiect 1, indexul ID 0, pagină ID % S_PGID. PageId în antetul paginii = % S_PGID.
Deși eroare 2501 nu trebuie să indice orice corupției în tempdb, această eroare cauzează opera?iunea crevet să nu reușească. Pe de altă parte, eroare 8909 ar putea indica corupției în baza acoperire de date tempdb . Reporniți SQL Server pentru a re-crea tempdb și curăța erorile de consecvență. Cu toate acestea, să fie conștienți de faptul că este posibil să existe alte motive pentru erori de corupție a datelor fizice ca eroare 8909, precum și cele includ probleme subsistemului de intrare/ieșire.

REFERINȚE

SQL Server Books on-line; subiecte: "DBCC SHRINKFILE"; "DBCC SHRINKDATABASE"

Proprietă?i

ID articol: 307487 - Ultima examinare: 20 iulie 2012 - Revizie: 2.0
Se aplică la:
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 7.0 Standard Edition
  • Microsoft SQL Server 2000 64-bit Edition
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Workgroup Edition
Cuvinte cheie: 
kbsqlsetup kbhowtomaster kbmt KB307487 KbMtro
Traducere automată
IMPORTANT: Acest articol a fost tradus de software-ul de traducere automată Microsoft, si nu de un traducător. Microsoft vă oferă atât articole traduse de persoane, cât și articole traduse automat, astfel incat aveti access la toate articolele din Baza noastră de informatii în limba dvs. materna. Totuși, un articol tradus automat nu este întotdeauna perfect. Acesta poate conține greșeli de vocabular, sintaxă sau gramatică, la fel cum un vorbitor străin poate face greșeli vorbind limba dvs. materna. Compania Microsoft nu este responsabilă pentru nici o inexactitate, eroare sau daună cauzată de traducerea necorespunzătoare a conținutului sau de utilizarea traducerii necorespunzătoare de către clienții nostri. De asemenea, Microsoft actualizează frecvent software-ul de traducere automată.
Face?i clic aici pentru a vizualiza versiunea în limba engleză a acestui articol: 307487

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