SQL Server 2008存儲過程調(diào)試的設(shè)置詳解
SQL Server 2008存儲過程調(diào)試的相關(guān)知識是本文我們主要要介紹的內(nèi)容,接下來我們就來分別介紹一下SSMS中的調(diào)試以及在VS中的調(diào)試的設(shè)置,希望能夠?qū)δ兴鶐椭?/p>
1.在SQL Server 2008中調(diào)試存儲過程
SQL Server 2008的SSMS是支持單步debug的,但是在調(diào)試之前必須配置權(quán)限。
如果 SQL Server Management Studio 與 SQL Server 數(shù)據(jù)庫引擎實(shí)例在同一臺計(jì)算機(jī)上運(yùn)行,則對于運(yùn)行 Transact-SQL 調(diào)試器沒有配置要求。但是,當(dāng) SQL Server Management Studio 與數(shù)據(jù)庫引擎實(shí)例在不同計(jì)算機(jī)上運(yùn)行時(shí),若要運(yùn)行 Transact-SQL 調(diào)試器,則必須在兩臺計(jì)算機(jī)上使用“Windows 防火墻”控制面板應(yīng)用程序來啟用程序和端口例外。
在運(yùn)行數(shù)據(jù)庫引擎實(shí)例的計(jì)算機(jī)上,在“Windows 防火墻”中指定以下信息:
將TCP端口135添加到例外列表。
將程序sqlservr.exe添加到例外列表。默認(rèn)情況下,sqlservr.exe 安裝在 C:\Program Files\Microsoft SQL Server\MSSQL10.實(shí)例名稱\MSSQL\Binn 下,其中,實(shí)例名稱對于默認(rèn)實(shí)例為 MSSQLSERVER,對于任何指定的實(shí)例則為相應(yīng)實(shí)例的名稱。
如果域策略要求通過 IPSec 進(jìn)行網(wǎng)絡(luò)通信,還必須將 UDP 端口 4500 和 UDP 端口 500 添加到例外列表。
在運(yùn)行 SQL Server Management Studio 的計(jì)算機(jī)上,在“Windows 防火墻”中指定以下信息:
將TCP端口135添加到例外列表。
將程序ssms.exe (SQL Server Management Studio) 添加到例外列表。默認(rèn)情況下,ssms.exe 安裝在 C:\Program Files\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE 下。
啟動Transact-SQL 調(diào)試器的要求如下:
我們建議在測試服務(wù)器上調(diào)試 Transact-SQL 代碼,而不要在生產(chǎn)服務(wù)器上調(diào)試,原因如下:
啟動 Transact-SQL 調(diào)試器可將查詢編輯器窗口置于調(diào)試模式。在查詢編輯器窗口進(jìn)入調(diào)試模式時(shí),調(diào)試器會在第一個(gè)代碼行處暫停。然后,您可以單步執(zhí)行代碼,在特定 Transact-SQL 語句上暫停執(zhí)行,并使用調(diào)試器窗口來查看當(dāng)前執(zhí)行狀態(tài)??梢酝ㄟ^在“查詢”工具欄上單擊“調(diào)試”按鈕,或在“調(diào)試”菜單上單擊“啟動調(diào)試”來啟動調(diào)試器。
查詢編輯器窗口會保持在調(diào)試模式下,直到查詢編輯器窗口中的最后一個(gè)語句完成或您停止調(diào)試模式??梢允褂靡韵氯魏我环N方法來停止調(diào)試模式和語句執(zhí)行:
也可在“調(diào)試”菜單上單擊“全部分離”,以停止調(diào)試模式,但允許剩余的 Transact-SQL 語句完成執(zhí)行。
SQL Server Management Studio必須在作為sysadmin固定服務(wù)器角色成員的Windows帳戶下運(yùn)行。
數(shù)據(jù)庫引擎查詢編輯器窗口必須使用Windows身份驗(yàn)證來連接,或使用作為sysadmin固定服務(wù)器角色成員的SQL Server身份驗(yàn)證登錄名來連接。
數(shù)據(jù)庫引擎查詢編輯器窗口必須連接到SQL Server 2008數(shù)據(jù)庫引擎的實(shí)例。如果查詢編輯器窗口連接到處于單用戶模式下的實(shí)例,您將無法運(yùn)行調(diào)試器。
調(diào)試是一項(xiàng)需要高特權(quán)的操作。因此只允許sysadmin固定服務(wù)器角色成員在SQL Server中進(jìn)行調(diào)試。
當(dāng)您調(diào)查多個(gè)Transact-SQL語句的運(yùn)行時(shí),調(diào)試會話通常會運(yùn)行很長時(shí)間。會話獲取的鎖(如更新鎖)可能會持有很長時(shí)間,直到終止會話或者提交或回滾事務(wù)。
在“調(diào)試”菜單中,單擊“停止調(diào)試”。
在“調(diào)試”工具欄上,單擊“停止調(diào)試”按鈕。
在“查詢”菜單上,單擊“取消執(zhí)行查詢”。
在“查詢”工具欄上,單擊“取消執(zhí)行查詢”按鈕。
2.在Visual Studio中調(diào)試存儲過程(以VS2010為例)
打開服務(wù)器資源管理器,添加一個(gè)SQL Server 2008數(shù)據(jù)庫連接,然后在存儲過程節(jié)點(diǎn)上點(diǎn)右鍵,選擇“單步執(zhí)行存儲過程”,即可進(jìn)入單步調(diào)試狀態(tài),同上邊過程,也要設(shè)置權(quán)限。這里就不再詳細(xì)介紹了。
關(guān)于SQL Server 2008 存儲過程調(diào)試的相關(guān)知識就介紹到這里了,希望本次的介紹能夠?qū)δ兴斋@!
【編輯推薦】






