摘要
描述了如何使用Microsoft Visual InterDev的SQL調試器來清除Microsoft SQL Server儲存過程中的錯誤
使用Visual InterDev清除儲存過程和觸發器中的錯誤
如果您正在使用Microsoft Visual Studio企業版
Visual InterDev包含有一個SQL調試器
您可以使用它象處理其他腳本或程序一樣
清除SQL Server儲存過程和觸發器中的錯誤
但是
關於如何設定SQL調試以及調試器如何執行則有些不同
對SQL調試進行設置
進行SQL設置的相關軟件需求
您必須要有Visual Studio企業版
您必須要執行SQL Server
包含Server Pack
或更高版本
我們建議使用
版
SQL Server必須要在Microsoft Windows NT
或更高的版本上執行
您的工作站必須要執行Windows
Windows
Windows NT
或更高版本
要使用SQL調試
您必須對服務器和工作站進行適當的設置
您應該
確定已經在SQL Server中安裝了SQL調試組件
建立一個在執行SQL Server計算機上有管理權限的Windows NT用戶
在服務器上設置分布式組件對象模型(DCOM)
以供SQL調試使用
確定客戶端的DCOM設定支持SQL調試(只適用於Windows
工作站)
安裝SQL服務器調試組件
SQL調試需要您安裝在您的SQL Server的組件
這些組件是Visual Studio Enterprise版本的一部份
安裝SQL調試組件
在安裝SQL Server的計算機上
啟動Visual Studio企業版的設置程序
安裝向導根據是否已在計算機上安裝服務器組件顯示不同的選項
如果服務器已經安裝
在新增/刪除選項中
選擇服務器應用程序及工具
如果沒有安裝其它的組件
選擇下一步直到到達提供企業設置選項的頁面
選擇服務器應用程序和工具
如果沒有安裝其它組件
選擇下一步直到到達提供企業設置選項的頁面
選擇服務器應用程序和工具
在下一個頁面中
選擇啟動BackOffice安裝向導
然後選擇安裝
當顯示BackOffice商業方案向導時
選擇自定義安裝
然後選擇下一步
繼續按下一步直到看到提供一個安裝組件清單的頁面
除了以下組件之外
清除其余的組件
SQL服務器調試
MS數據訪問組件
Visual InterDev服務器
按下安裝
設置一個調試用戶
要使用SQL調試
您必須提供一個在執行SQL Server的計算機上有管理權限的Windows NT用戶的帳號和密碼
設置一個用戶以供SQL調試使用
在服務器的Windows控制台中
選擇設置一個調試用戶
然後選擇服務
選擇MSSQL
然後選擇啟動
選定登錄帳號為設定值
如果這個選項設置為系統帳號
將之改為這個帳號
以域\帳號的形式輸入擁有管理權限的用戶的正確域和用戶帳號
如果已經改變了這個設定值
重新啟動SQL服務器
設置DCOM以供SQL調試使用
如果可以的話
請在機器中保留一份本機副本
那麼就可以不需要使用DCOM來執行跨機器調試
SQL調試使用分布式組件對象模型(DCOM)
以便在您的客戶端計算機和數據庫服務器之間通信
因此必須設定DCOM以便讓遠程用戶在調試器上附加一個處理程序
默認情況下
在服務器上安裝SQL Server時就會設置正確的DCOM設定值
但是
出於對執行SQL Server計算機的安全性的考慮
您可能要限制對調試的訪問
要在服務器上設定DCOM以供SQL調試使用
從服務器的Windows開始菜單
選擇運行
然後在打開方框的提示符中鍵入Dcomcnfg
exe
在分布式組件對象模型(Distributed COM)設置內容窗口中
選擇預設安全性頁面
在預設存取權限下選擇編輯預設
如果組Everyone尚未擁有權限
選擇添加
然後以域\帳號的形式添加一個擁有管理權限的用戶的域和用戶帳號
在添加了這個帳號後
檢查SYSTEM
如果它還未出現在清單上
使用添加名稱和組對話框中的選取清單添加
如果已經對這個過程中描述的任何選項做了修改
重新啟動SQL Server
注意: 如果希望將帳號添加到遠程服務器
而這個帳號不能執行調試
則可能該帳號的用戶正在服務器計算機上執行Visual InterDev
執行SQL調試
與清除其它種類程序的錯誤不同
不能清除儲存過程或對正在執行的觸發器程序
您可以在編輯器中打開這個過程
從那裡清除錯誤
在數據檢查窗口中
在儲存過程上按右鍵
然後選擇調試
編輯器會在其窗口內打開儲存過程
然後在調試菜單選擇調試命令
在以調試模式打開編輯器窗口後
您可以像平常一樣使用調試器指針
例如
您可以在本機窗口設定斷點和逐步執行過程
您可以查看變量的數值
您還可以將表達式拖到Watch窗口以便在逐步執行指令或執行程序使用
SQL PRINT的結果顯示在輸出窗口中
但是
SQL調試器與腳本使用的調試器有以下的不同
Auto和Immediate窗口在對儲存過程調試時是沒有作用的
雖然您可以顯示它們
Auto窗口將變成空的
並且Immediate窗口將不會允許您輸入表達式
您可以改變執行順序
以便使用設置下一個語句指定
如果您正在使用簡單的SELECT語句 ─ 那些只會返回單一數值 ─ 返回的數值是一個可以在本機窗口查看的變量
然而
如果SELECT語句傳回一個結果集
在調試器中就不會顯示出來
此外
您可以在輸出窗口查看結果集
From:http://tw.wingwit.com/Article/program/SQLServer/201311/21980.html