亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

存儲過程調(diào)試

系統(tǒng) 2357 0

昨天被問到sql server中存儲過程怎么調(diào)試,我曾經(jīng)寫存儲過程,調(diào)試方法非常笨拙,就是逐條運行語句,然后查看結果是不是預期的,這樣的調(diào)試方法,實在是無奈之舉,極大程度地限制了開發(fā)速度和準確性。今天在他的提點下,研究了下SQL SERVER 2008的存儲過程調(diào)試。

1.在SQL SERVER2008中調(diào)試存儲過程

下面內(nèi)容引自MSDN

SQL SERVER 2008的SSMS是支持單步debug的,可是在調(diào)試之前必須配置權限。

假設 SQL Server Management Studio 與 SQL Server 數(shù)據(jù)庫引擎實例在同一臺計算機上執(zhí)行,則對于執(zhí)行 Transact-SQL 調(diào)試器沒有配置要求。可是,當 SQL Server Management Studio 與數(shù)據(jù)庫引擎實例在不同計算機上執(zhí)行時,若要執(zhí)行 Transact-SQL 調(diào)試器,則必須在兩臺計算機上使用 “Windows 防火墻” 控制面板應用程序來啟用程序和port例外。

在執(zhí)行數(shù)據(jù)庫引擎實例的計算機上,在 “Windows 防火墻” 中指定下面信息:

  • 將 TCP port 135 加入到例外列表。

  • 將程序 sqlservr.exe 加入到例外列表。默認情況下,sqlservr.exe 安裝在 C:\Program Files\Microsoft SQL Server\MSSQL10. 實例名稱 \MSSQL\Binn 下,當中, 實例名稱 對于默認實例為 MSSQLSERVER,對于不論什么指定的實例則為對應實例的名稱。

  • 假設域策略要求通過 IPSec 進行網(wǎng)絡通信,還必須將 UDP port 4500 和 UDP port 500 加入到例外列表。

在執(zhí)行 SQL Server Management Studio 的計算機上,在 “Windows 防火墻” 中指定下面信息:

  • 將 TCP port 135 加入到例外列表。

  • 將程序 ssms.exe (SQL Server Management Studio) 加入到例外列表。默認情況下,ssms.exe 安裝在 C:\Program Files\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE 下。

  • 啟動 Transact-SQL 調(diào)試器的要求例如以下:

    • SQL Server Management Studio 必須在作為 sysadmin 固定server角色成員的 Windows 帳戶下執(zhí)行。

    • 數(shù)據(jù)庫引擎查詢編輯器窗體必須使用 Windows 身份驗證來連接,或使用作為 sysadmin 固定server角色成員的 SQL Server 身份驗證登錄名來連接。

    • 數(shù)據(jù)庫引擎查詢編輯器窗體必須連接到 SQL Server 2008數(shù)據(jù)庫引擎的實例。假設查詢編輯器窗體連接到處于單用戶模式下的實例,您將無法執(zhí)行調(diào)試器。

    我們建議在測試server上調(diào)試 Transact-SQL 代碼,而不要在生產(chǎn)server上調(diào)試,原因例如以下:

    • 調(diào)試是一項須要高特權的操作。因此僅僅同意 sysadmin 固定server角色成員在 SQL Server 中進行調(diào)試。

    • 當您調(diào)查多個 Transact-SQL 語句的執(zhí)行時,調(diào)試會話一般會執(zhí)行非常長時間。會話獲取的鎖(如更新鎖)可能會持有非常長時間,直到終止會話或者提交或回滾事務。

    啟動 Transact-SQL 調(diào)試器可將查詢編輯器窗體置于調(diào)試模式。在查詢編輯器窗體進入調(diào)試模式時,調(diào)試器會在第一個代碼行處暫停。然后,您能夠單步運行代碼,在特定 Transact-SQL 語句上暫停運行,并使用調(diào)試器窗體來查看當前運行狀態(tài)。能夠通過在 “查詢” 工具欄上單擊 “調(diào)試” button,或在 “調(diào)試” 菜單上單擊 “啟動調(diào)試” 來啟動調(diào)試器。

    查詢編輯器窗體會保持在調(diào)試模式下,直到查詢編輯器窗體中的最后一個語句完畢或您停止調(diào)試模式。能夠使用下面不論什么一種方法來停止調(diào)試模式和語句運行:

    • “調(diào)試” 菜單中,單擊 “停止調(diào)試”

    • “調(diào)試” 工具欄上,單擊 “停止調(diào)試” button。

    • “查詢” 菜單上,單擊 “取消運行查詢”

    • “查詢” 工具欄上,單擊 “取消運行查詢” button。

    也可在 “調(diào)試” 菜單上單擊 “所有分離” ,以停止調(diào)試模式,但同意剩余的 Transact-SQL 語句完畢運行。

原文 http://msdn.microsoft.com/zh-cn/library/cc646024(v=SQL.100).aspx

2.在Visual Studio中調(diào)試存儲過程(以VS2010為例)

打開server資源管理器,加入一個SQL SERVER 2008數(shù)據(jù)庫連接,然后在存儲過程節(jié)點上點右鍵,選擇“單步運行存儲過程”,就可以進入單步調(diào)試狀態(tài),同上邊過程,也要設置權限。




?? 大家一定在編寫或分析一個復雜存錯過程時,非常希望能想VB代碼一樣進行調(diào)試,可惜SQL Server本身并沒有提供調(diào)試器,我們能夠利用VS來進行調(diào)試。

?? 我寫了一個簡單的存儲過程,介紹一下用VS調(diào)試存儲過程的步驟。

?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
Create PROCEDURE testProcDebugger
???? @id int
AS
BEGIN
???? declare @testVal1 int
???? set @testVal1=@id
???? declare @empid varchar
???? declare @shipperid varchar
? ?
???? select @empid=shipperid,@shipperid=empid from orders
???? where orderid=@testVal1
? ?
???? select @empid,@shipperid
END

?

?

第一步:啟動Visual Studio,點“試圖”->“服務資源管理器”

存儲過程調(diào)試

?

第二步:加入數(shù)據(jù)連接。
?? ?
填寫好數(shù)據(jù)庫名、登錄賬號、和要連接的數(shù)據(jù)庫,點確定。
?
第三步:在要調(diào)試的存錯過程上右鍵,選擇“單步運行存儲過程”
?? ??
第四步:這時調(diào)試器會依據(jù)存儲過程的參數(shù),提示你輸入幾個用于條數(shù)的值,然后點確定就能夠進入調(diào)試狀態(tài)了。
?? ? ?
如今大家就能夠像調(diào)試VB代碼一樣,進行一步一步的跟蹤了。

第二步:加入數(shù)據(jù)連接。

存儲過程調(diào)試

?

填寫好數(shù)據(jù)庫名、登錄賬號、和要連接的數(shù)據(jù)庫,點確定。
?
第三步:在要調(diào)試的存錯過程上右鍵,選擇“單步運行存儲過程”

存儲過程調(diào)試

??
第四步:這時調(diào)試器會依據(jù)存儲過程的參數(shù),提示你輸入幾個用于條數(shù)的值,然后點確定就能夠進入調(diào)試狀態(tài)了。
存儲過程調(diào)試

?
如今大家就能夠像調(diào)試VB代碼一樣,進行一步一步的跟蹤了。

存儲過程調(diào)試



存儲過程調(diào)試


更多文章、技術交流、商務合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 国产免费一级精品视频 | 日本精品高清一区二区不卡 | www午夜| 欧美成人高清 | 欧美日韩中文国产一区二区三区 | 一区二区三区高清不卡 | 69热在线观看 | 狠狠狠综合色 | 91久久99热青草国产 | 五月天婷婷激情 | 亚洲中字幕 | 中国性孕妇xxxxxxxx孕交 | 久热精品在线 | 狠狠干狠 | 夜夜摸视频网 | 亚洲不卡在线观看 | 欧美激情久久久久久久大片 | 久久精品99毛片免费 | 日本a∨在线 | 国产在线操 | 国产成人看片免费视频观看 | 99久久精品国产免费 | 国产精品久久久亚洲动漫 | 99视频在线精品免费观看18 | 国产欧美日韩综合一区二区三区 | 亚洲成网站www久久九 | 日韩va| 91成人爽a毛片一区二区 | 四虎精品成人a在线观看 | 成人激情开心网 | 国产真实强j视频在线观看 国产真实偷乱视频在线观看 | 中文精品视频一区二区在线观看 | 波多野结衣av1区2区3区 | 日本a毛片在线播放 | 成年女人a毛片免费视频 | 欧美成人久久一级c片免费 欧美成人剧情中文字幕 | 99久久精品国产片 | 亚洲第一区在线 | 国产l精品国产亚洲区在线观看 | 国产成人精品一区二区三在线观看 | 国内自拍 在线播放 网红 |