前言
SQL Server 查詢分析器的單步除錯功能對預存程序開發至關重要,但預設情況下需要特定的服務帳戶與 DCOM 權限設定才能正常運作。本文提供完整設定步驟。
核心前提條件
- SQL Server 服務需以**本機系統管理員帳戶**執行(如 Administrator)
- 用戶端與伺服器需具備**相同帳戶名稱與密碼**的使用者
- 需啟用 DCOM 遠端除錯權限
詳細設定步驟
步驟 1:設定 SQL Server 驗證模式
- 企業管理器 → 右鍵 SQL Server 實例 → 內容
- 安全性頁籤 → 選擇 SQL Server 和 Windows 混合模式
步驟 2:變更 SQL Server 服務啟動帳戶
- 控制台 → 管理工具 → 服務
- 找到 MSSQLSERVER 服務 → 右鍵內容
- 登入頁籤 → 選擇 此帳戶 → 輸入本機管理員帳戶(如 Administrator)與密碼
- 確定並**重新啟動 SQL Server 服務**
步驟 3:驗證本機除錯
此時伺服器本機的 Administrator 帳戶,若密碼與用戶端相同,即可透過查詢分析器進行除錯。
步驟 4:允許其他帳戶除錯(DCOM 設定)
- 伺服器上執行
dcomcnfg.exe
- 元件服務 → 電腦 → 我的電腦 → 右鍵內容
- 預設安全性 → 預設存取權限 → 編輯預設值
- 加入允許除錯的帳戶類型(如 Users 群組)
- 重新啟動 SQL Server 服務
步驟 5:用戶端建立對應帳戶
在用戶端電腦建立與伺服器**相同帳號密碼**的使用者(如 sample),加入 Users 群組。
關鍵注意事項
⚠️ 密碼變更規則: 變更服務啟動帳戶密碼後,必須在首次登入前變更使用者密碼,否則事件日誌會記錄:「以目前密碼登入的嘗試因下列錯誤將宣告失敗:在第一次登入之前,必須更改使用者密碼。」
故障排除
| 現象 | 可能原因 | 解決方向 |
|------|----------|----------|
| 除錯器無法連接 | 服務帳戶非管理員 | 步驟 2 重新設定 |
| 權限被拒 | DCOM 未授權 | 步驟 4 檢查 Users 群組 |
| 帳戶鎖定 | 密碼不一致 | 確認雙端帳號密碼完全相同 |
| 服務無法啟動 | 帳戶權限不足 | 確認帳戶為本機管理員 |
總結
查詢分析器單步除錯需滿足「服務以管理員執行 + 雙端同帳號密碼 + DCOM 授權」三大條件。設定完成後,開發人員即可在查詢分析器中設定中斷點、單步執行、檢視變數值,大幅提升預存程序開發效率。