一、基础知识

默认情况下,错误日志位于 :

C:\Program Files\Microsoft SQL Server\MSSQL.1\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文件

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

注意事项:旧的 ErrorLog 文件中的数据将被覆盖!如果必须保存旧的 ErrorLog 文件中的数据,则可将这些旧的 ErrorLog 文件复制到某个外部存储介质中。

Exec('DBCC ErrorLog')  或 exec sp_cycle_errorlog,或者可以通过以下命令,将sp 放在Job中定期执行。

三、Errorlog其它配置

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

  • 打开 SQL Server Management Studio
  • 在“管理”目录下,在SQL Server日志上右键,点击“配置”
  • 在弹出的“配置SQL Server错误日志”窗口中,在“限制错误日志文件在回收之前的数目”复选框上打勾,并且将“最大错误日志文件数”设置为希望的数值。这个数值在6到99之间。

(Figure1:错误日志文件数0~99)

除了上述方法之外,也可以通过修改注册表的方式来修改。

新建一个注册表项(如果有则修改之):

HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/MSSQLServer/MSSQLServer/NumErrorLogs,默认情况下,并没有这个注册表项,类型选择REG_DWORD,数值设置为希望保留的日志次数。修改注册表项的方法也可以通过以下存储过程来实现:

exec xp_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开头的参数,修改该参数后面的路径,就可以将错误日志存放到指定的路径下,修改完成需要重启服务生效。

(Figure2:ErrorLog文件路径)

(三) 如果想对错误日志文件进行过滤查询的话,可以参考:SQL Server 错误日志过滤(ERRORLOG)

四、参考文献

关于 SQL Server ErrorLog 错误日志

SQL Server ErrorLog 错误日志(如果数据库所占空间变大)

诊断SQLSERVER问题常用的日志

SQLSERVER errorlog讲解

SQL Server 错误日志收缩(ERRORLOG)的更多相关文章

  1. SQL Server 错误日志过滤(ERRORLOG)

    一.背景 有一天我发现SQL Server服务器的错误日志中包括非常多关于sa用户的登陆错误信息:“Login failed for user 'sa'. 原因: 评估密码时出错.[客户端: XX.X ...

  2. sql server 错误日志errorlog

    一 .概述 SQL Server 将某些系统事件和用户定义事件记录到 SQL Server 错误日志和 Microsoft Windows 应用程序日志中. 这两种日志都会自动给所有记录事件加上时间戳 ...

  3. 一次清除SQL SERVER错误日志的体会!

    之前在UAT环境搭建的SQL SERVER 2008 R2数据库一直用得比较正常,但最近发现在Sharepoint中不能进行任何操作了,开始以为是什么配置出了问题(因为一直在研究一些新的应用和集成,需 ...

  4. [AlwaysOn Availability Groups]SQL Server错误日志(AG)

    SQL Server错误日志(AG) SQL Server错误日志会记录影响AG的时间,比如: 1.和Windows故障转移集群交互 2.可用副本的状态 3.可用数据的状态 4.AG endpoint ...

  5. SQL Server自动化运维系列——监控磁盘剩余空间及SQL Server错误日志(Power Shell)

    需求描述 在我们的生产环境中,大部分情况下需要有自己的运维体制,包括自己健康状态的检测等.如果发生异常,需要提前预警的,通知形式一般为发邮件告知. 在所有的自检流程中最基础的一个就是磁盘剩余空间检测. ...

  6. SQL Server自动化运维系列 - 监控磁盘剩余空间及SQL Server错误日志(Power Shell)

    需求描述 在我们的生产环境中,大部分情况下需要有自己的运维体制,包括自己健康状态的检测等.如果发生异常,需要提前预警的,通知形式一般为发邮件告知. 在所有的自检流程中最基础的一个就是磁盘剩余空间检测. ...

  7. Microsfot SQL Server 2012 日志收缩

    //Microsfot SQL Server 2012 日志收缩 USE DataBaseName;GO ALTER DATABASE DataBaseNameSET RECOVERY SIMPLE; ...

  8. SQL Server 自动化运维系列 - 监控磁盘剩余空间及SQL Server错误日志(Power Shell)

    需求描述 在我们的生产环境中,大部分情况下需要有自己的运维体制,包括自己健康状态的检测等.如果发生异常,需要提前预警的,通知形式一般为发邮件告知. 在所有的自检流程中最基础的一个就是磁盘剩余空间检测. ...

  9. 查看MS SQL SERVER 错误日志

    查看目的: 错误日志的查看是确保过程已成功完成(例如,备份和恢复操作,批处理命令,或其他脚本和过程).这可以帮助检测任何当前或潜在的问题,包括自动恢复信息(尤其是如果SQL Server实例已停止并重 ...

随机推荐

  1. [转]linux shell数据重定向(输入重定向与输出重定向)详细分析

      在了解重定向之前,我们先来看看linux 的文件描述符. linux文件描述符:可以理解为linux跟踪打开文件,而分配的一个数字,这个数字有点类似c语言操作文件时候的句柄,通过句柄就可以实现文件 ...

  2. Web测试基础点

    摘自:软件工程师成长之路 1.获取当前使用的Flash播放器版本(Flash Player Version)信息 在浏览器地址栏输入http://www.playerversion.com/,即可显示

  3. 对文本行进行排序,新增-d(目录排序),只对字母数字空格排序(TCPL 练习5-16)

    文本行的排序用到了命令行参数以及多级指针,在要求只对字母数字空格进行排序时,关键的问题点是兼容-f命令参数,也就是排序的同时忽略大小写.由于在之前的练习中,我将忽略大小写的比较方法重新写了一个函数tr ...

  4. HTML5-布局的使用

    DIV布局: <!DOCTYPE html> <html> <head lang="en"> <meta charset="UT ...

  5. java 中 finally里面写了return 会发生什么?

    boolean test() throws Exception { boolean ret = true; try { int b = 12; int c; for (int i = 1; i > ...

  6. 如何快速清空项目中的session值

    /清空session //第一种:按照指定的名称清空session //request.getSession().removeAttribute("globle_user"); / ...

  7. beetle.express针对websocket的高性能处理

    客户需要对websocket服务应用,其要求每秒同时给3W个在线的websocket连接进行广播消息.以下针对beetle.express扩展websocket简单的性能测试.从测试结果来看基本没什么 ...

  8. 如何利用Github+Appveyor+Nuget打造自己的.net core开源库

    以下教程基于你有一个托管在Github上的.net core项目,如果没有的可以自己fork一个或者自己创建了默认的项目即可. 我们打开需要生成nuget包的项目中的project.json文件,有关 ...

  9. AJAX原理总结

    AJAX全称 Asynchronous JavaScript and XML(异步的JavaScript 和XML) 同步和异步 异步传输是面向字符的传输,单位是字符 同步传输是面向比特,单位是帧,传 ...

  10. Spring2:bean的使用

    前言 Spring最基础的功能就是一个bean工厂,所以本文讲解的是Spring生成bean的种种方法及细节,Spring配置文件的名字是bean.xml,定义几个类: 一个Person类: publ ...