当前位置: 澳门新濠3559 > 数据库 > 正文

Server的错误日志的最大归档数量,Server 错误日志

时间:2019-10-29 23:31来源:数据库
  SQLServer默认保留7次错误日志文件,在产生新的错误日志的同时,最老的那个日志也被删除了,如果想保留更多次的错误日志,可以通过如下方法来设置(SQLServer 2005): ..........   使

 

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

..........

 

使用 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被删除。

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

 

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

 

 

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

SQL Server ErrorLog 错误日志(如果数据库所占空间变大)
默认情况下,SQL Server 保存 7 个 ErrorLog 文件,名为:
ErrorLog
ErrorLog.1
ErrorLog.2
ErrorLog.3
ErrorLog.4
ErrorLog.5
ErrorLog.6
在 APACS OS 版本 6.1 中,ErrorLog 文件保存在 c:Program FilesMicrosoft SQL ServerMSSQL$WINCCLOG 文件夹中。在 APACS OS 版本 7.0 中,ErrorLog 文件保存在 c:Program FilesMicrosoft SQL ServerMSSQL.1MSSQLLOG 文件夹中。ErrorLog 文件包含最新信息;ErrorLog.6 文件包含最老的信息。

 

exec xp_instance_regwrite N'HKEY_LOCAL_MACHINE', N'Software/Microsoft/MSSQLServer/MSSQLServer', N'NumErrorLogs', REG_DWORD, 20

在 SQL Server 配置管理器中,单击“SQL Server 服务”。
在右窗格中,右键单击 SQL Server (<实例名>),再单击“属性”。
在“高级”选项卡的“启动参数”框中,有以分号 (;) 分隔的参数。其中,有一个以 –e开头的参数,修改该参数后面的路径,就可以将错误日志存放到指定的路径下,修改完成需要重启服务生效。

澳门新濠3559 1

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

使用 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被删除。

USE [master];

 

GO

 

EXEC xp_instance_regwrite N'HKEY_LOCAL_MACHINE',

 

    N'SoftwareMicrosoftMSSQLServerMSSQLServer', N'NumErrorLogs', REG_DWORD,

 

    10;

 

GO

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

转载:

 

在 SQL Server 配置管理器中,单击“SQL Server 服务”。
在右窗格中,右键单击 SQL Server (<实例名>),再单击“属性”。
在“高级”选项卡的“启动参数”框中,有以分号 (;) 分隔的参数。其中,有一个以 –e开头的参数,修改该参数后面的路径,就可以将错误日志存放到指定的路径下,修改完成需要重启服务生效。

所以需要定期能切换写入error log . 一般可以使用DBCC errorlog命令来操作 。

澳门新濠3559 2

 

澳门新濠3559,如何禁止IIS在C:WindowsSystem32LogFilesHTTPERR中生成日志文件
C:Program FilesMicrosoft SQL ServerMSSQL10_50.MSSQLSERVERMSSQLLog

 

运行 sp_cycle_errorlog 存储过程手动循环 ErrorLog

删除 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 文件复制到某个外部存储介质中。

以SQL Server 2014为例(默认实例),注册表HKEY_LOCAL_MACHINESOFTWAREMicrosoftMSSQLServerMSSQLServer 下是没有这个参数NumErrorLogs的,这个参数实际位于HKEY_LOCAL_MACHINESOFTWAREMicrosoftMicrosoft SQL ServerMSSQL12.MSSQLSERVERMSSQLServer下面;

打开 SQL Server Management Studio
在“管理”目录下,在SQL Server日志上右键,点击“配置”
在弹出的“配置SQL Server错误日志”窗口中,在“限制错误日志文件在回收之前的数目”复选框上打勾,并且将“最大错误日志文件数”设置为希望的数值。这个数值在6到99之间。
除了上述方法之外,也可以通过修改注册表的方式来修改。新建一个注册表项(如果有则修改之):HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/MSSQLServer/MSSQLServer/NumErrorLogs,默认情况下,并没有这个注册表项,类型选择REG_DWORD,数值设置为希望保留的日志次数。修改注册表项的方法也可以通过以下存储过程来实现:

..........

当然如果是命名实例,注册表路径还是有所差别,但是上面存储过程使用上面参数(同一参数)都能修改到注册表NumErrorLogs参数,原本为N'HKEY_LOCAL_MACHINE' 和 N'SoftwareMicrosoftMSSQLServerMSSQLServer'的值组合是参数在注册表中具体路径,但是实际验证发现不是这么一回事,另外由于master.sys.xp_instance_regwrite是一个没有文档的存储过程,所以不知道它内部是如何处理的,也就是说不知是其内部做了转换还是其它原因。这个让人相当困惑、不解的问题。

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

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

 

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

 

打开 SQL Server Management Studio
在“管理”目录下,在SQL Server日志上右键,点击“配置”
在弹出的“配置SQL Server错误日志”窗口中,在“限制错误日志文件在回收之前的数目”复选框上打勾,并且将“最大错误日志文件数”设置为希望的数值。这个数值在6到99之间。
除了上述方法之外,也可以通过修改注册表的方式来修改。新建一个注册表项(如果有则修改之):HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/MSSQLServer/MSSQLServer/NumErrorLogs,默认情况下,并没有这个注册表项,类型选择REG_DWORD,数值设置为希望保留的日志次数。修改注册表项的方法也可以通过以下存储过程来实现:

 

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

如果里使用脚本设置,如下所示,这个脚本也能实现修改最大错误日志数量的功能

Exec('DBCC ErrorLog') 或 exec sp_cycle_errorlog

以SQL Server 2008为例(默认实例),注册表HKEY_LOCAL_MACHINESOFTWAREMicrosoftMSSQLServerMSSQLServer 下是没有这个参数NumErrorLogs的,这个参数实际位于HKEY_LOCAL_MACHINESOFTWAREMicrosoftMicrosoft SQL ServerMSSQL10_50.MSSQLSERVERMSSQLServer下面;

在 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 存储过程。

 

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

澳门新濠3559 3

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

 

 

 

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

 

exec xp_instance_regwrite N'HKEY_LOCAL_MACHINE', N'Software/Microsoft/MSSQLServer/MSSQLServer', N'NumErrorLogs', REG_DWORD, 20

 

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

以前写过一篇博文“MS SQL 日志记录管理”,里面介绍了如何设置SQL Server的错误日志的最大归档数量,如果在SSMS的UI界面设置,可以从“Management”-> "SQL Server Logs" 右键单击选项“Configure" 去设置错误日志的个数,如下所示:

 

编辑:数据库 本文来源:Server的错误日志的最大归档数量,Server 错误日志

关键词: 澳门新濠3559