二、SQL2008 的收縮日志 由于SQL2008對文件和日志管理進行了優(yōu)化,所以以下語句在SQL2005中可以運行但在SQL2008中已經被取消: (SQL2005) Backup Log DNName with no_log go dump transaction DNName with no_log go USE DNName DBCC SHRINKFILE (2) Go -------------------------------------------------------------- (SQL200: 在SQL2008中清除日志就必須在簡單模式下進行,等清除動作完畢再調回到完全模式。 USE [master] GO ALTER DATABASE DNName SET RECOVERY SIMPLE WITH NO_WAIT GO ALTER DATABASE DNName SET RECOVERY SIMPLE --簡單模式 GO USE DNName GO DBCC SHRINKFILE (N'DNName_Log' , 11, TRUNCATEONLY) GO USE [master] GO ALTER DATABASE DNName SET RECOVERY FULL WITH NO_WAIT GO ALTER DATABASE DNName SET RECOVERY FULL --還原為完全模式 GO 優(yōu)點:此清除日志所運行消耗的時間短,90GB的日志在分鐘左右即可清除完畢,做完之后做個完全備份在分鐘內即可完成。缺點: 不過此動作最好不要經常使用,因為它的運行會帶來系統(tǒng)碎片。普通狀態(tài)下LOG和DIFF的備份即可截斷日志。此語句使用的恰當環(huán)境:當系統(tǒng)的日志文件異常增大或者備份LOG時間太長可能影響生產的情況下使用。
2005方法1:
第一步:
backup log database_name with no_log 或者 backup log database_name with truncate_only --no_log和truncate_only是在這里是同義的,隨便執(zhí)行哪一句都可以