SQL Server数据库的错误日志
沉沙 2018-05-09 来源 : 阅读 1832 评论 0

摘要:在日常SQL Server的维护中,查看SQL Server错误日志可以用来确认服务的运行情况,本文主要介绍总结了SQL Server数据库的错误日志,希望本文对读者学习SQL Server数据库有所助益。

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

· ErrorLog

· ErrorLog.1

· ErrorLog.2

· ErrorLog.3

· ErrorLog.4

· ErrorLog.5

· ErrorLog.6

ErrorLog 文件保存在"Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\LOG"文件夹中。ErrorLog 文件包含最新信息;ErrorLog.6 文件包含最老的信息。

每次重启动 SQL Server 时,这些日志文件都如下循环:

· 删除 ErrorLog.6 文件中的所有数据,并创建一个新的 ErrorLog 文件。

· 上个 ErrorLog 文件中的所有数据被写入到 ErrorLog.1 文件中。

· 上个 ErrorLog.1 文件中的所有数据被写入到 ErrorLog.2 文件中。

· 上个 ErrorLog.2 文件中的所有数据被写入到 ErrorLog.3 文件中。

· 上个 ErrorLog.3 文件中的所有数据被写入到 ErrorLog.4 文件中。

· 上个 ErrorLog.4 文件中的所有数据被写入到 ErrorLog.5 文件中。

· 上个 ErrorLog.5 文件中的所有数据被写入到 ErrorLog.6 文件中。

如果其中一个 ErrorLog 文件已很大,则可通过运行sp_cycle_errorlog存储过程手动循环这些 ErrorLog 文件。注意事项:旧的 ErrorLog 文件中的数据将被覆盖!如果必须保存旧的 ErrorLog 文件中的数据,则可将这些旧的 ErrorLog 文件复制到某个外部存储介质中。

一般可以使用DBCC errorlog命令来操作 。Exec('DBCC ErrorLog') 或 exec sp_cycle_errorlog

或者可以通过以下命令,将sp 放在Job中定期执行。

 

SQL  2005 Errolog过大处理方法 SQL Server 错误日志  

在日常SQL Server的维护中,查看SQL Server错误日志可以用来确认服务的运行情况:例如服务的启停、备份和还原操作、登录认证情况等等,需要经常性的查看。

使用SQL Server Management Studio或文本编辑器都可以查看SQL Server错误日志。默认情况下,错误日志位于Program Files/Microsoft SQL Server/MSSQL.n/MSSQL/LOG/ERRORLOG和ERRORLOG.n文件中。默认保留有7个SQL Server错误日志文件,分别是:ErrorLog,Errorlog.1~Errorlog.6,当前的错误日志(文件ErrorLog)没有扩展名。每当启动SQL Server实例时,将创建新的错误日志ErrorLog,并将之前的ErrorLog更名为ErrorLog.1,之前的ErrorLog.1更名为ErrorLog.2,依次类推,原先的ErroLog.6被删除。

生产服务器上的ErrorLog文件有时候会碰到文件很大的情况,尤其将登录认证情况记录到错误日志的情况之下,此时使用SQL Server Management Studio或者文本编辑器查看错误日志查看的时候速度会是个问题,对于这种情况,可以在不重新启动服务器的情况下,通过存储过程sp_cycle_errorlog来生成新的日志文件,并循环错误日志扩展编号,就如同重新启动服务时候一样。除了Execute sp_cycle_errorlog之外,也可以使用DBCC ERRORLOG来实现同样的功能。在实际操作中,也可以通过建立一个Job定时去执行该存储过程,这样将日志文件大小控制在合理的范围之内。

SQL Server默认保留7次错误日志文件,在产生新的错误日志的同时,最老的那个日志也被删除了,如果想保留更多次的错误日志,可以通过如下方法来设置(SQL Server 2005):

· 打开SQL Server ManagementStudio

· 在“管理”目录下,在SQL Server日志上右键,点击“配置”

· 在弹出的“配置SQL Server错误日志”窗口中,在“限制错误日志文件在回收之前的数目”复选框上打勾,并且将“最大错误日志文件数”设置为希望的数值。这个数值在6到99之间。

除了上述方法之外,也可以通过修改注册表的方式来修改。新建一个注册表项(如果有则修改之):HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/MSSQLServer/MSSQLServer/NumErrorLogs,默认情况下,并没有这个注册表项,类型选择REG_DWORD,数值设置为希望保留的日志次数。修改注册表项的方法也可以通过以下存储过程来实现:

execxp_instance_regwrite N'HKEY_LOCAL_MACHINE', N'Software/Microsoft/MSSQLServer/MSSQLServer', N'NumErrorLogs', REG_DWORD, 20

在默认情况下,SQLServer的错误日志位于Program Files/Microsoft SQL Server/MSSQL.n/MSSQL/LOG/ERRORLOG和ERRORLOG.n文件中。

可以通过如下方法来修改该路径:

· 在SQL Server配置管理器中,单击“SQL Server服务”。

· 在右窗格中,右键单击SQL Server (<实例名>),再单击“属性”。

· 在“高级”选项卡的“启动参数”框中,有以分号(;)分隔的参数。其中,有一个以–e开头的参数,修改该参数后面的路径,就可以将错误日志存放到指定的路径下,修改完成需要重启服务生效。

-------------------------另外在"Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\LOG"文件夹中會有較大的SQLDUMP..MDMP文件

------------------------------------------------------------------------

本文由职坐标整理并发布,了解更多内容,请关注职坐标数据库SQL Server频道!

本文由 @沉沙 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程