您的位置:首页 > 数据库

SQL SERVER 2012清除trancation log 文件

2015-07-17 10:26 405 查看
环境:SQL SERVER 2012

问题所在:每次重启数据库服务器,都是显示数据库正在恢复,通过查看日志提示发现说明日志文件太大,日志内容:Database datacenter has more than 1000 virtual log files which is excessive.

Too many virtual log files can cause long startup and backup times. Consider shrinking the log and

using a different growth increment to reduce the number of virtual log files.

查看数据库日志文件大小有90G左右,估计频繁的delete大表等操作生成日志文件过大。

解决办法:

先将数据库改成简单模式
USE [DNName ]
GO
ALTER DATABASE DNName SET RECOVERY
SIMPLE WITH NO_WAIT
GO
ALTER DATABASE DNName SET RECOVERY
SIMPLE
GO
USE DNName
GO
DBCC SHRINKFILE (N'DNName_Log' , 11,
TRUNCATEONLY) 

GO

 '这里的DNName_Log 如果不知道在sys.database_files里是什么名字的话,可以用以下注释的语句进行查询

'USE DNName

'GO

'SELECT file_id, nameFROM sys.database_files;

'GO
USE [DNName ]
GO
ALTER DATABASE DNName SET RECOVERY FULL WITH NO_WAIT
GO
ALTER DATABASE DNName SET RECOVERY FULL --还原为完全模式
GO

解决办法转载连接为:http://blog.csdn.net/lbuskeep/article/details/7676327
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息