自动化收集SQLSERVER诊断信息的工具选择及使用介绍

前端之家收集整理的这篇文章主要介绍了自动化收集SQLSERVER诊断信息的工具选择及使用介绍前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

自动化收集sqlSERVER诊断信息

相信很多人都遇到过当sqlSERVER出现问题的时候,而你又解决不了需要DBA或者微软售后支持工程师去帮忙解决问题,那么他们一般需要你收集一些系统信息和sqlSERVER诊断信息。而收集这些信息又需要图形工具,又需要指令,步骤又非常复杂。

我们要按照步骤一步一步把需要的信息收集全,在收集的过程中,往往折腾几次就头痛了


解决问题的工具

这个问题随着一个在sql2005里的工具的出现而得到了解决

这个工具可以自动收集很多信息,扩展了原来的应用,增强了其信息收集的能力

这个工具就是

sqlDIAG.exe

sql

代表:

sqlSERVER

DIAG

代表

Diagnostic(诊断)

sqlDiag这个工具可以收集的信息有:

(1)Windows事件日志

(2)sqlSERVER ErrorLog,以及sql配置信息,一些重要运行信息

(3)sql曾经产生的DUMP文件

(4)服务器系统配置信息

(5)同时包含有系统和sql性能计数器的性能日志

(6)服务器端Trace

这个工具可以帮助DBA自动打开

服务器端Trace

,比用

sqlSERVER Profiler

要安全多了

因为sqlSERVER Profiler属于客户端跟踪工具,而且需要消耗系统资源跟服务器通信需要

进程间通信,而这个工具用的是

服务器端Trace

sqlDiag工具默认安装在:

C:\Program Files\Microsoft sql Server\90\Tools\Binn

C盘是我的sqlSERVER安装路径,大家安装sqlSERVER不是选择默认路径的话可能跟我不一样


使用工具

这个工具需要在命令行窗口运行,可以在命令行直接运行\sqldiag.exe,工具会使用默认的配置,收集系统信息

sqlDIAG.exe拖到cmd窗口,按回车键就可以启动了,详细步骤看下图

当出现

sqlDIAG Collection started

. Press Ctrl+C to stop. 信息以后就按

Crtl+C

,终止这个工具的执行。

sqlDIAG 工具会在Binn目录下产生三个XML文件,并且产生一个sqlDIAG子目录,存放刚才收集的信息

使用默认配置(即Binn目录下的sqlDiag.xml)只会收到:

(1)sql errorlog文件内容,以及sql配置信息和一些重要运行信息(XXXX_sp_sqldiag_Shutdown.out)

(2)sql曾经产生的dump记录(XXXX_sqlDUMPER_ERRORLOG.log)

(3)服务器系统配置信息(XXXX_MSINFO32.txt)

(4)sql默认开启的Default Trace文件(log_XXX.trc)


使用配置文件

你可以使用另外两个sqlDiag自带的XML配置文件SD_General.xml 和 SD_Detailed.xml,这两个xml文件sqlDiag.exe在同一目录下,

如果使用这两个配置文件就能够收集到sql Trace和性能日志。

但是如果要使用这两个配置文件所产生的文件就会比较大,放在sql安装目录下就不再合适,

需要在sqlDiag里指定输出文件路径。

例子 在cmd下输入:

格式:

sqldiag.exe /I /O

我使用SD_General.XML配置文件,配置F:\sqlDIAOUT为输出目录,这个文件夹不用预先创建好,他最帮你自动创建

sqldiag.exe /I SD_General.XML /O F:\sqlDIAOUT

运行的过程中能够看到sqldiag开启Perfmon(AddingPerfmon counters)和Trace(Starting Profiler Trace)

当问题跟踪完毕以后,再按Ctrl+C工具会停止日志收集。

有些信息是在工具关闭前收集的,所以可能要等一会才能完全停止

而在目录下 F:\sqlDIAOUT目录,可以看到以下信息

(1)sql Trace文件(XXXX_sp_trace.trc)

(2)Windows事件日志(XXXX_applog_Shutdown.txt,XXXX_seclog_Shutdown.txt,XXXX_syslog_Shutdown.txt)

(3)Windows性能日志(sqldiag.blg) 用性能监视器也打不开这个文件,要使用系统自带的小工具


总结

实际上,两个XML配置文件SD_General.xml 和 SD_Detailed.xml的主要区别是SD_Detailed.xml会在sql Trace里收集更多的事件,

所以输出会要大很多。

DBA可以根据需要选择其中一个

缺点:

sqldiag的唯一缺点,是不会定期查询系统管理视图DMV,

所以建议自动化信息收集是sqldiag(使用SD_General.xml 和 SD_Detailed.xml做配置文件),在加上一些

系统动态管理视图作为辅助

猜你在找的MsSQL相关文章