默认情况下,SQL Server 保存 7 个 ErrorLog 文件,名为:
?ErrorLog
?ErrorLog.1
?ErrorLog.2
?ErrorLog.3
?ErrorLog.4
?ErrorLog.5
?ErrorLog.6
在 APACS OS 版本 6.1 中,ErrorLog 文件保存在 c:\Program Files\Microsoft SQL Server\MSSQL$WINCC\LOG 文件夹中。在 APACS OS 版本 7.0 中,ErrorLog 文件保存在 c:\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 文件复制到某个外部存储介质中。
在 APACS OS 版本 6.1 中,可利用 SQL Qry Analyzer Tool 从 SQL Server Enterprise Manager 运行 sp_cycle_errorlog 存储过程。在 APACS OS 版本 7.0 中,可从 SQL Server Management St io 运行 sp_cycle_errorlog 存储过程。
所以需要定期能切换写入error log . 一般可以使用DBCC 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 Management Studio
?在“管理”目录下,在SQL Server日志上右键,点击“配置”
?在弹出的“配置SQL Server错误日志”窗口中,在“限制错误日志文件在回收之前的数目”复选框上打勾,并且将“最大错误日志文件数”设置为希望的数值。这个数值在6到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开头的参数,修改该参数后面的路径,就可以将错误日志存放到指定的路径下,修改完成需要重启服务生效。