sql2008r 收缩数据库日志log文件;删除errorlog文件的方法

1.清空log文件,以减少数据库文件log所占的空间

USE dbname1 ;
GO
ALTER DATABASE dbname1
SET RECOVERY SIMPLE;--设置简单恢复模式
GO
DBCC SHRINKFILE (dbname1_log, 1);
GO
ALTER DATABASE dbname1
SET RECOVERY FULL;--恢复为原模式
GO

2.删除error咯个文件【Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Log目录下面】

由于默认情况下,SQL Server 保存 7 个 ErrorLog 文件,名为:

  • ErrorLog
  • ErrorLog.1
  • ErrorLog.2
  • ErrorLog.3
  • ErrorLog.4
  • ErrorLog.5
  • ErrorLog.6

--清除 SQL Server 错误日志文件 存档

  EXEC sp_cycle_errorlog
    GO

执行一次EXEC sp_cycle_errorlog就会产生一个新的errorlog,然后把errorlog.6给删掉。就是先进先出(队列类似的情况)这样循环6次就可以把errorlog都刷新一遍。

当查询窗口中,出现以下错误信息时:

消息 17049,级别 16,状态 1,过程 sp_cycle_errorlog,第 9 行
   由于出现操作系统错误 '5(拒绝访问。)',无法将错误日志文件从 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Log\ERRORLOG.5' 循环到 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Log\ERRORLOG.6'。SQL Server 外部的进程可能会阻止 SQL Server 读取这些文件。因此,错误日志条目可能已丢失,并且或许不可能查看某些 SQL Server 错误日志。请确保任何其他进程都未将该文件锁定为只写访问。"
DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。

手工删除那个90G的错误日志文件即可。

上一篇:Spring 代理对象,cglib,jdk的问题思考,AOP 配置注解拦截 的一些问题.为什么不要注解在接口,以及抽象方法.


下一篇:【故障公告】再次遭遇SQL语句执行超时引发网站首页访问故障