Microsoft SQL Server: Zmenšení souboru transakčního logu (LDF) (ProTIP)
Dnes jsem řešil problém jak vyprázdnit transakční log který je v databázovém serveru Microsoft SQL Server zastoupen souborem LDF. Můj soubor měl velikost 25GB což není moc dobrá situace. Jak tedy tento soubor vyprázdnit?
Jak vyprázdnit (zmenšit) transakční log (soubor LDF) v Microsoft SQL
Server 2005 Enterprise?
Pro pohodlnější lidi pracující v GUI tu mám návod jak pracovat v SQL Server Enterprise Manager.
- Proveďte plnou zálohu databáze (volba Backup – Database – complete)
- Proveďte plnou zálohu transakčního logu (volba Backup – Transaction log)
- Proveďte vyprázdnění transakčního logu (volba Shrink database – Files – Truncate free space from the end of file)
Možné problémy
Můžete se setkat s tím, že SQL Server Enterprise Manager vám oznámí úspěšné dokončení vyprázdnění transakčního logu ale ve skutečnosti se nic nestane. S tímto problémem jsem se setkal. Když jsem už chtěl provést odpojení databáze (na diskuzních fórech se někomu stávalo to samé – udělali shrink transakčního logu ale bez výsledku) tak mi SQL
server oznámil že databáze je právě použita. Je proto vhodné podívat se zda není konkrétně tato DB používána. Bohužel ani po čase se při již ověřeném nevyužívání transakční log nezmenšil (protože se mezitím obsah databáze změnil). Po zopakování záloh samotné databáze a transakčního logu (pokud proces opakujete tak je dobré že opakovaný proces již netrvá tak dlouho – hlavně záloha transakčního logu již probíhá výrazně kratší dobu) a novém pokusu o zmenšení transakčního logu se však již operace úspěšně dokončila a transakční log se zmenšil.
Jak vyprázdnit (zmenšit) transakční log (soubor LDF) v Microsoft SQL
Server 2005 Enterprise přes příkazovou řádku?
V případě, že dáváte přednost příkazové řádce najdete příslušné příkazy v odkaze na MS KB níže.
Odkazy
- How to use the DBCC SHRINKFILE statement to shrink the transaction log file in SQL Server 2005
skvelá stránka, vyriešilo mi to problém so serverom, ktorý mi nevyriešil pacient, ktorý sa mi za peniaze „vraj“ staral o server… Už som ho poslal do „teplých“ krajín.
rád jsem pomohl 🙂