sqldiag 工具
时间:2011-03-19 来源:Amaranthus
“sqldiag”是一款诊断工具,你可以用它收集各种SQL Server服务的诊断信息。它的初衷是为微软公司的支持工程师使用的,但是你可能也会发现它收集的信息对你诊断问题也是有帮助的。“Sqldiag”默认情况下会把收集到的信息写到文件中,保存到名为“SQLDIAG”的文件夹中,该文件夹被自动创建在文件“sqldiag.exe”所在路径同级目录(比如:C:\Program Files\Microsoft SQL Server\100\Tools\binn\SQLDIAG\)。该文件夹保存有包含关于运行SQL Server的计算机有关的信息,还有下面几类诊断信息:
- SQL Server配置信息
- SQL Server块输出
- SQL Server事件探查器跟踪
- SQL Server
- Windows性能日志
- Windows事件日志
“sqldiag”的语法在SQL Server 2005中有相当多的变化,但是在SQL Server 2008中几乎没有变化。在SQL Server 2005之前的版本中使用的一些参数可能会与当前版本不兼容。“sqldiag”完整语法如下:
sqldiag { [/?] } | { [/I configuration_file] [/O output_folder_path] [/P support_folder_path] [/N output_folder_management_option] [/C file_compression_type] [/B [+]start_time] [/E [+]stop_time] [/A SQLdiag_application_name] [/T { tcp [ ,port ] | np | lpc | via } ] [/Q] [/G] [/R] [/U] [/L] [/X] } | { [START | STOP | STOP_ABORT] } | { [START | STOP | STOP_ABORT] /A SQLdiag_application_name } |
默认情况下,“sqldiag”工具必须被Windows管理员组的用户来运行,该用户必须具有完善的SQL Server角色“sysadmin”的权限。要更多了解“sqldiag”输出信息类型,请打开命令行提示窗口,然后把当前路径修改到“sqldiag.exe”文件所在路径,然后敲入如下命令:
Sqldiag
不需要输入参数就会生成输出信息。在它收集诊断信息时,该命令提示窗口会在屏幕中滚动显示状态信息。你可以看到“SQLDIAG初始化启动……”信息,表示后面跟着的信息是收集到的信息。数据收集包含从MSINFO32,默认跟踪日志和SQLDumper日志文件来的各种系统信息。如果你想停止收集,就在键盘上摁下“Ctrl+C”。
如果你进入“sqldiag”输出文件夹,你会发现在收集过程中创建的文件。在这个输出文件夹里,你可以找到文件名为“MSINFO32”的文件。该文件包含的信息与你在“附件”中运行“系统信息”应用程序或者运行“MSINFO32.EXE”程序时得到的内容是相同类型的信息。这是关于运行SQL Server的计算机的关键信息。该信息包括处理器数量,内存数量,磁盘空间容量,以及大量其他硬件和软件数据。
你还会找到文件名为“xxx_sp_sqldiag_Shutdown.out”的文件,这里“xxx”是SQL Server所在计算机的名称。该文件包含SQL Server的具体信息,包括SQL Server错误日志,几个关键系统存储过程(包括“sp_helpdb”和“ sp_configure”)的输出信息,还有很多关于当前SQL Server运行状态的信息。
你还能在“sqldiag”输出目录中发现其它文件。与最新“sqldiag”执行有关的默认跟踪文件,日志文件,以及包含它们配置信息的一份XML文件副本。微软公司在这些文件方面的文档是有限的,所以你会发现,要了解这些文件包含什么,最好的方式就是打开这些文件并检查其中丰富的信息。