SQL Server ERRORLOG过大处理办法
本期概述
●本文档适用于 K/3 所有版本
●本文档针对数据库运行性能进行讲解,通过本文档的学习可以了解当数据库SQL
Server 出现错误日志ERRORLOG文件过大时的处理方法
版本信息
●2013年02月27日    V1.0  编写人:卢锦煌
●2013年02月28日    V2.0  审核人:崔志佳
版权信息
●本文件使用须知
著作权人保留本文件的内容的解释权,并且仅将本文件内容提供给阁下个人使用。对于内容中所含的版
权和其他所有权声明,您应予以尊重并在其副本中予以保留。您不得以任何方式修改、复制、公开展示、公布或分发这些内容或者以其他方式把它们用于任何公开或商业目的。任何未经授权的使用都可能构成对版权、商标和其他法律权利的侵犯。如果您不接受或违反上述约定,您使用本文件的授权将自动终止,同时您应立即销毁任何已下载或打印好的本文件内容。
著作权人对本文件内容可用性不附加任何形式的保证,也不保证本文件内容的绝对准确性和绝对完整性。本文件中介绍的产品、技术、方案和配置等仅供您参考,且它们可能会随时变更,恕不另行通知。本文件中的内容也可能已经过期,著作权人不承诺更新它们。如需得到最新的技术信息和服务,您可向当地的金蝶业务联系人和合作伙伴进行咨询。
著作权声明著作权所有 20xx金蝶软件(中国)有限公司。
所有权利均予保留。
目录
1.  应用场景分析 (3)
2.  解决方案 (5)
2.1 手动执行存储过程清除 (6)
2.2 定期执行存储过程清除 (7)
1.  应用场景分析
客户通常会将SQL Server数据库软件安装在系统盘目录中,然而当系统运行一段时间以后,可能会出现系统盘空间资源被耗尽的情况,此时检查发现SQL Server安装目录LOG 文件夹下的ERRORLOG文件已经达到几十个GB的大小,占去了系统盘的大部分空间,影响系统的正常运行。
ERRORLOG文件记录了数据库的错误日志信息,例如自动备份不成功或者数据库登录失败产生的信息等。SQL Server 2000数据库ERRORLOG文件默认保存在C:\Program Files\Microsoft SQL Server\MSSQL\LOG文件夹中,SQL Server 2005数据库ERRORLOG文件默认保存在C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\LOG文件夹中,SQL Server 2008数据库ERRORLOG文件默认保存在C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Log文件夹中。本文档以SQL Server 2005数据库为例进行详解。
默认情况下,SQL Server保存7个ERRORLOG文件,文件名称分别为:ERRORLOG、ERRORLOG.1、ERRORLOG.2、ERRORLOG.3、ERRORLOG.4、ERRORLOG.5以及ERRORLOG.6,当前的错误日志文件“ERRORLOG”没有扩展名,ERRORLOG文件中包含最新的错误日志信息,ERRORLOG.6文件中包含最老的错误日志信息,如图-1所示。
图-1  ERRORLOG文件
这些ERRORLOG文件对应的就是SQL Server数据库【对象资源管理器】→【管理】项目下的“SQL Server日志”,如图-2所示。“当前”对应“ERRORLOG”文件,“存档#6”对应“ERRORLOG.6”文件。
图-2  SQL Server 日志
每次重启数据库服务时,这些日志文件都将作如下循环:
•删除 ERRORLOG.6 文件;
•将原ERRORLOG.5 文件更名为 ERRORLOG.6 文件;
•将原ERRORLOG.4 文件更名为 ERRORLOG.5 文件;
•将原ERRORLOG.3 文件更名为 ERRORLOG.4 文件;
•将原ERRORLOG.2 文件更名为 ERRORLOG.3 文件;
•将原ERRORLOG.1 文件更名为 ERRORLOG.2 文件;
•将原ERRORLOG文件更名为ERRORLOG.1 文件;
•创建一个新的ERRORLOG文件。
也就是先进先出原则,如此循环6次,就可以将ERRORLOG都更新一遍。
重启数据库服务操作,可以在【对象咨询管理器】中右键单击根节点选择重新启动;也可以依次打开【控制面板】→【管理工具】→【服务】,进入【服务】功能,右键单击“SQL Server (MSSQLSERVER)”服务选择【重新启动】来重启数据库服务。
然后,在【对象咨询管理器】中右键单击【SQL Server日志】,选择【刷新】菜单后得到重启后的迭代日志文件。例如在2012-2-23 14:43时重启SQL服务后,状态如图-3所示。
安装sql server数据库没到图-3  重启数据库服务后的ERRORLOG文件
每个ERRORLOG文件记录了“重启数据库服务前”到“上一次重启数据库服务后”的错误日志信息,由于某时间段记录了较多错误,ERRORLOG文件就会增大,导致占据的磁盘空间很大,影响服务器性能。
对于数据库管理员来说,在日常SQL Server的维护中,查看 SQL Server 错误日志可以用来确认服务的运行情况,例如服务的启停、备份和还原操作、登录认证情况等等。SQL Server默认保留6次错误日志文件,1次当前错误日志文件,在产生新的错误日志的同时,最老的那个日志也被删除了,如果想保留更多次的错误日志,可以通过如下方法来设置:在【SQL Server Management Studio】窗口中,右键单击“管理”下的“SQL Server 日志”功能,选择【配置】菜单,弹出【配置SQL Serve错误日志】窗口,如图-4所示。单击勾选“限制错误日志文件在回收之前的数目”复选框,并且将“最大错误日志文件数”设置为希望的数值,设置的数值在6到99之间即可。
图-4  配置错误日志文件数
2.  解决方案
SQL Server数据库服务器上的ERRORLOG文件有时候会出现文件很大的情况,尤其是将登录认证情况记录到错误日志的情况之下,可能严重影响服务器性能。此时,需要重启SQL

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。