儲存過程除錯

2021-09-06 18:28:57 字數 3045 閱讀 7381

sql server2008儲存過程除錯

昨天被問到sql server中儲存過程怎麼除錯,我曾經寫儲存過程,除錯方法非常笨拙,就是逐條執行語句,然後檢視結果是不是預期的,這樣的除錯方法,實在是無奈之舉,極大程度地限制了開發速度和準確性。今天在他的提點下,研究了下sql server 2008的儲存過程除錯。

1.在sql server2008中除錯儲存過程

下面內容引自msdn

sql server 2008的ssms是支援單步debug的,可是在除錯之前必須配置許可權。

假設 sql server management studio 與 sql server 資料庫引擎例項在同一臺計算機上執行,則對於執行 transact-sql 偵錯程式沒有配置要求。可是,當 sql server management studio 與資料庫引擎例項在不同計算機上執行時,若要執行 transact-sql 偵錯程式,則必須在兩台計算機上使用「windows 防火牆」控制面板應用程式來啟用程式和port例外。

在執行資料庫引擎例項的計算機上,在「windows 防火牆」中指定下面資訊:

在執行 sql server management studio 的計算機上,在「windows 防火牆」中指定下面資訊:

我們建議在測試server上除錯 transact-sql **,而不要在生產server上除錯,原因例如以下:

啟動 transact-sql 偵錯程式可將查詢編輯器窗體置於除錯模式。在查詢編輯器窗體進入除錯模式時,偵錯程式會在第乙個**行處暫停。然後,您能夠單步執行**,在特定 transact-sql 語句上暫停執行,並使用偵錯程式窗體來檢視當前執行狀態。能夠通過在「查詢」工具欄上單擊「除錯」button,或在「除錯」選單上單擊「啟動除錯」來啟動偵錯程式。

也可在「除錯」選單上單擊「所有分離」,以停止除錯模式,但同意剩餘的 transact-sql 語句完畢執行。

原文2.在visual studio中除錯儲存過程(以vs2010為例)

開啟server資源管理器,加入�乙個sql server 2008資料庫連線,然後在儲存過程節點上點右鍵,選擇「單步執行儲存過程」,就可以進入單步除錯狀態,同上邊過程,也要設定許可權。

大家一定在編寫或分析乙個複雜存錯過程時,非常希望能想vb**一樣進行除錯,可惜sql server本身並沒有提供偵錯程式,我們能夠利用vs來進行除錯。

我寫了乙個簡單的儲存過程,介紹一下用vs除錯儲存過程的步驟。?

12

3

4

5

6

7

8

9

10

11

12

13

14

createproceduretestprocdebugger

@idint

as

begin

declare@testval1int

set@testval1=@id

declare@empidvarchar

declare@shipperidvarchar

select@empid=shipperid,@shipperid=empidfromorders

whereorderid=@testval1

select@empid,@shipperid

end

第一步:啟動visual studio,點「試圖」->「服務資源管理器」

第二步:加入�資料連線。

填寫好資料庫名、登入賬號、和要連線的資料庫,點確定。

第三步:在要除錯的存錯過程上右鍵,選擇「單步執行儲存過程」

第四步:這時偵錯程式會依據儲存過程的引數,提示你輸入幾個用於條數的值,然後點確定就能夠進入除錯狀態了。

如今大家就能夠像除錯vb**一樣,進行一步一步的跟蹤了。

第二步:加入�資料連線。

填寫好資料庫名、登入賬號、和要連線的資料庫,點確定。

第三步:在要除錯的存錯過程上右鍵,選擇「單步執行儲存過程」

第四步:這時偵錯程式會依據儲存過程的引數,提示你輸入幾個用於條數的值,然後點確定就能夠進入除錯狀態了。

如今大家就能夠像除錯vb**一樣,進行一步一步的跟蹤了。

分類:

開發技能

除錯儲存過程

在編寫儲存過程中,寫了n多行 結果一執行程式,就在資料庫這裡報錯。那麼如何在寫完儲存過程之後就能立即測試一下村粗過程呢?1 不會寫t sql來正確執行儲存過程 當你想到要除錯儲存過程的時候,人家微軟一定早已經想到並且做到了。微軟一定為沒有很好資料庫程式設計的人員開發了 傻瓜式 的工具。我們應該去儲存...

TOAD 除錯儲存過程

set serveroutput on declare var number begin sql語句 dbms output.put line column name ci end 1.基本結構 create or replace procedure 儲存過程名字 引數1 in number,引數2...

遠端除錯儲存過程

1 設定防火牆 1 例外新增程式sqlserver.exe d program files microsoft sql server mssql10.mssqlserver mssql binn sqlservr.exe ssms.exe d program files x86 microsoft ...