程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> SQL SERVER2005中如何調試本地和遠程存儲過程

SQL SERVER2005中如何調試本地和遠程存儲過程

編輯:關於SqlServer
SQL Server 2000可以讓我們在查詢分析器中直接調試存儲過程() 到了現在的SQL Server 2005,這個功能被轉移到了SQL Servr Management Studio和Visual Studio IDE內。 使用這個技術,我們可以在Visual Studio中一步一步地調試存儲過程。而且你也可以在存儲過程中設置斷點,這樣當你調試你的程序時,這些斷點就會生效。 SQL Server 2005的所有版本都支持調試功能(包括Express版)。但是,只有Team Systems和Professional版本的Visual Studio才能在IDE內調試存儲過程。 簡而言之,如果你使用的是Visual Web Developer或者Visual Studio Standard版本的話,就不能在調試應用程序的時候,一步一步地調試存儲過程或者進入到存儲過程內部。本文中,我將示例如何通過Visual Studio IDE調試SQL Server 2005的存儲過程。我們既會看到如何在IDE中直接一步一步地調試存儲過程,也會看到如何給存儲過程設置斷點,並在調試應用程序的時候進入到斷點處。繼續往下看,你會知道得更多!
SQL Server調試的不同方法
現在的SQL Server 2005中,所有的數據庫調試都發生在Visual Studio IDE的內部。數據庫中的像存儲過程、觸發器和用戶自定義函數(UDFs)這樣的對象都是可以被調試的(譯者注:本文中提到的數據庫對象指的是存儲過程、觸發器或用戶自定義函數)。 Visual Studio提供了3種調試這些數據庫對象的方法。 
    ·數據庫中直接調試 – 在Visual Studio的服務器資源管理器中,右鍵單擊某個數據庫對象,然後選擇“單步執行××”。例如,當你右鍵單擊一個存儲過程的時候,彈出菜單中就會包含一個“單步執行存儲過程”的選項。 
    ·應用程序調試 – 在數據庫對象內設置斷點,然後通過應用程序進行調試。當相關的ASP.Net程序處於調試狀態,並且調用了數據庫對象的時候,那麼Visual Studio就會暫停在你所設置的斷點之處,從而允許我們一步一步地對T-SQL語句進行調試。 
    ·在SQL Server項目中調試 – 在Visual Studio中可以創建一個SQL Server項目。該項目中可以包含T-SQL和數據庫對象,並且這些數據庫對象都可以通過SQL Server項目本身來調試。關於這3種不同的SQL Server調試的更多信息,請參看:。還有一個需要注意的地方就是,本文接下來所介紹的SQL Server調試是基於本地數據庫的。當然,無論是本地數據庫還是遠程數據庫都是可以調試的。本地數據庫指的是數據庫部署在本機上;遠程數據庫指的是數據庫部署在本機之外的機器上。調試本地數據庫不需要做額外的設置,但是調試遠程數據庫卻要復雜得多。本文主要介紹的是如何在數據庫中直接調試,以及如何在ASP.Net程序中調試一個本地數據庫。詳細點說就是,我們將調試App_Data文件夾下的SQL Server 2005 Express版本的數據庫,你可以在本文的結尾處下載該數據庫及示例程序。在今後的其它文章中我們再研究如何在SQL Server項目中調試數據庫。接下來,我給大家簡要講一講關於調試遠程數據庫的相關要點。
調試遠程數據庫調試遠程數據庫最關鍵的要點在於,要確保啟動Visual Studio的Windows用戶與連接遠程數據庫的用戶是同一個用戶。此外,該用戶必須隸屬於sysadmin角色。例如,你可以在Windows的域中創建一個名為“TestDebug”的用戶。然後使其可以登錄到遠程SQL Server數據庫,並將該用戶添加到sysadmin角色內。另外,你還需要使用“TestDebug”用戶來登錄你的電腦,或者確保使用runas.exe命令啟動的Visual Studio運行在“TestDebug”用戶下。這樣,你就可以使用我們接下來演示的方法來調試了。更多的詳細信息可以參看這本書:。在數據庫中直接調試是調試SQL Server 2005的存儲過程的最簡單的方法。在Visual Stuido的IDE中你可以選擇單步執行存儲過程,然後就可以一條語句一條語句地單步執行了,同時你也可以檢查和修改存儲過程內的T-SQL變量和參數。本文結尾處提供下載的壓縮包中包括一個SQL Server 2005 Express版本的Northwind數據庫。我在其中添加了一個名為“DoThings”的存儲過程,它有一個參數@CategoryID。這是一個沒什麼實用價值的存儲過程,但是它有很多的T-SQL語句和變量,另外還有一個參數,這將使我們能更好地練習存儲過程的調試。在服務器資源管理器中右鍵單擊“DoThings”存儲過程,然後選擇單步執行存儲過程的選項。(注意:SQL Server調試只有Team Systems和Professional版本的Visual Studio才支持。)

SQLSERVER2005中如何調試本地和遠程存儲過程

調試器啟動並且執行存儲過程。因為存儲過程“DoThings”需要一個傳入值給@CategoryID,所以會彈出一個對話框讓我們提供該值。輸入1後單擊OK。

SQLSERVER2005中如何調試本地和遠程存儲過程

首先會執行第一條語句。你可以選擇逐語句或逐過程進行調試(快捷鍵分別為F11和F10),也可以在監視窗口中添加參數和變量。存儲過程調試期間的截屏如下圖所示。左側的黃色箭頭指的是當前執行的語句。監視窗口中顯示的是@CategoryID和@AvgPrice的類型和值。

SQLSERVER2005中如何調試本地和遠程存儲過程

存儲過程知行完後,結果會顯示在輸出窗口中。你可以看到,在數據庫中直接調試存儲過程是非常簡單的,而且很好理解。簡單到你只需要在服務器資源管理器中,右鍵單擊存儲過程,然後選擇單步執行存儲過程即可。
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved