首页 / 日志 / MSSQL日志记录管理
MSSQL日志记录管理
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了MSSQL日志记录管理,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含4311字,纯文字阅读大概需要7分钟。
内容图文
MS SQL的日志信息/日志记录,可能对你来说,既熟悉又陌生,熟悉是因为你可能一直都在使用,查看、关注一些日志信息/记录,例如,作业历史记录;陌生是因为你可能从不关注日志信息/记录的管理,这里我一直用日志信息/记录这个词,而没有用日志文件这个词来阐
MS SQL的日志信息/日志记录,可能对你来说,既熟悉又陌生,熟悉是因为你可能一直都在使用,查看、关注一些日志信息/记录,例如,作业历史记录;陌生是因为你可能从不关注日志信息/记录的管理,这里我一直用日志信息/记录这个词,而没有用日志文件这个词来阐述,是想让大家把它和事务日志文件(ldf)区分开来,香港服务器租用,网上你用日志文件做搜索关键词,可能搜出来的都是事务日志相关的信息。其实它真的也叫日志文件,这篇文章我大概从日志记录分类、如何查看日志记录、日志记录的位置、日志记录的设置、为什么错误日志会暴增、如何清除日志记录等方面来讲述。
日志记录分类
按日志文件查看器,习惯将错误日志归为SQL SERVER、 SQL SERVER 代理, Windows应用程序日志,数据库邮件等四类错误日志记录。如果还考虑维护计划、远程维护计划、作业历史记录日志信息,总共是7类日志信息文件。
其中Windows应用程序日志类型又分为系统日志(System)、安全日志(Security)、应用程序日志(Application), PatchLink日志等几种,我在服务器(Windows Server 2008 R2 Standard)上打开SSMS,居然发现又多了HardwareEvents, Internet Explorer、Windows PowerShell等日志文件。这些都是系统的日志文件。你不必太纠结有多少种。
日志记录位置
SQL SERVER日志记录、 SQL SERVER代理记录的位置如下所示, SQL SERVER日志记录一般存储在ERRORLOG.n(n为数字)文件里, SQL SERVER代理日志记录位于SQLAGENT.n这类的文件里。当然这跟数据库的版本也有关系:
版本
路径
SQL SERVER 2005
Program Files\Microsoft SQL Server\MSSQL.n\MSSQL\LOG
SQL SERVER 2008
Program Files\Microsoft SQL Server\MSSQL10.实例名\MSSQL\LOG
SQL SERVER 2008 R2
Program Files\Microsoft SQL Server\MSSQL10_50.实例名\MSSQL\LOG
SQL SERVER 2005,默认情况下,错误日志位于 Program Files\Microsoft SQL Server\MSSQL.n\MSSQL\LOG\ERRORLOG 和 ERRORLOG.n 文件中。其中MSSQL.n的区分为:
MSSQL.1:SQLSERVER
MSSQL.2:SSAS
MSSQL.3:SQLExpress
MSSQL.4:SSRS
所以,一般情况下,你只需要关注MSSSQL.1目录下的日志文件
那么,数据库邮件日志记录位于哪里呢?作业历史记录日志信息、Windows应用程序日志又位于哪里呢?是不是从没考虑过这些?
数据库邮件日志记录信息可以从视图msdb.dbo.sysmail_event_log查询得到,实质保存在[dbo].[sysmail_log]表里面。
sysmail_event_log
作业历史记录日志信息都保存在msdb.dbo.sysjobhistory的表里面,其中run_status字段代表作业执行状态
0 = 失败
1 = 成功
2 = 重试
3 = 已取消
4= 正在进行
所有Windows应用程序日志其实都位于同一位置%SystemRoot%\System32\Winevt\Log。像Application日志文件位于%SystemRoot%\System32\Winevt\Logs\Application.evtx,如下所示,
查看日志记录
查看日志记录可以确保进程(例如,备份和还原操作、批处理命令或其他脚本和进程)成功完成。此功能可用于帮助检测任何当前或潜在的问题领域,包括自动恢复消息(尤其是在 SQL Server 实例已停止并重新启动时)、内核消息或其他服务器级错误消息。
方式1: 查看错误日志文件
对SQL SERVER、SQL SERVER AGENT日志记录信息,你可以直接去log目录下找到ERRORLOG、SQLAGENT日志文件,直接打开查看;而像Windows应用程序日志记录,去到%SystemRoot%\System32\Winevt\Log目录,找到对应的日志文件,直接打开查看。
方式2:通过SSMS来查看日志记录
查看与常规 SQL Server 活动相关的日志
查看与作业相关的日志
查看与维护计划相关的日志
方式3:用脚本查看
3.1 对于SQL SERVER日志文件,可以通过下面脚本查看:
--查看日志文件的存档号
EXEC master.dbo.sp_enumerrorlogs
用这个命令可以查看日志文件的大小,这个非常有用,你可以把大小异常的文件给排查出来。
--根据存档号查看该档日志内容
EXEC master.dbo.xp_readerrorlog 1
--根据job_id查看SQL SERVER日志记录
SELECT * FROM msdb.dbo.sysjobhistory WHERE job_id='36E9232B-CD5B-4646-9BED-B8242090FFF9'
3.2 对于作业历史记录日志信息,你既可以通过下面存储过程查看,也可以直接查询对应的表。
例如,服务器空间,我要查看作业“ServerDiskCapacityCheck”的历史记录
Code Snippet
3.3数据库邮件记录查看
SELECT * FROM msdb.dbo.sysmail_event_log;
日志记录管理
设置最大错误日志文件数
1:在对象资源管理器中,连接到 SQL Server 数据库引擎实例,再展开该实例。
内容总结
以上是互联网集市为您收集整理的MSSQL日志记录管理全部内容,希望文章能够帮你解决MSSQL日志记录管理所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。