適用於:SQL Server
總結
Microsoft SQL Server 混合式的產品支援會使用疑難解答工具來協助客戶收集記錄並縮小技術問題的範圍。 這些工具可供公開使用。 本文摘要說明 SQL Server 產品支援工程師所使用的診斷工具。 本文詳細說明各種疑難解答案例,並顯示對應的記錄收集與記錄分析工具。
SQL Server 的診斷工具
| 情境 | 要收集的基本記錄 | 收集記錄的工具 | 用來分析記錄的工具 |
|---|---|---|---|
| 可用性群組 | - 叢集記錄 - 事件記錄檔 - 系統監視器(效能監視器記錄) - SQL Server 錯誤記錄檔 - SQLDIAG XEL 檔案 - AlwaysOn 健康情況會話 XEL 檔案 - 系統健康狀況會話 XEL 檔案 - AG 資料移動的擴展事件 - AG 的 DMV 和目錄檢視快照集 |
Windows: - 優先:SQL LogScout 使用 情境 "AlwaysOn"。 - 替代方案: TSSv2 使用場景「SQL Base」。 - 替代方案: PSSDIAG 使用自訂診斷「AlwaysOn 基本資訊」。 Linux: - SQL LogScout Linux 請使用「scenario_static.scn」。 |
- 優先: AGDiag 要使用的案例:分析故障轉移和失敗。 - 替代方案: SQL Nexus 要使用的案例:效能、延遲、健康情況和最佳做法。 |
| 效能變慢 | - 擴展事件(XEvent)追蹤會捕捉批次層級的啟動/完成事件、錯誤和警告、日誌擴展/縮減、鎖定升級和逾時、死鎖、登入/登出 - 主動執行 SQL 追蹤和 Xevents 的清單 - 追蹤等候/封鎖和高CPU查詢的SQL DMV 快照集 - 查詢數據存儲資訊(如果它是啟用狀態) - tempdb SQL DMV/系統檢視中的爭用資訊- 連結的伺服器元資料 (SQL DMV/系統檢視) - Service Broker 組態資訊 (SQL DMV/系統檢視) |
Windows: - 優先:SQL LogScout 使用情境 “GeneralPerf”、“DetailedPerf” 或 “LightPerf”。 - 替代方案: PSSDIAG 使用「一般效能」、「詳細效能」或「輕效能」案例。 Linux: - SQL LogScout Linux 請使用「scenario_sql_perf_general.scn」、「scenario_sql_perf_detailed.scn」或「scenario_sql_perf_lite.scn」。 |
- 優先: SQL Nexus 要使用的案例:效能分析、最佳做法建議、瓶頸分析、封鎖和熱門查詢。 - 替代方案: RML 公用事業 要使用的案例:查詢分析,以瞭解最耗用資源的查詢。 |
| 連線 | - BID 追蹤/驅動程式追蹤 - 網路追蹤 - 驗證追蹤 - SQL Server 錯誤記錄檔 - Windows 事件記錄檔 NETSTAT 和 TASKLIST 的快照集 |
Windows: - 優先: SQL Trace 在 INI 檔案中設定集合設定。 - 替代方案:SQL LogScout 使用 情境 「NetworkTrace」。 - 替代方案: SSPICLIENT 當遇到 SSPI 或 Kerberos 錯誤時,請使用此工具來記錄詳細追蹤以供分析。 Linux: - SQL LogScout Linux 請使用「scenario_static.scn」。 - logger.ini (新增 [Logger:security.kerberos] 與 [Logger:security.ldap] 分段)。- tcpdump (Linux 網路封包擷取)。 |
- 偏好: SQL Network Analyzer 使用者介面 SQL 網路分析器 使用情境:讀取網路封包擷取檔案,並產生報告以突顯潛在的重點區域。 - 替代方案: SQLCHECK 報告任何可能影響連線的設定。 - 替代方案: SQLBENCH 顯示比較分析的時間。 - 替代方案: DBTEST 記錄連接所需的時間,以及執行命令所需的時間。 |
| 複製 | - SQL Server 錯誤記錄檔 - 複寫、CDC、CT 診斷資訊(SQL DMV/系統檢視) |
Windows: - 優先:SQL LogScout 使用數據收集 情境 「複寫」。 - 替代方案: PSSDIAG 使用自訂診斷工具來進行「複寫」。 Linux: - SQL LogScout Linux 請使用「scenario_static.scn」。 |
- 優先: SQL Nexus 要使用的案例:復寫報告、效能分析、最佳做法建議、瓶頸分析、封鎖和頂級查詢。 |
| 安裝/設定 | - 設定包含所有安裝日誌的 Bootstrap 資料夾 | - 優先:SQL LogScout 使用數據收集 情境「設定」。 |
|
| 備份/還原 | - 備份/還原進度 Xevent (backup_restore_progress_trace) - 備份還原進度的追蹤標誌 - SQL VSS 寫入器記錄檔 (在 SQL Server 2019 和更新版本上) - 針對 VSS 備份相關場景的 VSS Admin(OS)日誌 - 效能監視器 |
Windows: - 優先:SQL LogScout 使用數據收集 情境 "BackupRestore"。 Linux: - SQL LogScout Linux 請使用「scenario_static.scn」。 |
|
| 記憶體使用量 | - 記憶體管理者 DMV 或 DBCC MEMORYSTATUS - 效能監視器 |
Windows: - 優先:SQL LogScout 使用數據收集 案例 「記憶體」。 Linux: - SQL LogScout Linux 請使用「scenario_sql_perf_general.scn」。 |
- 優先: SQL Nexus 適用情境:匯入記憶體輸出並在 Memory Brokers 上檢視。 |
| 記憶體傾印 | - 針對特定故障排除情境擷取的手動記憶體傾印 - 針對例外狀況案例自動產生記憶體轉儲 |
Windows: - 優先:SQL LogScout 使用數據收集 情境 「DumpMemory」。 - 替代方案: SQLDumper - 替代方案: TSS V2 使用案例 「SQL Base」 來收集現有的記憶體轉儲。 Linux: - SQL LogScout Linux 請使用「scenario_static.scn」。 |
- 優先:WinDbg(Windows除錯工具) 使用情境:載入與分析 記憶體轉儲。 - 替代方案: SQL CallStack 解析器 |
| 資料庫損毀 | - DBCC 檢查資料庫 | ||
| SQL I/O 模式壓力模擬 |
Windows: - SQLIOSim Linux: - SQLIOSim for Linux |