Zmenšení databáze tempdb v SQL Server

Překlady článku Překlady článku
ID článku: 307487 - Produkty, které se vztahují k tomuto článku.
Rozbalit všechny záložky | Minimalizovat všechny záložky

Na této stránce

Souhrn

Tento článek popisuje tři metody, které můžete použít ke zmenšení databáze tempdb na velikost, která je menší než poslední nakonfigurovanou velikost. První metoda umožňuje úplnou kontrolu nad velikost databáze tempdb soubory. První metoda však vyžaduje restartování serveru Microsoft SQL Server. Druhá metoda zmenší databáze tempdb a může být nutné restartovat SQL Server. Třetí metoda umožňuje zmenšit velikost jednotlivých souborů v databázitempdb . Poslední dvě metody vyžadují, aby žádná aktivita může dojít v databázi tempdb během operace zmenšení.

Poznámka:Používáte-li SQL Server 2005, můžete také použít tyto metody. K provádění těchto operací by však použít SQL Server Management Studio Enterprise Manager a Query Analyzer. Také si uvědomte, že SQL Server Management Studio v SQL Server 2005 nezobrazuje správnou velikostdatabáze tempdbsoubory po provedení operace zmenšení. Hodnota "Aktuálně přidělená místa" vždy načítána z sys.master_files DMV a tato hodnota není aktualizován po provedení operace zmenšení databázetempdb . Chcete-li najít správnou velikost soubory databáze tempdb po operaci zmenšení, spusťte následující příkaz v SQL Server Management Studio:
use tempdb
select (size*8) as FileSizeKB from sys.database_files

Poznámka:SQL Server 2008 není ovlivněn problém nesprávná velikostdatabáze tempdbsoubory po provedení operace zmenšení.

Informace databáze tempdb

Databáze tempdb je dočasné pracovní prostor. Mezi další použití SQL Server používá databáze tempdb pro následující:
  • Skladování explicitně vytvořené dočasné tabulky
  • Worktables, které obsahují dílčí výsledky vytvořené během dotazu zpracování a třídění
  • Materializované statické kurzory
SQL Server zaznamenává do transakčního protokolu databáze tempdbtransakci vrátit zpět, ale nikoli opakovat transakce během obnovy databáze pouze dostatek informací. Tato funkce zvyšuje výkon příkazy INSERT vdatabáze tempdb. Kromě toho není nutné protokolovat informace znovu všechny transakce, protože databáze tempdb je znovu vytvořen při každém restartování serveru SQL Server. Proto nemá žádné transakce posunout vpřed nebo zpět. Při spuštění serveru SQL databáze tempdb je znovu vytvořena pomocí kopie modelu databáze a databáze tempdb je obnovit poslední nakonfigurovanou velikost.

Ve výchozím nastavení je databáze tempdb nakonfigurován automatické zdvojnásobení velikosti podle potřeby. Proto tato databáze může růst v čase na velikost větší než požadovaná velikost. Jednoduché restartování serveru SQL Server nastaví velikost databáze tempdb poslední nakonfigurovanou velikost. Nakonfigurovaná velikost je poslední explicitní velikost, která byla nastavena pomocí operace například ALTER DATABASE, který využívá možnost upravit soubor nebo příkazu DBCC SHRINKFILE změna velikost souboru.

Následující tři metody můžete zmenšit na velikost, která je menší než je její konfigurovaná velikostdatabáze tempdb.

Metoda 1: Použití Transact-SQL příkazy

Metoda 2: Použití příkazu DBCC ShrinkDatabase

Metoda 3: Použití příkazu DBCC SHRINKFILE

Účinky provádění DBCC SHRINKDATABASE nebo DBCCSHRINKFILE při používání databáze tempdb

Pokud databáze tempdb používá, pokuste zmenšit pomocí DBCC SHRINKDATABASE nebo DBCC SHRINKFILE příkazy, může se zobrazit více konzistence chyby podobné následujícím a může dojít k selhání operace zmenšení:
  • Server: Msg 2501, úroveň 16, stav 1, řádek 1Could nelze najít tabulku s názvem "1525580473". Zkontrolujte sysobjects.
  • Server: Msg 8909, úroveň 16 stav 1, řádek 0Table poškozeno: objekt ID 1, index ID 0, stránka ID % S_PGID. PageId v záhlaví stránky = % S_PGID.
Ačkoli chyba 2501 nemusí znamenat korupce v databázi tempdb, tato chyba způsobí selhání operace zmenšení. Na druhé straně 8909 chyba může znamenat poškození v databázitempdb . Restartujte službu SQL Server znovu vytvořit databáze tempdb a vyčistit chyby konzistence. Upozorňujeme však, že mohou existovat další důvody chyby dat fyzické poškození jako chyba 8909 a ty zahrnují problémy podsystém vstupu a výstupu.

ODKAZY

SQL Server Books Online; témata: "DBCC SHRINKFILE"; "DBCC SHRINKDATABASE"

Vlastnosti

ID článku: 307487 - Poslední aktualizace: 10. října 2013 - Revize: 10.0
Informace v tomto článku jsou určeny pro produkt:
  • 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
Klíčová slova: 
kbsqlsetup kbhowtomaster kbmt KB307487 KbMtcs
Strojově přeložený článek
DŮLEŽITÉ: Tento článek je přeložen pomocí softwaru na strojový překlad Microsoft. Nepřesný či chybný překlad lze opravit prostřednictvím technologie Community Translation Framework (CTF). Microsoft nabízí strojově přeložené, komunitou dodatečně upravované články, a články přeložené lidmi s cílem zajistit přístup ke všem článkům v naší znalostní bázi ve více jazycích. Strojově přeložené a dodatečně upravované články mohou obsahovat chyby ve slovníku, syntaxi a gramatice. Společnost Microsoft není odpovědná za jakékoliv nepřesnosti, chyby nebo škody způsobené nesprávným překladem obsahu nebo jeho použitím našimi zákazníky. Více o CTF naleznete na http://support.microsoft.com/gp/machine-translation-corrections/cs.
Projděte si také anglickou verzi článku: 307487

Dejte nám zpětnou vazbu

 

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