Jak zmenšit soubor protokolu transakcí v SQL Server 2005

Souhrn

V Microsoft SQL Server 2005 můžete zmenšit soubor protokolu transakcí v databázi chcete-li odebrat nepoužívané stránky. Databázový stroj použije znovu prostor efektivně. Nicméně pokud soubor protokolu transakcí neočekávaně roste, bude pravděpodobně nutné ručně zmenšit soubor protokolu transakcí.

Tento článek popisuje, jak pomocí příkazu DBCC SHRINKFILE zmenšit soubor protokolu transakcí ručně podle modelu úplné obnovení databáze serveru SQL Server 2005. Metody, které umožňují zmenšit soubor protokolu transakcí v SQL Server 2005 může lišit od metody, které umožňují zmenšit soubor protokolu transakcí v SQL Server 2000. Další informace o tom, jak zmenšit soubor protokolu transakcí v SQL Server 2000 získáte v následujícím článku znalostní báze Microsoft Knowledge Base:

272318 zmenšením protokolu transakcí v SQL Server 2000 DBCC SHRINKFILE

Další informace

V SQL Server 2005 operace zmenšení (DBCC SHRINKFILE) pokusí zmenšit soubor protokolu transakcí určený ihned na požadovanou velikost. Chcete-li zmenšit soubor protokolu transakcí ručně v části model obnovy celé, nejprve zálohovat soubor protokolu transakcí. Potom pomocí příkazu DBCC SHRINKFILE zmenšit soubor protokolu transakcí.

Zmenšení souboru protokolu transakcí v SQL Server 2005 je obvykle rychlejší než zmenšit soubor protokolu transakcí v SQL Server 2000. Důvodem je, že správce protokolů serveru SQL Server 2005 vytvoří nebo znovu v pořadí fyzické diskové úložiště používá soubory protokolu neaktivní virtuální. Neaktivní část souboru protokolu transakcí tedy obvykle na konec souboru.

Například soubor protokolu transakcí může být 100 virtuální souborů protokolu a jsou použity pouze 2 soubory protokolu virtuální. SQL Server 2000 mohou obsahovat první použité virtuální soubor protokolu při spuštění souboru protokolu transakcí a druhý používá virtuální soubor protokolu uprostřed soubor protokolu transakcí. Chcete-li zmenšit soubor protokolu transakcí pouze 2 soubory protokolu virtuální, SQL Server vyplní zbývající část druhá virtuální soubor protokolu pomocí položky protokolu figuríny. SQL Server spuštění logického protokolu přesune do další k dispozici virtuální soubor protokolu určený správce protokolů. Správce protokolů může vytvořit soubor protokolu pro virtuální uprostřed těsně před poslední aktivní virtuální soubor protokolu souboru protokolu transakcí. V takovém případě je nutné použít více operací zálohování protokolu a více operací zmenšení úspěšně zmenšení souboru protokolu transakcí na 2 soubory protokolu virtuální. V nejhorším případě tohoto příkladu je třeba použít 50 operací zálohování protokolu a 50 zmenšit operace úspěšně zmenšit soubor protokolu transakcí do 2 virtuální souborů protokolu.

Však SQL Server 2005, můžete provést jeden příkaz DBCC SHRINKFILE zmenšit soubor protokolu transakcí ihned 2 virtuální souborů protokolu. Lze provést, protože správce protokolů serveru SQL Server 2005 vytvoří 2 virtuální souborů protokolu v pořadí skladování fyzického disku. Oba soubory virtuální protokolu jsou na začátku souboru protokolu transakcí.

Při pokusu zmenšit soubor protokolu transakcí, které má málo místa v SQL Server 2005, bude pravděpodobně nutné provést další protokolu zálohování. Další protokolu zálohování zkrátí na menší velikost souboru protokolu transakcí. Tato operace zálohování protokolu bude přidána tři kroky, které provádíte, chcete-li zmenšit soubor protokolu transakcí v SQL Server 2000. Další informace naleznete v článku znalostní báze Microsoft Knowledge Base, který je uveden v části "Souhrn". Chcete-li zmenšit soubor protokolu transakcí, které má málo místa v SQL Server 2005, postupujte takto:
  1. Zálohujte soubor protokolu transakcí tak, aby většinu aktivní virtuální souborů protokolu neaktivní. Proto lze později odebrat soubory protokolu neaktivní virtuální. Chcete-li to provést, spustit SQL Server Management Studio a spusťte příkaz Transact-SQL, která se podobá následující příkaz Transact-SQL.
    BACKUP LOG <DatabaseName> TO DISK = '<BackupFile>'
    Poznámka: V tomto výrazu < Název_databáze > je zástupný symbol pro název databáze, který zálohujete a < BackupFile > je zástupný symbol pro ú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šete soubor protokolu transakcí. Chcete-li to provést, spusťte příkaz Transact-SQL, která se podobá následující příkaz Transact-SQL.
    DBCC SHRINKFILE (<FileName>, <TargetSize>) WITH NO_INFOMSGS
    Poznámka: V tomto výrazu < název souboru > je zástupný symbol pro název souboru protokolu transakcí a < TargetSize > je zástupný symbol pro Cílová velikost, která má být soubor protokolu transakcí. Cílová velikost musí být přiměřené. Například nelze zmenšit soubor protokolu transakcí na velikost, která je menší než 2 soubory protokolu virtuální.
  3. Pokud příkazu DBCC SHRINKFILE nezmenší velikost cílového souboru protokolu transakcí, spusťte příkaz protokolu zálohy uvedené v kroku 1, kterým se více souborů protokolu virtuálních deaktivovat.
  4. Spusťte příkaz DBCC SHRINKFILE, který je uveden v kroku 2. Po provedení této operace musí být soubor protokolu transakcí téměř Cílová velikost.
V souhrnu změnit správce protokolů algoritmus pro získání další soubor virtuální protokolu v SQL Server 2005. Tedy zmenšit soubor protokolu transakcí v SQL Server 2005 může lišit od zmenšit soubor protokolu transakcí v SQL Server 2000.
  • Pokud soubor protokolu obsahuje velké množství volného místa, zmenšit soubor protokolu transakcí v SQL Server 2005 je rychlejší než zmenšit soubor protokolu transakcí v SQL Server 2000.
  • Pokud má soubor protokolu není volné místo, zmenšit soubor protokolu transakcí v SQL Server 2005 je stejný jako zmenšit soubor protokolu transakcí v SQL Server 2000.
  • Pokud soubor protokolu má málo volného místa, bude pravděpodobně nutné provést další protokolu zálohování SQL Server 2005, než je třeba provést v serveru SQL Server 2000.

Odkazy

Další informace o tom, jak zmenšit velikost souboru protokolu transakce přejděte zmenšením transakční protokol na webu Microsoft Developer Network (MSDN).


Další informace o příkazu DBCC SHRINKFILE naleznete SHRINKFILE DBCC (Transact-SQL) na webu MSDN.


Další informace o zkrácení protokolu transakce přejděte na web MSDN Zkrácení protokolu transakcí .
Vlastnosti

ID článku: 907511 - Poslední kontrola: 16. 1. 2017 - Revize: 1

Váš názor