Visual Studio 6.0 企業版:SQL 偵錯器環境建置與操作全流程
適用於 SQL Server 6.5 SP2+ / 7.0 / 2000,Windows NT 4.0+ 伺服器,Windows 95/98/NT 4.0+ 用戶端。
先決條件與安裝
- 伺服器端安裝偵錯元件:
Visual Studio 企業版安裝程式 → 新增/移除 → 伺服器應用程式與工具 → 啟動 BackOffice 安裝精靈 → 自訂安裝 → 僅勾選:
SQL Server 偵錯、MDAC、Visual InterDev 伺服器。
- 建立偵錯用戶帳號 (網域帳號,本機管理員):
服務器控制台 → 服務 → MSSQLServer → 啟動參數 → 此帳號 → 輸入 DOMAIN\DebugUser → 重啟 SQL Server 服務。
- 設定 DCOM 權限 (伺服器端):
DCOMCNFG → 預設安全性 → 編輯預設存取權限 → 加入 Everyone 或偵錯用戶帳號、SYSTEM → 重啟 SQL Server。
- 用戶端 DCOM 設定 (Win 95/98):
DCOMCNFG → 預設安全性 → 啟用「存取權限」編輯,加入偵錯用戶。
偵錯操作流程
- Visual InterDev 專案 → 資料檢視 → 展開伺服器 → 預存程序。
- 右鍵目標預存程序 → 偵錯 (Debug)。
- 編輯器開啟程式碼,進入偵錯模式 (黃色箭頭指示當前陳述式)。
- 操作:中斷點 (F9)、逐行 (F11)、逐過 (F10)、變數視窗、監看視窗、輸出視窗 (顯示 PRINT 結果)。
- 可拖曳運算式至監看視窗,修改變數值 (即時視窗無效)。
與腳本偵錯器的關鍵差異
- 自動/即時視窗無效:自動視窗空白,即時視窗不接受輸入。
- 可變更執行順序:右鍵指令 → 「設定下一個陳述式」。
- 結果集顯示限制:單值
SELECT @var = ... 顯示於區域變數視窗;結果集 (多列/多行) 僅在輸出視窗顯示,不在變數視窗。
常見問題排查
- 無法附加:檢查 DCOM 權限、偵錯用戶是否為本機管理員、防火牆阻擋 RPC (135) / 動態埠。
- 中斷點不生效:確認 PDB 符號檔案存在、程式碼與資料庫版本一致、未優化編譯 (預存程序無優化選項)。
- 跨機器偵錯:用戶端與伺服器需同網域或信任關係,DNS 解析正確。
歷史註記:Visual InterDev 6.0 為經典 ASP 時代工具。SQL Server 2005+ 整合至 Visual Studio (SSDT) 提供原生 T-SQL 偵錯,功能更強大 (IntelliSense、單元測試、靜態分析),請遷移至現代工具鏈。