前言
Visual Studio 專業版與 Team System 支援對 SQL Server Stored Procedure 設中斷點偵錯。本文介紹三種偵錯模式、限制條件、遠端實例設定與功能限制。
三種偵錯模式
- 直接資料庫偵錯 (Direct Database Debugging - DDD):在 Server Explorer 中開啟 Stored Procedure 設中斷點,直接按 Step Into Stored Procedure 執行測試。
- 應用程式偵錯:在 SP 設中斷點 → 執行 ASP.NET 應用程式 → 觸發呼叫 SP 的功能 → VS 偵錯器中斷於 SP 代碼。注意:無法從應用程式代碼直接 Step Into SP,必須在 SP 內預設中斷點。
- SQL Server 專案偵錯:針對 SQL Server 專案內的 Managed Database Objects 偵錯(後續教程涵蓋)。
前置條件與限制
- 僅限 Professional / Team System 版本,Standard / VWD 無此功能。
- 本地實例較簡單;遠端實例需:同一 Windows 帳戶登入、Sysadmin 角色、設定遠端偵錯權限、防火牆開放 135/139/445 埠。
- 功能限制:不支援條件中斷點、編輯後繼續、完整偵錯視窗(參考 MSDN Limitations)。
實作步驟:直接資料庫偵錯 (DDD)
- 開啟 Server Explorer → 展開資料庫 → Stored Procedures。
- 右鍵目標 SP → Open → 在代碼編輯器設中斷點 (F9)。
- 右鍵 SP → Step Into Stored Procedure → 輸入參數 → 開始偵錯。
- 使用 Watch、Locals、Call Stack 視窗觀察變數。
結語
Stored Procedure 偵錯能力是資料庫開發關鍵生產力工具,雖功能不如應用程式偵錯完整,但能有效排查 T-SQL 邏輯錯誤、效能瓶頸。遠端偵錯需額外環境配置,建議優先在本地開發機驗證。