欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

如何在SQL Server 2008下輕松調(diào)試T-SQL語(yǔ)句和存儲(chǔ)過程

 更新時(shí)間:2013年10月30日 09:47:25   作者:  
sqlserver2008調(diào)試的要求和條件:如果在引擎所在的電腦或服務(wù)器上調(diào)試,則只需要SA或者WINDOWS用戶登陸即可。如果是異地調(diào)試,則需要設(shè)置防火墻例外,增加SSMS和SQLSERVER.EXE為允許,增加135端口允許通過

今天突然有同事問起,如何在sqlserver中調(diào)試存儲(chǔ)過程(我們公司使用的是sqlserver 2008 R2),猛地一看,和以前使用sqlserver 2000真的有很大的不同,我真暈了。

于是琢磨了一下。SQLSERVER 2005中不知因何去掉了很重要的DEBUGGER功能,要調(diào)試,必須要安裝VS2005專業(yè)版或者更高版本。非常不方便。

還好,SQLSERVER 2008中這個(gè)很重要而且方便的功能又回來了。

不過,SQLSERVER 2008的調(diào)試功能和SQL2000的方法差別很大。SQL2000是在查詢分析器中的對(duì)象瀏覽器中選中需要調(diào)試的存儲(chǔ)過程,右鍵----調(diào)試---輸入?yún)?shù)開始調(diào)試。

sqlserver2008中則完全不同,變成了必須要在SSMS中EXEC [PROCEDURE NAME] @VAR1,@VAR2,然后點(diǎn)綠色三角或者點(diǎn)菜單中的調(diào)試---啟動(dòng)調(diào)試。然后點(diǎn)工具欄的最右邊的單步調(diào)試或者跳出等。下面的變量窗口和堆棧窗口等可以查看調(diào)試中變量等動(dòng)態(tài)變化值。

sqlserver2008調(diào)試的要求和條件:如果在引擎所在的電腦或服務(wù)器上調(diào)試,則只需要SA或者WINDOWS用戶登陸即可。如果是異地調(diào)試,則需要設(shè)置防火墻例外,增加SSMS和SQLSERVER.EXE為允許,增加135端口允許通過。

總之,SQL2008的調(diào)試比2000操作起來麻煩多了,要求也多了。剛開始感覺不如2000的好用,也可能是使用2000習(xí)慣了。習(xí)慣是可怕的,但是微軟是在不斷進(jìn)步的...


一、回顧早期的SQL SERVER版本:

早在SQL Server 2000時(shí)代,查詢分析器的功能還很簡(jiǎn)陋,遠(yuǎn)不如VS那么強(qiáng)大。到SQL Server 2005時(shí)代,代碼高亮、SQL優(yōu)化等功能逐漸加強(qiáng),但是依然無法調(diào)試SQL語(yǔ)句。好一點(diǎn)的第三方的SQL語(yǔ)法編輯器似乎也不夠完美,這樣導(dǎo)致一些人抱怨存儲(chǔ)過程不便于維護(hù),開發(fā)的時(shí)候能不用則不用。

二、SQL Server 2008 Express 智能提示加強(qiáng):

該功能是SQL2008在SQL Server 2005之后的升級(jí)版,我們可以很方便的調(diào)用智能提示,和 VS一致:使用快捷鍵ctrl + J 即可。

截圖如下:

 

該功能是否與VS一樣了呢? 畢竟他們都是微軟的產(chǎn)品。

三、調(diào)試T-SQL語(yǔ)句:

1.Debug普通T-SQL語(yǔ)句:

SQL代碼如下:
use northwind  go  
declare @i int ,@j int,@k int  set @i = 1;  
set @j = 2;   set @k=@i + @j  
select @i;   go 

非常簡(jiǎn)單的定義了 三個(gè)int 型變量:i、j、k并且對(duì)這些變量進(jìn)行簡(jiǎn)單的邏輯運(yùn)算,在Management Studio 中只要輕松的按F11鍵,即可調(diào)試以上代碼塊。

截圖如下:

接著點(diǎn)擊F11逐語(yǔ)句debug 或者F10逐過程調(diào)試代碼。

截圖如下:

這個(gè)dubug的場(chǎng)面您是否覺得已經(jīng)和VS相差無幾了呢?

四、支持復(fù)雜存儲(chǔ)過程嵌套debug:

您可能會(huì)疑問,在一個(gè)龐大的系統(tǒng)中,如果數(shù)據(jù)庫(kù)邏輯絕大部分都是存儲(chǔ)過程實(shí)現(xiàn)的情況下,會(huì)出現(xiàn)存儲(chǔ)過程嵌套存儲(chǔ)過程或者嵌套存儲(chǔ)函數(shù)這樣的代碼。

SQL2008是否支持調(diào)試功能呢?答案是肯定的。

首先定義一個(gè)簡(jiǎn)單的存儲(chǔ)過程(本文使用NorthWind數(shù)據(jù)庫(kù))代碼如下:
CREATE procedure sp_getOrders    @orderID int = null   
as   if (@orderID is null )   
begin   print 'null'   
end   else   
begin print 'correct' 
end  select * from Orders whereOrderID = @orderID  
go 

該存儲(chǔ)過程在以下批處理內(nèi)被調(diào)用,代碼如下:
declare @i int ,@j int,@k int   set @i = 1;  
set @j = 2;  select @k=@i + @j  
exec sp_getOrders 10248   select @i;  
go 

F11對(duì)以上代碼進(jìn)行SQL Debug。

截圖如下:

當(dāng)斷點(diǎn)經(jīng)過exec sp_getOrders 10248 這段代碼時(shí),點(diǎn)擊F11進(jìn)入sp_getOrders存儲(chǔ)過程進(jìn)行逐語(yǔ)句debug。

截圖如下:

這樣可以在嵌套的存儲(chǔ)過程或函數(shù)內(nèi)進(jìn)行debug了,此刻不得不承認(rèn): 升級(jí)后的SQL2008越來越強(qiáng)大。您還恐懼使用或者調(diào)試存儲(chǔ)過程么?

相關(guān)文章

  • SQLServer 2008中的代碼安全(七) 證書加密

    SQLServer 2008中的代碼安全(七) 證書加密

    證書可以在數(shù)據(jù)庫(kù)中加密和解密數(shù)據(jù)。證書包含密鑰對(duì)、關(guān)于證書擁有者的信息、證書可用的開始和結(jié)束過期日期。
    2011-06-06
  • SQL之patindex函數(shù)的用法案例詳解

    SQL之patindex函數(shù)的用法案例詳解

    這篇文章主要介紹了SQL之patindex函數(shù)的用法案例詳解,本篇文章通過簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • SQL SERVER 2008 CTE生成結(jié)點(diǎn)的FullPath

    SQL SERVER 2008 CTE生成結(jié)點(diǎn)的FullPath

    SQL SERVER 2008 使用CTE是經(jīng)常的事兒,有時(shí)我們想存儲(chǔ)一些冗余數(shù)據(jù),像每個(gè)結(jié)點(diǎn)的FullPath。
    2011-10-10
  • Excel導(dǎo)入數(shù)據(jù)庫(kù)時(shí)出現(xiàn)的文本截?cái)鄦栴}解決方案

    Excel導(dǎo)入數(shù)據(jù)庫(kù)時(shí)出現(xiàn)的文本截?cái)鄦栴}解決方案

    在把Excel導(dǎo)入到數(shù)據(jù)庫(kù)中時(shí),發(fā)生文本截?cái)鄦栴}:即導(dǎo)入的數(shù)據(jù)每行只有一部分,遇到這樣的問題,甚是尷尬,接下來介紹此問題的解決方法,感興趣的朋友可以了解下,希望本文對(duì)你有所幫助
    2013-01-01
  • SQLServer搭建網(wǎng)站實(shí)例詳解

    SQLServer搭建網(wǎng)站實(shí)例詳解

    這篇文章主要介紹了SQLServer搭建網(wǎng)站實(shí)例詳解,文中通過圖片解析介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • SQL Server2008 Order by在union子句不可直接使用的原因詳解

    SQL Server2008 Order by在union子句不可直接使用的原因詳解

    這篇文章主要介紹了SQL Server2008 Order by在union子句不可直接使用的原因詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • SQLServer之常用函數(shù)總結(jié)詳解

    SQLServer之常用函數(shù)總結(jié)詳解

    這篇文章主要介紹了SQLServer之常用函數(shù)總結(jié)詳解,本篇文章通過簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • SpringMVC統(tǒng)一異常處理三種方法詳解

    SpringMVC統(tǒng)一異常處理三種方法詳解

    這篇文章主要介紹了SpringMVC-統(tǒng)一異常處理三種方法詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-02-02
  • java實(shí)現(xiàn)整數(shù)轉(zhuǎn)化為中文大寫金額的方法

    java實(shí)現(xiàn)整數(shù)轉(zhuǎn)化為中文大寫金額的方法

    這篇文章主要介紹了java實(shí)現(xiàn)整數(shù)轉(zhuǎn)化為中文大寫金額的方法,感興趣的小伙伴們可以參考一下
    2015-12-12
  • SQL server 2008 更改登錄驗(yàn)證方式的方法

    SQL server 2008 更改登錄驗(yàn)證方式的方法

    這篇文章主要介紹了SQL server 2008 更改登錄驗(yàn)證方式的方法,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2017-01-01

最新評(píng)論