Frequently Asked Questions for PSSDiag Collection (PSSDiag收集常見問題)

Frequently Asked Questions for PSSDiag Collection (PSSDiag收集常見問題)


Q1.如果你的SQL Server是在Windows 2016環境,請先安裝.NET Framework 3.5 (include .NET 2.0 and 3.0),不然會出現錯誤,無法收集

Q2.如果出現這個錯誤 SQLDIAG There are no instances of version 13 on this computer

Possible Cause: 錯誤的pssdiag.zip檔。(version 13=SQL2016, version 12=SQL2014, version 11=SQL2012)

Answer 2:下載正確SQL版本的pssdiag.zip檔

Answer 3 :如果你的下載的版本正確

解法1:

修改pssdiag收集設定檔 F:\pssdiag\pssdiag.xml,

找到<Instance name="*" user="" windowsauth="true" ssver="13">

把ssver="13"改成ssver="*" ,並且要指定Instance

<Instance name="MSSQLServer" user="" windowsauth="true" ssver="*">

解法2

到以下機碼找到版本號碼

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQLServer\CurrentVersion  

修改pssdiag收集設定檔 F:\pssdiag\pssdiag.xml,

找到<Instance name="*" user="" windowsauth="true" ssver="13">

把ssver="13"改成你找到的版本號碼,例如 ssver="13.2"

Answer 4 :如果SQL Server是failover Cluster instance,

Machine name="." 要改成virtual server name (也就是SQL Cluster的Network Name)
Instance name="*"要改成instance name. 如果是 default instance則輸入MSSQLSERVER

 

Q3.如果出現這個錯誤 SQLDIAG There are no instance named as SQLEXPRESS

表示pssdiag收集設定檔 F:\pssdiag\pssdiag.xml 裡面指定的Instance name不存在。

A:修改pssdiag收集設定檔 F:\pssdiag\pssdiag.xml ,改成正確的SQL Server instance name

 

 

Q4.如果出現這個錯誤 Unable to find SQL Server client tools such as sqldiag.exe from this machine. Data collection will fail.

如果指定ssver

<Instance name="*" user="" windowsauth="true" ssver="13.2">

則會出現此錯誤,然後停止收集

Answer: 指定instance name

<Instance name="MSSQLServer" user="" windowsauth="true" ssver="13.2">

此時一樣會跳出錯誤,但是,最後還是回開始收集。

 

若要解決不要一直跳出錯誤,workaround是修改pssdiag.cmd,直接指定SQL版本與sqldiag.exe的目錄

for /F "tokens=1,2 delims==~" %%i IN ('diagutil.exe') DO set sqlver=%%i
for /F "tokens=1,2 delims==~" %%i IN ('diagutil.exe') DO set toolsbin=%%j

改成

set sqlver=13
set toolsbin=C:\Program Files\Microsoft SQL Server\130\Tools\Binn\

 

Q5.收集的log size大約多大?

以下面條件範例

(1)收集一個非常輕量負載的SQL 2016 Express instance

(2)PSSDiag勾選所有Performance選項,勾選SQL Trace,也就會同時收集xel與trc

收集5分鐘大約200MB (trc檔約80MB, xel檔約90MB)

 

Reference:

SQLDIAG: There are no instances of version 10 on this computer

https://blogs.msdn.microsoft.com/sqlserverfaq/2011/04/05/sqldiag-there-are-no-instances-of-version-10-on-this-computer