SQL Server 黑盒跟踪 -- 进一步了解sqldiag

SQL Server 黑盒跟踪 -- 进一步了解sqldiag

SQL Server提供了一个特别的命令工具sqldiag,帮助收集用于定位SQL Server问题的信息。你可以在其它SQL Server可执行命令所在目录相同的binn目录下找到该文件。默认目录是\Program Files\Microsoft SQL Server\MSSQL\Binn。当SQL Server正在运行时,你从命令提示符执行sqldiag,这个工具收集了大量的操作系统,硬件配置,SQL Server配置等信息。Sqldiag写到一个叫做sqldiag.txt的输出文件(默认路径是SQL Server安装目录的\log目录下)。当你启用了黑盒跟踪,然后执行sqldiag拷贝黑盒文件到sqldiag.txt文件相同的目录下。

SQL Server的sqldiag工具提供了一些参数控制收集特定的信息。完整信息可参阅BOL,但-X和-O outeput_file参数与此有关。

-X参数,让sqlidag不要包含错误日志到sqldiag.txt文件。默认情况下,SQL Server记录的错误日志文件重启仅当SQL Server重启时,错误日志文件增长直到你下次停止并重启SQL Server服务。默认情况下,SQL Server维护着六个错误日志文件,所以,当你启动SQL Server服务,之前的错误被拷贝到errorlog.1,而之前的errorlog.1被拷贝到errorlog.2,如此类推。如果你收集信息给你支持提供商,包含一些之前的错误日志的内容可能是一件好事。但是只是自己定位问题时,我发现采集所有的错误日志信息使得sqldiag.txt文件太复杂。我一般调用sqldiag用-X选项。

-O output_file参数让你自己指定一个sqldiag的输出文件名而不是sqldiag.txt。如果你指定了-O选项,sqldiag重新命令blackbox.trc和blackbox_1.trc文件为你指定的output_file名称。例如,你指定output_file为diagreport.txt,sqldiag重命令这个跟踪文件diagreport.trc和diagreport_1.trc,相应的。

你的执行sqldiag时,即使SQL Server没有运行,你启用的黑盒文件仍然可用。当SQL Server因为错误而崩溃时,这是有用的;黑盒跟踪包含在失败之前查询运行的大量记录。在重启你的服务器之前运行sqldiag能给你为什么服务停止运行的线索。

详细有关sqldiag的资料,请参见MSDN:http://msdn.microsoft.com/library/ms162833

时间: 2024-08-25 00:17:22

SQL Server 黑盒跟踪 -- 进一步了解sqldiag的相关文章

SQL Server 黑盒跟踪 -- 如何在生产环境配置?

SQL Server 黑盒跟踪 -- 如何在生产环境配置? 如果遇到间歇性故障,为了充分利用黑盒跟踪,就要确保当服务器运行时它也一直出于运行状态(包括计划中的或计划外重启之后).为达到这个要求,可以将黑盒跟踪设置为在SQL Server启动时自动启动.首先,将跟踪定义封装在主数据库的一个存储过程中: USE master GO CREATE PROCEDURE StartBlackBoxTrace AS BEGIN DECLARE @TraceId int DECLARE @maxfilesiz

SQL Server 黑盒跟踪 -- 深入进阶

SQL Server 黑盒跟踪 -- 深入进阶 当你报告错误给支持提供商时,确保要提供Blackbox.trc和Sqldiag.txt文件. 创建Blackbox.trc文件: 1. 创建跟踪 2. 开启跟踪 3. 在运行sqldiag工具前停止跟踪 你可以用下面的存储过程,trace_blackbox,去创建,启动,然后停止黑盒跟踪. 拷贝下面的脚本到查询分析器,然后脚本,创建trace_blackbox存储过程.注意,如果你要在master数据库创建它,你必须在master数据库运行该存储过

SQL Server 黑盒跟踪 -- 介绍

SQL Server 黑盒跟踪 -- 介绍 问题描述: 你是否碰到过这些问题:一个查询导致SQL Server崩溃,或者因为CPU飙到100%而导致服务器不可用? 解决方案: SQL Server提供了另一个开箱即用的后台跟踪就是黑盒跟踪(Blackbox Traces).这个跟踪被设计为同飞机上的黑匣子功能类似,SQL Server黑匣子就是拥有大量运行数据的记录.黑匣子记录了发送到SQL Server的所有查询以及类似错误信息的有用记录,可以帮助诊断间歇性服务器崩溃,或者知道在CPU飙高之前

SQL Server 黑盒跟踪 -- 如何启用黑盒跟踪?

SQL Server 黑盒跟踪 -- 如何启用黑盒跟踪? 这个跟踪是通过将sp_trace_create的@options参数值设置为8来配置的.@options指定为跟踪设置的选项,当设置值为8,即TRACE_PRODUCE_BLACKBOX,指定服务器产生的最后5MB跟踪信息记录将由服务器保存.TRACE_PRODUCE_BLACKBOX与所有其他选项不兼容.@tracefile指定跟踪将写入的位置和文件名,在使用TRACE_PRODUCE_BLACKBOX选项时无法指定trace_file

SQL Server 2012笔记分享-33:SQL Server profiler跟踪

需求 使用SQL server profiler跟踪当前实例的所有常见活动,并将结果保存到文件中. ================================================================ 开始程序中选择SQL server profiler,如图. 选择文件--新建跟踪,如图. 连接到当前的SQL server实例,如图. 在跟踪属性里面配置跟踪名称.保存到的文件地址.保存到SQL报表.启用跟踪停止时间等,如图. 下图是一个跟踪启动后实时的跟踪情况,如图

统计分析SQL Server Profiler 跟踪的SQL

--跟踪文件读入到表中分析 SELECT * INTO ZGSJY FROM fn_trace_gettable('E:\wxxcdbprofiler.trc', default); --某时间内,最耗时SQL select TOP 100 SUBSTRING(Textdata,1,660) as '名称', count(*) as '数量', sum(duration/1000) as '总运行时间ms', avg(duration/1000) as '平均运行时间ms', avg(cpu)

SQL Server 默认跟踪 -- 介绍

SQL Server 默认跟踪 -- 介绍 什么是默认跟踪? 默认的SQL Server预定义跟踪,是SQL Server中默认开启的最轻量级跟踪,由5个跟踪文件(.trc)组成,每个文件的最大值为20MB,存储在SQL Server log目录. 这些文件用作临时存储捕获事件的缓存.存储在缓存中的事件一段事件后会被删除.当SQL Server重启后,或者当当前使用的文件达到最大值时,最旧的文件被删除,在忙碌的生产环境,这样的循环缓存会在几分钟内被循环覆盖. 注意: 后续版本的 Microsof

SQL Server 默认跟踪 -- 捕获事件详解

SQL Server 默认跟踪 -- 捕获事件详解 哪些具体事件默认跟踪文件能够捕获到? --returns full list of events SELECT * FROM sys.trace_events --returns a full list of categories SELECT * FROM sys.trace_categories --returns a full list of subclass values SELECT * FROM sys.trace_subclass

SQL Server 默认跟踪应用3 -- 检测对表的DDL操作

SQL Server 默认跟踪应用3 -- 检测对表的DDL操作 在SQL Server数据库上发生的DDL操作,能知道是谁做的么? 是的.SQL Server默认跟踪有对象修改事件. 这个脚本列出所有的对象修改事件.查询条件中加上时间和数据库名的限制. select e.name as eventclass, t.loginname, t.spid, t.starttime, t.textdata, t.objectid, t.objectname, t.databasename, t.hos