由于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 为要收缩的数据库的名字