搜尋
首頁資料庫mysql教程自动化收集SQLSERVER诊断信息

自动化收集SQLSERVER诊断信息

Jun 07, 2016 pm 03:44 PM
sqlserver資訊收集自動化診斷

自动化收集SQLSERVER诊断信息 相信很多人都遇到过当SQLSERVER出现问题的时候,而你又解决不了需要DBA或者微软售后支持工程师 去帮忙解决问题,那么他们一般需要你收集一些系统信息和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窗口,按回车键就可以启动了,详细步骤看下图

自动化收集SQLSERVER诊断信息

 

 当出现SQLDIAG Collection started.  Press Ctrl+C to stop. 信息以后就按Crtl+C,终止这个工具的执行。

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

 自动化收集SQLSERVER诊断信息

自动化收集SQLSERVER诊断信息

 使用默认配置(即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

 自动化收集SQLSERVER诊断信息

 

运行的过程中能够看到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做配置文件),在加上一些

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

 

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
MySQL的許可與其他數據庫系統相比如何?MySQL的許可與其他數據庫系統相比如何?Apr 25, 2025 am 12:26 AM

MySQL使用的是GPL許可證。 1)GPL許可證允許自由使用、修改和分發MySQL,但修改後的分發需遵循GPL。 2)商業許可證可避免公開修改,適合需要保密的商業應用。

您什麼時候選擇InnoDB而不是Myisam,反之亦然?您什麼時候選擇InnoDB而不是Myisam,反之亦然?Apr 25, 2025 am 12:22 AM

選擇InnoDB而不是MyISAM的情況包括:1)需要事務支持,2)高並發環境,3)需要高數據一致性;反之,選擇MyISAM的情況包括:1)主要是讀操作,2)不需要事務支持。 InnoDB適合需要高數據一致性和事務處理的應用,如電商平台,而MyISAM適合讀密集型且無需事務的應用,如博客系統。

在MySQL中解釋外鍵的目的。在MySQL中解釋外鍵的目的。Apr 25, 2025 am 12:17 AM

在MySQL中,外鍵的作用是建立表與表之間的關係,確保數據的一致性和完整性。外鍵通過引用完整性檢查和級聯操作維護數據的有效性,使用時需注意性能優化和避免常見錯誤。

MySQL中有哪些不同類型的索引?MySQL中有哪些不同類型的索引?Apr 25, 2025 am 12:12 AM

MySQL中有四種主要的索引類型:B-Tree索引、哈希索引、全文索引和空間索引。 1.B-Tree索引適用於範圍查詢、排序和分組,適合在employees表的name列上創建。 2.哈希索引適用於等值查詢,適合在MEMORY存儲引擎的hash_table表的id列上創建。 3.全文索引用於文本搜索,適合在articles表的content列上創建。 4.空間索引用於地理空間查詢,適合在locations表的geom列上創建。

您如何在MySQL中創建索引?您如何在MySQL中創建索引?Apr 25, 2025 am 12:06 AM

toCreateAnIndexinMysql,usethecReateIndexStatement.1)forasingLecolumn,使用“ createIndexIdx_lastNameEnemployees(lastName); 2)foracompositeIndex,使用“ createIndexIndexIndexIndexIndexDx_nameOmplayees(lastName,firstName,firstName);” 3)forauniqe instex,creationexexexexex,

MySQL與Sqlite有何不同?MySQL與Sqlite有何不同?Apr 24, 2025 am 12:12 AM

MySQL和SQLite的主要區別在於設計理念和使用場景:1.MySQL適用於大型應用和企業級解決方案,支持高性能和高並發;2.SQLite適合移動應用和桌面軟件,輕量級且易於嵌入。

MySQL中的索引是什麼?它們如何提高性能?MySQL中的索引是什麼?它們如何提高性能?Apr 24, 2025 am 12:09 AM

MySQL中的索引是數據庫表中一列或多列的有序結構,用於加速數據檢索。 1)索引通過減少掃描數據量提升查詢速度。 2)B-Tree索引利用平衡樹結構,適合範圍查詢和排序。 3)創建索引使用CREATEINDEX語句,如CREATEINDEXidx_customer_idONorders(customer_id)。 4)複合索引可優化多列查詢,如CREATEINDEXidx_customer_orderONorders(customer_id,order_date)。 5)使用EXPLAIN分析查詢計劃,避

說明如何使用MySQL中的交易來確保數據一致性。說明如何使用MySQL中的交易來確保數據一致性。Apr 24, 2025 am 12:09 AM

在MySQL中使用事務可以確保數據一致性。 1)通過STARTTRANSACTION開始事務,執行SQL操作後用COMMIT提交或ROLLBACK回滾。 2)使用SAVEPOINT可以設置保存點,允許部分回滾。 3)性能優化建議包括縮短事務時間、避免大規模查詢和合理使用隔離級別。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強大的PHP整合開發環境

SublimeText3 英文版

SublimeText3 英文版

推薦:為Win版本,支援程式碼提示!

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

將Eclipse與SAP NetWeaver應用伺服器整合。

WebStorm Mac版

WebStorm Mac版

好用的JavaScript開發工具