首页 > 代码库 > SQL Server 2008 清除日志

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

  

 

SQL Server 2008 清除日志