我有使用ADO連接調用SQL Server數據庫存儲過程的Visual Studio .Net項目。調試SQL Server 2008
可以在存儲過程中設置斷點並對其進行調試。我安裝了本地SQL Server 和SQL企業版。
我有使用ADO連接調用SQL Server數據庫存儲過程的Visual Studio .Net項目。調試SQL Server 2008
可以在存儲過程中設置斷點並對其進行調試。我安裝了本地SQL Server 和SQL企業版。
據我所知,如果你是在談論一個實際的T-SQL存儲過程,你最好的選擇將是:
問題是當一個SP不應該被調用時。 我需要'趕上'是誰叫它 – 2009-12-08 20:03:46
啊,是的,你可以在你的代碼中放置一個斷點並且這樣做。你有一個想法* *代碼中的*號可能來自哪裏?如果沒有,你可能需要做很多F10的工作,但最終你會發現它。這可能有助於保持SQL Server Profiler的正常運行。 – peacedog 2009-12-08 20:06:16
當然,我知道這種方式。但我的問題是,如果在SQL服務器中有調試模式,我可以使用SSMS放置斷點,並等待某個應用程序觸發它 – 2009-12-09 12:29:03
我聽說有幾個選項用於調試存儲過程,例如:直接數據庫調試。
這裏是一個很好的文章,我發現解釋其中的一些鏈接:Stored Proc Debugging Methods
您可以從VS調試CLR過程和函數,見Debugging SQL
的Transact-SQL是一個不同的故事,它需要特殊的配置步驟,並可以使用特殊工具進行調試,請參閱Using the Transact-SQL Debugger。
使用SQL Server Profiler(在SQL Server Management Studio中的「工具」菜單下)查看從ADO發送到數據庫過程的確切調用。然後,您可以找出問題所在,並開始調試,無論是在SSMS還是Visual Studio中。
我強烈建議你看看SQL管理工作室內置的工具。
我寫了一個非常詳細的博客文章在這裏:
基本上它的要點是,你輸入你的SQL查詢來執行存儲過程,而不是按F5或打感嘆號,你點擊播放按鈕,並使用F10和F11步進,並進入你的存儲過程。
非常非常方便 - 沒有人似乎使用它。
你說的是調試實際存儲過程本身嗎?並且是存儲過程託管代碼或TSQL? – 2009-12-08 19:56:51
2代理 我認爲這是TSQL。它存儲在數據庫端 ALTER過程[aaa]。[my_Proc] 開始 ... – 2009-12-08 20:02:24