深談Visual Studio IDE
在向大家詳細(xì)介紹SQL Server調(diào)試的不同方法之前,首先讓大家了解下Visual Studio IDE,然后全面介紹SQL Server調(diào)試的不同方法,希望對大家有用。SQL Server 2000可以讓我們在查詢分析器中直接調(diào)試存儲(chǔ)過程(更多的信息請參看:用SQL Server 2000的查詢分析器調(diào)試存儲(chǔ)過程)到了現(xiàn)在的SQL Server 2005,這個(gè)功能被轉(zhuǎn)移到了SQL Servr Management Studio和Visual Studio IDE內(nèi)。 使用這個(gè)技術(shù),我們可以在Visual Studio中一步一步地調(diào)試存儲(chǔ)過程。而且你也可以在存儲(chǔ)過程中設(shè)置斷點(diǎn),這樣當(dāng)你調(diào)試你的程序時(shí),這些斷點(diǎn)就會(huì)生效。
#t#SQL Server 2005的所有版本都支持調(diào)試功能(包括Express版)。 但是,只有Team Systems和Professional版本的Visual Studio才能在IDE內(nèi)調(diào)試存儲(chǔ)過程。 簡而言之,如果你使用的是Visual Web Developer或者Visual Studio Standard版本的話,就不能在調(diào)試應(yīng)用程序的時(shí)候,一步一步地調(diào)試存儲(chǔ)過程或者進(jìn)入到存儲(chǔ)過程內(nèi)部。
本文中,我將示例如何通過 Visual Studio IDE調(diào)試SQL Server 2005的存儲(chǔ)過程。我們既會(huì)看到如何在IDE中直接一步一步地調(diào)試存儲(chǔ)過程,也會(huì)看到如何給存儲(chǔ)過程設(shè)置斷點(diǎn),并在調(diào)試應(yīng)用程序的時(shí)候進(jìn)入到斷點(diǎn)處。繼續(xù)往下看,你會(huì)知道得更多!
SQL Server調(diào)試的不同方法
現(xiàn)在的SQL Server 2005中,所有的數(shù)據(jù)庫調(diào)試都發(fā)生在Visual Studio IDE的內(nèi)部。數(shù)據(jù)庫中的像存儲(chǔ)過程、觸發(fā)器和用戶自定義函數(shù)(UDFs)這樣的對象都是可以被調(diào)試的(譯者注:本文中提到的數(shù)據(jù)庫對象指的是存儲(chǔ)過程、觸發(fā)器或用戶自定義函數(shù))。 Visual Studio提供了3種調(diào)試這些數(shù)據(jù)庫對象的方法。
◆數(shù)據(jù)庫中直接調(diào)試 – 在Visual Studio的服務(wù)器資源管理器中,右鍵單擊某個(gè)數(shù)據(jù)庫對象,然后選擇“單步執(zhí)行××”。 例如,當(dāng)你右鍵單擊一個(gè)存儲(chǔ)過程的時(shí)候,彈出菜單中就會(huì)包含一個(gè)“單步執(zhí)行存儲(chǔ)過程”的選項(xiàng)。
◆應(yīng)用程序調(diào)試 – 在數(shù)據(jù)庫對象內(nèi)設(shè)置斷點(diǎn),然后通過應(yīng)用程序進(jìn)行調(diào)試。當(dāng)相關(guān)的ASP.NET程序處于調(diào)試狀態(tài),并且調(diào)用了數(shù)據(jù)庫對象的時(shí)候,那么Visual Studio就會(huì)暫停在你所設(shè)置的斷點(diǎn)之處,從而允許我們一步一步地對T-SQL語句進(jìn)行調(diào)試。
◆在SQL Server項(xiàng)目中調(diào)試 – 在Visual Studio中可以創(chuàng)建一個(gè)SQL Server項(xiàng)目。 該項(xiàng)目中可以包含T-SQL和數(shù)據(jù)庫對象,并且這些數(shù)據(jù)庫對象都可以通過SQL Server項(xiàng)目本身來調(diào)試。
關(guān)于這3種不同的SQL Server調(diào)試的更多信息,請參看:Overview of T-SQL and CLR Debugging in SQL Server 2005。
還有一個(gè)需要注意的地方就是,本文接下來所介紹的SQL Server調(diào)試是基于本地?cái)?shù)據(jù)庫的。 當(dāng)然,無論是本地?cái)?shù)據(jù)庫還是遠(yuǎn)程數(shù)據(jù)庫都是可以調(diào)試的。本地?cái)?shù)據(jù)庫指的是數(shù)據(jù)庫部署在本機(jī)上;遠(yuǎn)程數(shù)據(jù)庫指的是數(shù)據(jù)庫部署在本機(jī)之外的機(jī)器上。 調(diào)試本地?cái)?shù)據(jù)庫不需要做額外的設(shè)置,但是調(diào)試遠(yuǎn)程數(shù)據(jù)庫卻要復(fù)雜得多。
本文主要介紹的是如何在數(shù)據(jù)庫中直接調(diào)試,以及如何在ASP.NET程序中調(diào)試一個(gè)本地?cái)?shù)據(jù)庫。詳細(xì)點(diǎn)說就是,我們將調(diào)試App_Data文件夾下的SQL Server 2005 Express版本的數(shù)據(jù)庫,你可以在本文的結(jié)尾處下載該數(shù)據(jù)庫及示例程序。以上介紹Visual Studio IDE,在今后的其它文章中我們再研究如何在SQL Server項(xiàng)目中調(diào)試數(shù)據(jù)庫。