偵錯使用 Managed 程式碼的資料庫物件 (SQL CLR 偵錯)
這個主題適用於:
版本 |
Visual Basic |
C# |
C++ |
Web Developer |
---|---|---|---|---|
Express |
||||
Standard 版 |
||||
Pro/Team 版 |
表格圖例:
適用 |
|
不適用 |
|
預設隱藏的命令。 |
本節包含所有 SQL Server Common Language Runtime (SQL CLR) 資料庫物件型別的範例。
有三種不同的案例要考慮:
使用 [伺服器總管] 逐步執行 SQL Server 2005 資料庫物件。 如需詳細資訊,請參閱How to: Step into an Object Using Server Explorer。
使用 Visual Studio 2005 SQL Server 專案來執行測試指令碼。
執行呼叫預存程序的應用程式。 如需詳細資訊,請參閱HOW TO:偵錯 SQL CLR 預存程序。
若要偵錯觸發程序,您必須在預存程序中啟動偵錯工作階段。 特別的是,您無法偵錯獨立 Transact-SQL 指令碼,也不能藉由叫用指令碼引發觸發程序以便進行偵錯。
資料庫層軟體需求
SQL CLR 偵錯需要在伺服器上具有下列額外軟體:
- 在偵錯時必須執行遠端偵錯監視 (msvsmon)。 如果您是執行 SQL Server 2005,則用來安裝 msvsmon 的安裝程式已經在伺服器上,位於 <sql server install dir>\90\Shared\rdbgsetup.exe。 執行這個程式以便安裝,當您逐步執行或叫用中斷點時,SQL Server 將會啟動它。
疑難排解 SQL CLR 偵錯的問題
當您嘗試偵錯 SQL CLR 物件時,如果出現「已由使用者取消」訊息,就必須手動設定用來執行 Visual Studio 的電腦以及正在執行 SQL Server 的電腦。 如需詳細資訊,請參閱HOW TO:設定您的電腦以啟用 Transact-SQL 和 SQL CLR 偵錯。
一般工作
一般工作 |
支援內容 |
---|---|
瞭解更多有關 SQL CLR 資料庫專案:閱讀有關發展的優勢。.NET 框架資料庫物件的SQL Server使用託管的代碼。 相較於 Transact-SQL,Managed 程式碼有多個優勢。 |
|
在調試之前,請執行必要的安裝:有您必須啟用 SQL CLR 調試的步驟。 此外,您可以找到一些常見問題和解決方法的相關資訊。 |
|
調試 SQL CLR 物件的不同類型:按照相應的程式,若要瞭解如何調試存儲的過程、 觸發器、 使用者定義的標量函數、 使用者定義的表值函數、 使用者定義的彙總函式和通過使用託管的代碼創建的使用者定義的類型。 |
在設定 SQL 偵錯後升級 SQL Server 版本
如果您在完成設定之後,又安裝新版,就必須重新執行 [遠端元件安裝],以確定您安裝了可進行遠端偵錯的正確元件。 如需詳細資訊,請參閱 HOW TO:設定遠端偵錯和遠端偵錯元件。
SQL 找不到 SSDEBUGPS
當您嘗試啟動 SQL 調試時,您可能會收到以下錯誤消息:SQL 找不到 SSDEBUGPS。
若要解決這個問題,您必須重新執行遠端偵錯元件。 如需詳細資訊,請參閱HOW TO:設定遠端偵錯。
無法附加至沒有回應的處理序。所指定的程式不是 Windows 或 MS-DOS 程式。
當您嘗試調試 SQL CLR 物件時,可能會出現以下錯誤消息:無法附加至損毀的處理序。 所指定的程式不是 Windows 或 MS-DOS 程式。
如果 SQL Server 是設定成以 LocalSystem 或已登入使用者以外的帳戶來執行,當您手動啟動遠端偵錯監視 (msvsmon) 時,就會發生這個錯誤。
若要更正這個錯誤,您必須讓 SQL Server 自動啟動遠端偵錯監視,而不要手動啟動此功能。
相關主題
標題 |
說明 |
---|---|
調試 TRANSACT-SQL(Microsoft Web 網站) |
描述如何偵錯資料庫物件,例如預存程序、函式和觸發程序。 |