首页 > 技术文章 > SQL2014清除日志文件(DBName_Log过大)

dzw159 2017-07-20 09:00 原文


SQL2005:
Backup Log DBName with no_log  '这里的DBName是你要收缩的数据库名。
GO
dump transaction DBName with no_log  --清空日志
GO
USE DBName
DBCC SHRINKFILE (2)
Go

--SQL2008(SQL2014也可以):
--'在SQL2008中清除日志就必须在简单模式下进行,等清除动作完毕再调回到完全模式。

--调整成简单模式
USE DBName GO ALTER DATABASE DBName SET RECOVERY SIMPLE WITH NO_WAIT GO ALTER DATABASE DBName SET RECOVERY SIMPLE
--简单模式 GO USE DBName GO DBCC SHRINKFILE (N'DBName_log' , 11, TRUNCATEONLY) GO -- '这里的DBName_Log 如果不知道在sys.database_files里是什么名字的话,可以用以下注释的语句进行查询 USE DBName GO SELECT file_id, name FROM sys.database_files; GO
-- 还原为完全模式 USE DBName GO ALTER DATABASE DBName SET RECOVERY FULL WITH NO_WAIT GO ALTER DATABASE DBName SET RECOVERY FULL
--还原为完全模式 GO

参见:http://blog.csdn.net/lbuskeep/article/details/7676327(感谢博主)

 

推荐阅读