Jak zmenšit velikost souboru protokolu transakcí v SQL Server 2005 pomocí příkazu DBCC SHRINKFILE

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

ÚVOD

Microsoft SQL Server 2005 můžete zmenšit soubor protokolu transakcí v databázi a odebrání nepoužívaných stránek. Opakovaně používá databázový stroj místo účinně. Avšak po soubor protokolu transakcí roste neočekávaně, může být Chcete-li zmenšit velikost souboru protokolu transakcí ručně.

Tento článek popisuje, jak použít Příkazu DBCC SHRINKFILE zmenšení ručně v souboru protokolu transakcí model obnovy celé v databázi serveru SQL Server 2005. Na způsob, kterým můžete zmenšit velikost souboru protokolu transakcí v SQL Server 2005 se může lišit od způsob, kterým můžete zmenšit velikost souboru protokolu transakcí na serveru SQL Server 2000. Další informace o tom, jak zmenšit velikost souboru protokolu transakcí v SQL Server 2000 klepněte na následující číslo článku databáze Microsoft Knowledge Base:
272318Zmenšením protokolu transakcí v SQL Server 2000 s DBCC SHRINKFILE

Další informace

SQL Server 2005 pokusí operace zmenšení (DBCC SHRINKFILE) zmenšit velikost souboru protokolu zadanou transakci na požadovanou velikost okamžitě. Chcete-li zmenšit velikost souboru protokolu transakcí za model obnovy celé ručně, nejprve zálohovat soubor protokolu transakcí. Poté použijte Zmenšit velikost souboru protokolu transakcí příkazu DBCC SHRINKFILE.

Obvykle zmenšením v souboru protokolu transakcí SQL Server 2005 je rychlejší než zmenšením souboru protokolu transakcí v SQL Server 2000. Důvodem je, že SQL Správce protokolů Server 2005 vytvoří nebo znovu použije neaktivní virtuální soubory protokolu podle pořadí úložiště fyzického disku. Proto neaktivní část transakce soubor protokolu je obvykle na konci souboru.

Soubor protokolu transakcí může mít například 100 virtuální soubory protokolu, a jsou používány pouze 2 virtuální protokolů. SQL Server 2000 mohou být uloženy první použité virtuální soubor protokolu Spusťte soubor protokolu transakcí a druhý soubor používaný virtuální protokolu ve středu soubor protokolu transakcí. Chcete-li zmenšit soubor protokolu transakcí na pouze 2 virtuální protokolů, SQL Server, vyplní zbývající část druhý virtuální soubor protokolu pomocí protokolu figuríny položky. SQL Server přesune na další dostupné virtuální souboru protokolu, který je určen správce protokolu spuštění logického protokolu. Správce protokolů může vytvořit soubor protokolu virtuální ve středu těsně před ze souboru protokolu transakcí poslední aktivní virtuální souboru protokolu. V takovém případě budete muset použít více protokolů zálohování a Vícenásobné operace zmenšení úspěšně 2 zmenšení souboru protokolu transakcí soubory protokolu virtuální. V nejhorším případě tohoto příkladu budete muset použít 50 protokol zálohování a zmenšit na 50 soubory protokolu operace úspěšně 2 virtuální zmenšení souboru protokolu transakcí.

Však SQL Server 2005, provedením jednoho příkazu DBCC SHRINKFILE zmenšení souboru protokolu transakcí okamžitě 2 soubory protokolu virtuální. Lze provést protože správce protokolů serveru SQL Server 2005 vytvoří pomocí následujících 2 virtuální protokolů pořadí úložiště fyzického disku. Oba tyto soubory protokolu virtuální jsou na začátku protokolu transakcí soubor.

Při pokusu zmenšit velikost souboru protokolu transakcí, který má málo volné místo na serveru SQL Server 2005, bude pravděpodobně nutné provést zálohu dalšího protokolu operace. Další protokol zálohování operace se zkrátí na menší velikost souboru protokolu transakcí. Operace zálohování tohoto protokolu je kromě tři kroky, které provádět transakce zmenšení souboru protokolu SQL Server 2000. Další informace naleznete v článku znalostní báze Microsoft Knowledge Base, který je uveden v části "Úvod". Chcete-li zmenšit velikost souboru protokolu transakcí, který má málo volné místo na serveru SQL Server 2005, postupujte takto:
  1. Zálohovat soubor protokolu transakcí tak, aby většinu soubory protokolů pro aktivní virtuální neaktivní. Proto mohou být odebrány soubory neaktivní virtuální protokolu později. To provedete spuštěním příkazu Transact-SQL, která je podobná následující příkaz Transact-SQL.
    BACKUP LOG <DatabaseName> TO DISK = '<BackupFile>'
    Poznámka: V tomto prohlášení. <databasename></databasename> je zástupný symbol pro název databáze, který zálohujete. V tomto prohlášení. <backupfile></backupfile> představuje úplnou cestu souboru se zálohou.

    Například spusťte následující příkaz Transact-SQL.
    BACKUP LOG TestDB TO DISK='C:\TestDB1.bak'
  2. Zmenšit soubor protokolu transakcí. To provedete spuštěním příkazu Transact-SQL, která je podobná následující příkaz Transact-SQL.
    DBCC SHRINKFILE (<FileName>, <TargetSize>) WITH NO_INFOMSGS
    Poznámka: V tomto prohlášení. <filename></filename> je zástupný symbol pro název souboru protokolu transakcí. V tomto prohlášení. <targetsize></targetsize> je zástupný symbol pro velikost cíle, který má být soubor protokolu transakcí. Velikost cíle musí být přiměřené. Například nebude možné zmenšit velikost, která je menší než 2 souborů protokolu pro virtuální soubor protokolu transakcí.
  3. Pokud nezmenší příkazu DBCC SHRINKFILE soubor protokolu transakcí cílové velikosti, spusťte příkaz protokolu zálohy uvedené v kroku 1 tak, aby další soubory protokolu virtuální neaktivní.
  4. Spuštění příkazu DBCC SHRINKFILE uvedenou v kroku 2. Po provedení této operace musí být soubor protokolu transakcí Podobně jako cílová velikost.
V souhrnu algoritmus Správce protokolů pro vyzvednutí další virtuální soubor protokolu změněn v serveru SQL Server 2005. Proto zmenšením souboru protokolu transakcí v SQL Server 2005 mohou lišit od zmenšení souboru protokolu transakcí v SQL Server 2000:
  • Pokud soubor protokolu obsahuje velké množství volného místa, zmenšení souboru protokolu transakcí v SQL Server 2005 je rychlejší než zmenšením souboru protokolu transakcí SQL Server 2000.
  • Pokud soubor protokolu nemá žádné volné místo, zmenšení souboru protokolu transakcí v SQL Server 2005 je stejný jako zmenšením souboru protokolu transakcí na serveru SQL Server 2000.
  • Pokud soubor protokolu má málo volného místa, bude pravděpodobně třeba provést zálohu dalšího protokolu operace na serveru SQL Server 2005, než je třeba provést v serveru SQL Server 2000.

Odkazy

Další informace naleznete v následujících tématech SQL Server 2005 Books Online:
  • Zmenšením protokolu transakcí
  • DBCC SHRINKFILE (Transact-SQL)
  • Zkracování protokolů transakcí

Vlastnosti

ID článku: 907511 - Poslední aktualizace: 22. května 2011 - Revize: 3.0
Informace v tomto článku jsou určeny pro produkt:
  • 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
Klíčová slova: 
kbsqlsetup kbsql2005engine kbinfo kbmt KB907511 KbMtcs
Strojově přeložený článek
Důležité: Tento článek byl přeložen pomocí software společnosti Microsoft na strojový překlad, ne profesionálním překladatelem. Společnost Microsoft nabízí jak články přeložené překladatelem, tak články přeložené pomocí software na strojový překlad, takže všechny články ve Znalostní databázi (Knowledge Base) jsou dostupné v češtině. Překlad pomocí software na strojový překlad ale není bohužel vždy dokonalý. Obsahuje chyby ve skloňování slov, skladbě vět, nebo gramatice, podobně jako když cizinci dělají chyby při mluvení v češtině. Společnost Microsoft není právně zodpovědná za nepřesnosti, chyby nebo škody vzniklé chybami v překladu, nebo při použití nepřesně přeložených instrukcí v článku zákazníkem. Společnost Microsoft aktualizuje software na strojový překlad, aby byl počet chyb omezen na minimum.
Projděte si také anglickou verzi článku:907511

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