SQL Server ErrorLog 错误日志





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



"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 文件中。

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

Exec('DBCC ErrorLog') 或 exec sp_cycle_errorlog

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

转载:http://6415083.blog.163.com/blog/static/6660257520113203519353/

 



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/NumEr

rorLogs,默认情况下,并没有这个注册表项,类型选择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文件------------------------------------------------------------------------