SQL Server 收缩事务日志的方法

由于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 为要收缩的数据库的名字
原文地址:https://www.cnblogs.com/lollipop/p/3283113.html