function StorePage(){d=document;t=d.selection?(d.selection.type!='None'?d.selection.createRange().text:''):(d.getSelection?d.getSelection():'');void(keyit=window.open('http://www.365key.com/storeit.aspx?t='+escape(d.title)+'&u='+escape(d.location.href)+'&c='+escape(t),'keyit','scrollbars=no,width=475,height=575,left=75,top=20,status=no,resizable=yes'));keyit.focus();}
在Visual Studio 2005中調(diào)試SQL Server 2005的存儲(chǔ)過程
SQL Server 2000可以讓我們?cè)诓樵兎治銎髦兄苯诱{(diào)試存儲(chǔ)過程(
更多的信息請(qǐng)參看:用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ì)生效。
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)這樣的對(duì)象都是可以被調(diào)試的(譯者注:本文中提到的數(shù)據(jù)庫對(duì)象指的是存儲(chǔ)過程、觸發(fā)器或用戶自定義函數(shù))。 Visual Studio提供了3種調(diào)試這些數(shù)據(jù)庫對(duì)象的方法。
·數(shù)據(jù)庫中直接調(diào)試 – 在Visual Studio的服務(wù)器資源管理器中,右鍵單擊某個(gè)數(shù)據(jù)庫對(duì)象,然后選擇“單步執(zhí)行××”。 例如,當(dāng)你右鍵單擊一個(gè)存儲(chǔ)過程的時(shí)候,彈出菜單中就會(huì)包含一個(gè)“單步執(zhí)行存儲(chǔ)過程”的選項(xiàng)。
·應(yīng)用程序調(diào)試 – 在數(shù)據(jù)庫對(duì)象內(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ù)庫對(duì)象的時(shí)候,那么Visual Studio就會(huì)暫停在你所設(shè)置的斷點(diǎn)之處,從而允許我們一步一步地對(duì)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ù)庫對(duì)象,并且這些數(shù)據(jù)庫對(duì)象都可以通過SQL Server項(xiàng)目本身來調(diào)試。
關(guān)于這3種不同的SQL Server調(diào)試的更多信息,請(qǐng)參看: 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ù)庫及示例程序。 在今后的其它文章中我們?cè)傺芯咳绾卧赟QL Server項(xiàng)目中調(diào)試數(shù)據(jù)庫。 接下來,我給大家簡要講一講關(guān)于調(diào)試遠(yuǎn)程數(shù)據(jù)庫的相關(guān)要點(diǎn)。
調(diào)試遠(yuǎn)程數(shù)據(jù)庫
調(diào)試遠(yuǎn)程數(shù)據(jù)庫最關(guān)鍵的要點(diǎn)在于,要確保啟動(dòng)Visual Studio的Windows用戶與連接遠(yuǎn)程數(shù)據(jù)庫的用戶是同一個(gè)用戶。 此外,該用戶必須隸屬于sysadmin角色。
例如,你可以在Windows的域中創(chuàng)建一個(gè)名為“TestDebug”的用戶。 然后使其可以登錄到遠(yuǎn)程SQL Server數(shù)據(jù)庫,并將該用戶添加到sysadmin角色內(nèi)。 另外,你還需要使用“TestDebug”用戶來登錄你的電腦,或者確保使用runas.exe命令啟動(dòng)的Visual Studio運(yùn)行在“TestDebug”用戶下。 這樣,你就可以使用我們接下來演示的方法來調(diào)試了。
更多的詳細(xì)信息可以參看這本書: Hitchhiker's Guide to Visual Studio and SQL Server, Seventh Edition 。
在數(shù)據(jù)庫中直接調(diào)試
在數(shù)據(jù)庫中直接調(diào)試是調(diào)試SQL Server 2005的存儲(chǔ)過程的最簡單的方法。 在Visual Stuido的IDE中你可以選擇單步執(zhí)行存儲(chǔ)過程,然后就可以一條語句一條語句地單步執(zhí)行了,同時(shí)你也可以檢查和修改存儲(chǔ)過程內(nèi)的T-SQL變量和參數(shù)。 本文結(jié)尾處提供下載的壓縮包中包括一個(gè)SQL Server 2005 Express版本的Northwind數(shù)據(jù)庫。 我在其中添加了一個(gè)名為“DoThings”的存儲(chǔ)過程,它有一個(gè)參數(shù)@CategoryID。 這是一個(gè)沒什么實(shí)用價(jià)值的存儲(chǔ)過程,但是它有很多的T-SQL語句和變量,另外還有一個(gè)參數(shù),這將使我們能更好地練習(xí)存儲(chǔ)過程的調(diào)試。
在服務(wù)器資源管理器中右鍵單擊“DoThings”存儲(chǔ)過程,然后選擇單步執(zhí)行存儲(chǔ)過程的選項(xiàng)。 (注意:SQL Server調(diào)試只有Team Systems和Professional版本的Visual Studio才支持。)
調(diào)試器啟動(dòng)并且執(zhí)行存儲(chǔ)過程。 因?yàn)榇鎯?chǔ)過程“DoThings”需要一個(gè)傳入值給@CategoryID,所以會(huì)彈出一個(gè)對(duì)話框讓我們提供該值。 輸入1后單擊OK。
首先會(huì)執(zhí)行第一條語句。 你可以選擇逐語句或逐過程進(jìn)行調(diào)試(快捷鍵分別為F11和F10),也可以在監(jiān)視窗口中添加參數(shù)和變量。 存儲(chǔ)過程調(diào)試期間的截屏如下圖所示。 左側(cè)的黃色箭頭指的是當(dāng)前執(zhí)行的語句。 監(jiān)視窗口中顯示的是@CategoryID和@AvgPrice的類型和值。
存儲(chǔ)過程知行完后,結(jié)果會(huì)顯示在輸出窗口中。
你可以看到,在數(shù)據(jù)庫中直接調(diào)試存儲(chǔ)過程是非常簡單的,而且很好理解。 簡單到你只需要在服務(wù)器資源管理器中,右鍵單擊存儲(chǔ)過程,然后選擇單步執(zhí)行存儲(chǔ)過程即可。
在ASP.NET程序中調(diào)試數(shù)據(jù)庫對(duì)象
數(shù)據(jù)庫中直接調(diào)試可以讓我們非常簡單地在Visual Studio IDE里直接調(diào)試存儲(chǔ)過程。 但是,有的時(shí)候我們需要在ASP.NET程序調(diào)用相關(guān)的存儲(chǔ)過程的時(shí)候再調(diào)試。 這樣,當(dāng)某個(gè)數(shù)據(jù)庫對(duì)象被調(diào)用的時(shí)候,我們就可以對(duì)其進(jìn)行調(diào)試。
這種調(diào)試方法整合到了應(yīng)用程序的調(diào)試之中。 要使用它需要做如下幾步:
·給你想要調(diào)試的數(shù)據(jù)庫對(duì)象添加斷點(diǎn)。 數(shù)據(jù)庫對(duì)象只有在包含斷點(diǎn)的情況下才會(huì)被調(diào)試。 例如,一般情況下,應(yīng)用程序在調(diào)用存儲(chǔ)過程的時(shí)候,你是不能進(jìn)入存儲(chǔ)過程內(nèi)部的, 如果你想調(diào)試存儲(chǔ)過程,那就必須要在存儲(chǔ)過程內(nèi)部設(shè)置斷點(diǎn)。
·配置應(yīng)用程序,使其可以調(diào)試SQL Server對(duì)象。 這個(gè)比較容易,你只要選中一個(gè)復(fù)選框即可。
·禁用連接池。 連接池可以提高性能,它允許程序使用一個(gè)連接池中的某個(gè)空閑的連接來連接數(shù)據(jù)庫。 如果啟用它,就不能正確地調(diào)試了。 因?yàn)槟J(rèn)情況下是啟用連接池的,所以我們必須在設(shè)置連接字符串的時(shí)候禁用它。 (當(dāng)你完成了在ASP.NET程序中調(diào)試SQL Server對(duì)象的工作之后,一定要記得重新啟用連接池
接下來讓我們來看一看這幾個(gè)步驟具體該如何做。
首先,在Visual Studio中打開“DoThings”存儲(chǔ)過程,然后在“DECLARE @AvgPrice money”這句上設(shè)置斷點(diǎn)。 這樣第一步就完成了,接下來做第二步。
配置ASP.NET程序,以使其支持SQL Server的調(diào)試。右鍵單擊項(xiàng)目,然后選擇屬性。 此時(shí)將會(huì)彈出一個(gè)如下圖所示的對(duì)話框。 選擇啟動(dòng)選項(xiàng),然后在“調(diào)試器”部分中選中“SQL Server”復(fù)選框。 這樣就完成前兩步了,還差最后一步。
最后一步,我們需要修改連接字符串,使其禁用連接池。 這個(gè)任務(wù)相當(dāng)簡單,你只要在你的連接字符串后加一個(gè)屬性“Pooling=false”即可。 假設(shè)你將連接字符串信息定義在了Web.config的<connectionString>節(jié)點(diǎn)里,那么修改后的連接字符串如下所示:
<
connectionStrings
>
<
add
name
="NorthwindConnectionString"
connectionString
="DataSource=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\NORTHWND.MDF;IntegratedSecurity=True;UserInstance=True;Pooling=false"
providerName
="System.Data.SqlClient"
/>
</
connectionStrings
>
現(xiàn)在,我們已經(jīng)完成了這3個(gè)步驟。 為了演示如何調(diào)試,我們來創(chuàng)建一個(gè)調(diào)用“DoThings”存儲(chǔ)過程的ASP.NET頁。 本文結(jié)尾處你下載的Demo中就包含有這個(gè)頁面。 當(dāng)你調(diào)試ASP.NET程序并且訪問了這個(gè)頁的時(shí)候,程序就會(huì)暫停在存儲(chǔ)過程中設(shè)置了斷點(diǎn)的地方。 然后,你就可以單步執(zhí)行存儲(chǔ)過程,并且可以在監(jiān)視窗口中查看和修改參數(shù)和變量的值,就像在數(shù)據(jù)庫中直接調(diào)試存儲(chǔ)過程一樣。
結(jié)論
在SQL Server之前的版本中有一套用于調(diào)試存儲(chǔ)過程的獨(dú)立工具。 到了現(xiàn)在的SQL Server 2005,存儲(chǔ)過程、觸發(fā)器和用戶自定義函數(shù)(UDFs)都是通過Visual Studio Team System和Professional版本來調(diào)試的。 它給我們帶來了3種調(diào)試SQL Server的方法: 數(shù)據(jù)庫中直接調(diào)試、應(yīng)用程序調(diào)試和在SQL Server項(xiàng)目中調(diào)試。 本文中,我們一起研究了前兩種調(diào)試方法(使用本地?cái)?shù)據(jù)庫)。
祝編程愉快!
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)這樣的對(duì)象都是可以被調(diào)試的(譯者注:本文中提到的數(shù)據(jù)庫對(duì)象指的是存儲(chǔ)過程、觸發(fā)器或用戶自定義函數(shù))。 Visual Studio提供了3種調(diào)試這些數(shù)據(jù)庫對(duì)象的方法。
·數(shù)據(jù)庫中直接調(diào)試 – 在Visual Studio的服務(wù)器資源管理器中,右鍵單擊某個(gè)數(shù)據(jù)庫對(duì)象,然后選擇“單步執(zhí)行××”。 例如,當(dāng)你右鍵單擊一個(gè)存儲(chǔ)過程的時(shí)候,彈出菜單中就會(huì)包含一個(gè)“單步執(zhí)行存儲(chǔ)過程”的選項(xiàng)。
·應(yīng)用程序調(diào)試 – 在數(shù)據(jù)庫對(duì)象內(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ù)庫對(duì)象的時(shí)候,那么Visual Studio就會(huì)暫停在你所設(shè)置的斷點(diǎn)之處,從而允許我們一步一步地對(duì)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ù)庫對(duì)象,并且這些數(shù)據(jù)庫對(duì)象都可以通過SQL Server項(xiàng)目本身來調(diào)試。
關(guān)于這3種不同的SQL Server調(diào)試的更多信息,請(qǐng)參看: 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ù)庫及示例程序。 在今后的其它文章中我們?cè)傺芯咳绾卧赟QL Server項(xiàng)目中調(diào)試數(shù)據(jù)庫。 接下來,我給大家簡要講一講關(guān)于調(diào)試遠(yuǎn)程數(shù)據(jù)庫的相關(guān)要點(diǎn)。
調(diào)試遠(yuǎn)程數(shù)據(jù)庫
調(diào)試遠(yuǎn)程數(shù)據(jù)庫最關(guān)鍵的要點(diǎn)在于,要確保啟動(dòng)Visual Studio的Windows用戶與連接遠(yuǎn)程數(shù)據(jù)庫的用戶是同一個(gè)用戶。 此外,該用戶必須隸屬于sysadmin角色。
例如,你可以在Windows的域中創(chuàng)建一個(gè)名為“TestDebug”的用戶。 然后使其可以登錄到遠(yuǎn)程SQL Server數(shù)據(jù)庫,并將該用戶添加到sysadmin角色內(nèi)。 另外,你還需要使用“TestDebug”用戶來登錄你的電腦,或者確保使用runas.exe命令啟動(dòng)的Visual Studio運(yùn)行在“TestDebug”用戶下。 這樣,你就可以使用我們接下來演示的方法來調(diào)試了。
更多的詳細(xì)信息可以參看這本書: Hitchhiker's Guide to Visual Studio and SQL Server, Seventh Edition 。
在數(shù)據(jù)庫中直接調(diào)試
在數(shù)據(jù)庫中直接調(diào)試是調(diào)試SQL Server 2005的存儲(chǔ)過程的最簡單的方法。 在Visual Stuido的IDE中你可以選擇單步執(zhí)行存儲(chǔ)過程,然后就可以一條語句一條語句地單步執(zhí)行了,同時(shí)你也可以檢查和修改存儲(chǔ)過程內(nèi)的T-SQL變量和參數(shù)。 本文結(jié)尾處提供下載的壓縮包中包括一個(gè)SQL Server 2005 Express版本的Northwind數(shù)據(jù)庫。 我在其中添加了一個(gè)名為“DoThings”的存儲(chǔ)過程,它有一個(gè)參數(shù)@CategoryID。 這是一個(gè)沒什么實(shí)用價(jià)值的存儲(chǔ)過程,但是它有很多的T-SQL語句和變量,另外還有一個(gè)參數(shù),這將使我們能更好地練習(xí)存儲(chǔ)過程的調(diào)試。
在服務(wù)器資源管理器中右鍵單擊“DoThings”存儲(chǔ)過程,然后選擇單步執(zhí)行存儲(chǔ)過程的選項(xiàng)。 (注意:SQL Server調(diào)試只有Team Systems和Professional版本的Visual Studio才支持。)

調(diào)試器啟動(dòng)并且執(zhí)行存儲(chǔ)過程。 因?yàn)榇鎯?chǔ)過程“DoThings”需要一個(gè)傳入值給@CategoryID,所以會(huì)彈出一個(gè)對(duì)話框讓我們提供該值。 輸入1后單擊OK。

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

存儲(chǔ)過程知行完后,結(jié)果會(huì)顯示在輸出窗口中。
你可以看到,在數(shù)據(jù)庫中直接調(diào)試存儲(chǔ)過程是非常簡單的,而且很好理解。 簡單到你只需要在服務(wù)器資源管理器中,右鍵單擊存儲(chǔ)過程,然后選擇單步執(zhí)行存儲(chǔ)過程即可。
在ASP.NET程序中調(diào)試數(shù)據(jù)庫對(duì)象
數(shù)據(jù)庫中直接調(diào)試可以讓我們非常簡單地在Visual Studio IDE里直接調(diào)試存儲(chǔ)過程。 但是,有的時(shí)候我們需要在ASP.NET程序調(diào)用相關(guān)的存儲(chǔ)過程的時(shí)候再調(diào)試。 這樣,當(dāng)某個(gè)數(shù)據(jù)庫對(duì)象被調(diào)用的時(shí)候,我們就可以對(duì)其進(jìn)行調(diào)試。
這種調(diào)試方法整合到了應(yīng)用程序的調(diào)試之中。 要使用它需要做如下幾步:
·給你想要調(diào)試的數(shù)據(jù)庫對(duì)象添加斷點(diǎn)。 數(shù)據(jù)庫對(duì)象只有在包含斷點(diǎn)的情況下才會(huì)被調(diào)試。 例如,一般情況下,應(yīng)用程序在調(diào)用存儲(chǔ)過程的時(shí)候,你是不能進(jìn)入存儲(chǔ)過程內(nèi)部的, 如果你想調(diào)試存儲(chǔ)過程,那就必須要在存儲(chǔ)過程內(nèi)部設(shè)置斷點(diǎn)。
·配置應(yīng)用程序,使其可以調(diào)試SQL Server對(duì)象。 這個(gè)比較容易,你只要選中一個(gè)復(fù)選框即可。
·禁用連接池。 連接池可以提高性能,它允許程序使用一個(gè)連接池中的某個(gè)空閑的連接來連接數(shù)據(jù)庫。 如果啟用它,就不能正確地調(diào)試了。 因?yàn)槟J(rèn)情況下是啟用連接池的,所以我們必須在設(shè)置連接字符串的時(shí)候禁用它。 (當(dāng)你完成了在ASP.NET程序中調(diào)試SQL Server對(duì)象的工作之后,一定要記得重新啟用連接池
接下來讓我們來看一看這幾個(gè)步驟具體該如何做。
首先,在Visual Studio中打開“DoThings”存儲(chǔ)過程,然后在“DECLARE @AvgPrice money”這句上設(shè)置斷點(diǎn)。 這樣第一步就完成了,接下來做第二步。
配置ASP.NET程序,以使其支持SQL Server的調(diào)試。右鍵單擊項(xiàng)目,然后選擇屬性。 此時(shí)將會(huì)彈出一個(gè)如下圖所示的對(duì)話框。 選擇啟動(dòng)選項(xiàng),然后在“調(diào)試器”部分中選中“SQL Server”復(fù)選框。 這樣就完成前兩步了,還差最后一步。

最后一步,我們需要修改連接字符串,使其禁用連接池。 這個(gè)任務(wù)相當(dāng)簡單,你只要在你的連接字符串后加一個(gè)屬性“Pooling=false”即可。 假設(shè)你將連接字符串信息定義在了Web.config的<connectionString>節(jié)點(diǎn)里,那么修改后的連接字符串如下所示:



現(xiàn)在,我們已經(jīng)完成了這3個(gè)步驟。 為了演示如何調(diào)試,我們來創(chuàng)建一個(gè)調(diào)用“DoThings”存儲(chǔ)過程的ASP.NET頁。 本文結(jié)尾處你下載的Demo中就包含有這個(gè)頁面。 當(dāng)你調(diào)試ASP.NET程序并且訪問了這個(gè)頁的時(shí)候,程序就會(huì)暫停在存儲(chǔ)過程中設(shè)置了斷點(diǎn)的地方。 然后,你就可以單步執(zhí)行存儲(chǔ)過程,并且可以在監(jiān)視窗口中查看和修改參數(shù)和變量的值,就像在數(shù)據(jù)庫中直接調(diào)試存儲(chǔ)過程一樣。

結(jié)論
在SQL Server之前的版本中有一套用于調(diào)試存儲(chǔ)過程的獨(dú)立工具。 到了現(xiàn)在的SQL Server 2005,存儲(chǔ)過程、觸發(fā)器和用戶自定義函數(shù)(UDFs)都是通過Visual Studio Team System和Professional版本來調(diào)試的。 它給我們帶來了3種調(diào)試SQL Server的方法: 數(shù)據(jù)庫中直接調(diào)試、應(yīng)用程序調(diào)試和在SQL Server項(xiàng)目中調(diào)試。 本文中,我們一起研究了前兩種調(diào)試方法(使用本地?cái)?shù)據(jù)庫)。
祝編程愉快!
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
