ITPub博客

首页 > 数据库 > SQL Server > SQLSERVER2008 errorlog 过大导致数据库无法启动

SQLSERVER2008 errorlog 过大导致数据库无法启动

原创 SQL Server 作者:monkeybron 时间:2017-04-20 14:13:07 0 删除 编辑
今天早上应用发现数据库无法连接,
重启了主机之后,发现数据库服务无法启动,启动服务 报 17058 错误
查看权限都正常。

进入:C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Log
发现errorlog 文件达到 37g左右。
数据库在启动时候,errorlog 文件会记录整个开启,运行。终止的过程。
ErrorLog显示包括以下内容:

(1)SQL的版本,以及Windows和Processor基本信息
(2)SQL的启动参数,以及认证模式,内存分配模式
(3)每个数据库是否能够被正常打开。如果不能,原因是什么
(4)数据库损坏相关的错误
(5)数据库备份与恢复动作记录
(6)DBCC CHECKDB记录
(7)内存相关的错误和警告
(8)SQL调度出现异常时的警告。一般SERVER HANG 服务器死机会伴随着有这些警告
(9)SQL I/O操作遇到长时间延迟的警告
(10)SQL在运行过程中遇到的其他级别比较高的错误
(11)SQL内部的访问越界错误(Access Violation)
(12)SQL服务关闭时间

思考,那这个文件过大是否会影响写入呢?根据以前的经验,先重命名备份这个errorlog文件为 errorlog.bak。启动数据库,果然不出所料。数据库正常启动。

接下来看errlog的机制:

SQLSERVER默认会保留7份errorlog文件,按照时间顺序,依次用文件扩名.1,.2,.3,...,.6表示。
每重启一次服务,或者 执行EXEC sp_cycle_errorlog,文件扩展名都会加一,最早的那份自动会被删除。
因此,errorlog文件不会太大,那为什么这次文件达到了30多G? 



来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/30182853/viewspace-2137679/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2015-03-30

  • 博文量
    70
  • 访问量
    94588