• Sqlserver:代理错误日志,知多少?


    一 概述

    默认情况下,SQL Server 代理创建错误日志来记录警告和错误。日志中显示下列警告和错误:

    • 警告消息,提供有关潜在问题的信息,例如“作业 <job_name> 在执行时被删除”。
    • 错误消息,通常需要系统管理员干预,例如“无法启动邮件会话”。可以通过 net send 将错误消息发送给特定用户或计算机。
    • 默认情况下,执行跟踪消息不写入 SQL Server代理日志错误,因为它们会将日志填满。如果错误日志已满,会降低选择和分析更严重的错误的能力。因为日志会增加服务器的处理负荷,所以请务必仔细考虑是否值得将执行跟踪消息捕获到错误日志中。通常,最好仅在调试某个特定问题时捕获所有消息。

    二 错误日志的存放目录和个数

    • SQL Server 最多可以维护 1个当前错误日志记录 和 9个 SQL Server 代理错误日志历史记录。每个存档日志都有一个扩展名,指示该日志的相对存在时间。例如,扩展名 .1 表示最新的存档错误日志,而扩展名 .9 表示最旧的存档错误日志。

    • SQL Server 代理停止后,可以修改 SQL Server 代理错误日志的位置。如果错误日志为空,则无法打开日志。可以随时循环访问 SQL Server 代理日志,无需停止 SQL Server 代理。


    三 基本管理任务

    • 查看 SQL Server 代理错误日志 :企业管理器;通过openrowset读取文件;xp_cmdshell下执行dos输出的type命令等;xp_cmdshell下bcp进入数据库系统的表中;exec xp_cmdshell 'type "C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\LOG\SQLAGENT.out"'
    • 重命名 SQL Server 代理错误日志 ,重启sql代理后生效 :企业管理器;EXEC msdb.dbo.sp_set_sqlagent_properties @errorlog_file=N'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\LOG\SQLAGENT.OUT'
    • 发送 SQL Server 代理错误消息 ,使用net send 发送消息,依赖于windows的messenges 服务 :企业管理器;EXEC msdb.dbo.sp_set_sqlagent_properties @error_recipient=N'jinsen'
    • 将执行跟踪消息写入到 SQL Server 代理错误日志中 :配置sql代理,记录跟踪内容;
    • 配置代理错误日志的信息内容类型(错误 1、警告 2、信息(包含错误跟踪) 4),类型可以叠加:企业管理器;EXEC msdb.dbo.sp_set_sqlagent_properties @errorlogging_level={1|2|4|3|5|7|6}
    • 配置代理错误日志的信息内容的编码类型 :企业管理器;EXEC msdb.dbo.sp_set_sqlagent_properties @oem_errorlog={0|1}
    • 回收错误日志的空间 :使用企业管理器;EXEC msdb.dbo.sp_cycle_agent_errorlog
    • 配置代理错误日志文件记录数的大小(行数):企业管理器;EXEC msdb.dbo.sp_set_sqlagent_properties @jobhistory_max_rows=1000,
    • 配置代理错误日志文件记录每个作业的最大记录的大小(行数):企业管理器;EXEC msdb.dbo.sp_set_sqlagent_properties  @jobhistory_max_rows_per_job=100

    四 常见问题

    q:为什么sql代理错误日志文件的内容始终为空,无法进行错误信息的日志记录?

    a:重新配置sql代理错误日志文件的编码格式为非oem——即配置为unicode编码,可以解决问题

     

    q:为什么在使用企业管理器查看sql代理错误日志时,日志查看器出现异常,“unicode file expected”?

    a:重新配置sql代理错误日志文件的编码格式为非oem——即配置为unicode编码,可以解决问题

     

    q:为什么企业管理器、sms 无法回收sql2000的sql代理错误日志文件?

    a:sqlserver2000的sql 代理错误日志的文件 不支持回收!

  • 相关阅读:
    基础才是重中之重~B/S系统中的事件订阅
    将不确定变为确实~请自己搞清楚异常页面的设置方法(网上那些资料说的基本都有问题!)
    基础才是重中之重~延迟初始化
    批量替换sqlserver数据库TEXT字段类型的数据
    12554 A Special "Happy Birthday" Song!!!
    Linux socket 网络编程常用函数总结
    新浪微博Python SDK笔记——发微博(一)
    在Ubuntu上下载、编译和安装Android 4.2 最新内核源代码(Linux Kernel)
    20、SQL Server 数据修改之Update
    19、SQL Server 数据修改之Insert into
  • 原文地址:https://www.cnblogs.com/jinzhenshui/p/1634118.html
Copyright © 2020-2023  润新知