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
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,點「試圖」->「服務資源管理器」
第二步:加入�資料連線。
填寫好資料庫名、登入賬號、和要連線的資料庫,點確定。
第三步:在要除錯的存錯過程上右鍵,選擇「單步執行儲存過程」
第四步:這時偵錯程式會依據儲存過程的引數,提示你輸入幾個用於條數的值,然後點確定就能夠進入除錯狀態了。
如今大家就能夠像除錯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 ...