zoukankan      html  css  js  c++  java
  • SQL Server 错误日志收缩(ERRORLOG)

    一、基础知识

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

    C:Program FilesMicrosoft SQL ServerMSSQL.1MSSQLLOGERRORLOG

    和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之间。

    F1.修改日志文件数

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

    F2.修改路径

    (Figure2:ErrorLog文件路径)

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

    四、参考文献

    关于 SQL Server ErrorLog 错误日志

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

    诊断SQLSERVER问题常用的日志

    SQLSERVER errorlog讲解

  • 相关阅读:
    POJ 1328 Radar Installation
    POJ 1700 Crossing River
    POJ 1700 Crossing River
    poj 3253 Fence Repair (贪心,优先队列)
    poj 3253 Fence Repair (贪心,优先队列)
    poj 3069 Saruman's Army(贪心)
    poj 3069 Saruman's Army(贪心)
    Redis 笔记与总结2 String 类型和 Hash 类型
    数据分析方法有哪些_数据分析方法
    数据分析方法有哪些_数据分析方法
  • 原文地址:https://www.cnblogs.com/gaizai/p/3152494.html
Copyright © 2011-2022 走看看