Kaip susitraukia tempdb duomen? baz?s ? SQL serverio

Straipsni? vertimai Straipsni? vertimai
Straipsnio ID: 307487 - Per?i?r?ti ?iame straipsnyje minimus produktus.
I?pl?sti visus | Sutraukti visus

?iame puslapyje

Santrauka

?iame straipsnyje aptariami trys b?dai, kuriuos galite naudoti trauktis tempdb duomen? baz?s dyd?iu, yra ma?esnis u? savo paskutin? sukonfig?ruotas dyd?. Pirmasis metodas leid?ia jums visi?kai kontroliuoti, tempdb fail? dyd?. Ta?iau Pirmasis metodas reikia paleisti i? naujo Microsoft SQL Server. Antrasis metodas suma?ina tempdb duomen? baz?je, ir jums gali tekti i? naujo paleisti SQL serverio. Tre?ias b?das leid?ia sutraukti atskirus failustempdb duomen? baz?je. Paskutiniai du metodai reikalauja, kad jokia veikla gali pasitaikyti tempdb duomen? baz?s sutraukimo operacija.

Pastaba.Jei naudojate SQL Server 2005, taip pat taikomi ?ie metodai. Ta?iau, tur?tum?te naudoti SQL Server Management Studio vietoj Enterprise Manager ir Query Analyzer atlikti ?ias operacijas. Taip pat ?inokite, kad SQL Server Management Studio ir SQL Server 2005 nerodo reikiamo dyd?iotempdbfail? po sutraukimo operacija. "?iuo metu paskirtas vietos" vert? visada yra paimta i? sys.master_files DMV, ir ?i vert? n?ra atnaujinama po sutraukimo operacijatempdb duomen? baz?s. Ie?kodama reikiamo dyd?io tempdb fail? po sutraukimo operacija, SQL Server Management Studio vykdyti tok? parei?kim?:
use tempdb
select (size*8) as FileSizeKB from sys.database_files

Pastaba.SQL Server 2008 yra ne susiduria su problema, kad neteisingastempdbfail? dyd? rodoma po sutraukimo operacija.

Tempdb informacija

Tempdb yra laikin? darbo srit?. Tarp kit? reikm?ms, SQL serveris naudoja tempdb u? ?iuos veiksmus:
  • Saugojimo ai?kiai sukurt? laikin? lenteli?
  • Darbo stalai, kad surengti tarpiniai rezultatai sukurta per u?klausos apdorojimas ir r??iavimas
  • ?vykio statinis teksto ?ymekliai
SQL serverio ?ra?o tik pakankamai informacijos ? tempdboperacij? ?urnal? at?aukti operacij?, o ne perdaryti operacijos metu duomen? baz?s panaudojimo. ?i priemon? didina ?ra?yti atskaitomyb?je,tempdbatlikti. Be to, j?s neturite prisijungti informacij? pakartoti kiekvien? sandor?, nes tempdb v?l sukuriama kiekvien? kart? paleidus SQL serverio. Tod?l ji neturi jokios operacijos ried?ti ? priek? arba sueities. Paleidus SQL Server, tempdb i? naujo sukurtas naudojant modelio duomen? baz?s kopij?, ir tempdb bus atkurti jo paskutinis sukonfig?ruotas dyd?.

Pagal numatytuosius nustatymus, tempdb duomen? baz?s yra sukonfig?ruotas i?augti kiek reikia. Tod?l ?ios duomen? baz?s gali augti laiku dyd?io didesnis u? norimo dyd?io. Paprastas i? naujo paleisti SQL serverio pakei?ia dyd?, tempdb iki paskutinio sukonfig?ruotas dyd?io. Sukonfig?ruotas dydis pastaruosius ai?kiai dydis, kur? buvo nustatytas naudojant failo dyd?io keitimas naudojant pvz. keisti duomen? baz?, kuri naudoja parinkt? Keisti failo arba DBCC SHRINKFILE u?ra?as.

Galite naudoti ?i? trij? metod? trauktistempdbdyd?iu, yra ma?esnis u? jos sukonfig?ruotas dyd?.

1 Metodas: Naudoti Transact-SQL komandas

2 Metodas: Naudokite DBCC SHRINKDATABASE komand?

3 Metodas: Naudokite komand? DBCC SHRINKFILE

Poveikio vykdymas DBCC SHRINKDATABASE ar DBCCSHRINKFILE o tempdb yra naudojamas

Jei tempdb yra naudojama, ir bandote sutraukti naudojant DBCC SHRINKDATABASE arba DBCC SHRINKFILE komandas, galite gauti daug konsistencijos klaid?, pana??s ? ?iuos, ir sutraukimo operacija gali nepavykti:
  • Serveris: Msg 2501, Level 16, 1 valstyb?s, linijos 1Could rasti stalo pavadino "1525580473". Patikrinti sysobjects.
  • Serveris: Msg 8909, dydis 16, 1 valstyb?s, linijos 0Table sugadinta: objekto ID 1, indekso ID yra 0, puslapio ID % S_PGID. ? puslapio antra?t? PageId = % S_PGID.
Nors klaidos 2501 nebþtinai bet kokia korupcija tempdb, ?i klaida sukelia sutraukimo operacija nepavyks. Kita vertus, klaida 8909 gali reik?ti korupcijostempdb duomen? baz?je. I? naujo paleisti SQL serveris i? naujo sukurti tempdb ir i?valyti nuoseklumo klaidomis. Ta?iau Tur?kite omenyje, kad gali b?ti kit? prie?as?i? fizini? duomen? korupcija klaidos, kaip klaidos 8909, ir tie ?traukti ?vesties/i?vesties posistemio problem?.

NUORODOS

SQL serverio knygos internete; temos: "DBCC SHRINKFILE"; "DBCC SHRINKDATABASE"

Savyb?s

Straipsnio ID: 307487 - Paskutin? per?i?ra: 2013 m. spalio 10 d. - Per?i?ra: 2.0
Taikoma:
  • 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 2005 Server Enterprise
  • Microsoft SQL 2005 Server Workgroup
Rakta?od?iai: 
kbsqlsetup kbhowtomaster kbmt KB307487 KbMtlt
Atliktas automatinis vertimas
SVARBU: ?is straipsnis i?verstas naudojant ?Microsoft? ma?ininio vertimo programin? ?rang? ir gali b?ti pataisytas naudojant ?Community Translation Framework? (CTF) technologij?. ?Microsoft? si?lo ma?inos i?verstus ir po to bendruomen?s suredaguotus straipsnius, taip pat ?mogaus i?verstus straipsnius siekdama suteikti prieig? prie vis? savo ?ini? baz?s straipsni? daugeliu kalb?. Ma?inos i?verstuose ir v?liau paredaguotuose straipsniuose gali b?ti ?odyno, sintaks?s ir / arba gramatikos klaid?. ?Microsoft? neatsako u? jokius netikslumus, klaidas arba ?al?, patirt? d?l neteisingo turinio vertimo arba m?s? klient? naudojimosi juo. Daugiau apie CTF ?r. http://support.microsoft.com/gp/machine-translation-corrections.
Spustel?kite ?ia, nor?dami pamatyti ?io straipsnio versij? angl? kalba: 307487

Pateikti atsiliepim?

 

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