2010-05-28 91 views
0

我有一個SQL Server 2005數據庫與一些存儲過程(SP),我想調試......基本上我會就像在SP執行期間的特定點檢查變量值一樣。調試存儲過程,而不使用SSMS 2008調試器,或Visual Studio調試器(輸出變量值?)

我有SSMS 2008,但是當我嘗試使用調試器時,出現無法調試SQL Server 2005數據庫的錯誤。我無法使用Visual Studio調試器(通過服務器資源管理器進入SP),因爲遠程調試被我們的防火牆阻止,並且我理所當然地不允許觸摸防火牆。

所以我的問題是如何檢查SP執行中某些點的變量值?有什麼方法可以在某處輸出這些值,也許還有一些文本?

回答

1

您可以使用xp_cmdshell存儲過程寫入文本文件。

DECLARE @cmd sysname, @var sysname 
SET @var = 'Hello world' 
SET @cmd = 'echo ' + @var + ' > var_out.txt' 
EXEC master..xp_cmdshell @cmd 

http://msdn.microsoft.com/en-us/library/ms175046%28SQL.90%29.aspx

注意,此過程可能會被禁用。該過程允許執行可執行文件,以便在不需要時禁用它。有關如何啓用該過程,請參閱以下內容。

http://msdn.microsoft.com/en-us/library/ms190693%28v=SQL.90%29.aspx