由于SQL2008对文件和日志管理进行了优化,所以以下语句在SQL2005中可以运行但在SQL2008中已经被取消:
(SQL2005)
1 Backup Log DataBaseName with no_log 2 go 3 4 dump transaction DataBaseName with no_log 5 go 6 7 USE DataBaseName 8 DBCC SHRINKFILE ( 2 ) 9 Go
(SQL2008):
在SQL2008中清除日志就必须在简单模式下进行,等清除动作完毕再调回到完全模式。
1 USE [ master ] 2 GO 3 ALTER DATABASE DataBaseName SET RECOVERY SIMPLE WITH NO_WAIT 4 GO 5 ALTER DATABASE DataBaseName SET RECOVERY SIMPLE -- 简单模式 6 GO 7 8 USE DataBaseName 9 GO 10 DBCC SHRINKFILE (N ' DataBaseName_Log ' , 11 , TRUNCATEONLY) 11 GO 12 13 USE [ master ] 14 GO 15 ALTER DATABASE DataBaseName SET RECOVERY FULL WITH NO_WAIT 16 GO 17 ALTER DATABASE DataBaseName SET RECOVERY FULL -- 还原为完全模式 18 GO 19 -- 将DataBaseName 为要收缩的数据库的名字