SQL Server 2008 清除日志
在windows中运行sql server命令需使用sqlcmd命令,这个在安装sql server时会一并安装。
使用sqlcmd进入交互模式下:
之前使用的命令为:
DUMP TRANSACTION databasename WITH NO_LOG --清空日志 BACKUP LOG databasename WITH NO_LOG --截断事务日志 DBCC SHRINKDATABASE(databasename) --收缩数据库
上述命令需要按照顺序执行, 通常比直接使用右键菜单中的“收缩”命令要快很多。
但是,这个命令在2008的版本下并不能运行,限于SQL2005~
SQL2008对文件和日志管理进行了优化,使用如下命令:先在简单模式下清除日志,等清除动作完毕再调回到完全模式
ALTER DATABASE databasename SET RECOVERY SIMPLE WITH NO_WAIT GO ALTER DATABASE databasename SET RECOVERY SIMPLE --简单模式 GO USE databasename GO DBCC SHRINKFILE (N'databasename_log' , 11, TRUNCATEONLY) GO
还原为完全模式
ALTER DATABASE databasename SET RECOVERY FULL WITH NO_WAIT GO ALTER DATABASE databasename SET RECOVERY FULL --还原为完全模式 GO