二、SQLSERVER2008Express 智能提示加强:
该功能是SQL2008在SQL2005之后的升级版,我们可以很方便的调用智能提示,和 VS一致:使用快捷键ctrl + J 即可。
截图如下:
该功能是否与VS一样了呢? 毕竟他们都是微软的产品。
三、调试T-SQL语句:
1.Debug普通T-SQL语句:
SQL代码如下:
1 use northwind 2 go 3 4 declare @i int , @j int , @k int 5 set @i = 1 ; 6 set @j = 2 ; 7 set @k = @i + @j 8 select @i ; 9 go
非常简单的定义了 三个int 型变量:i、j、k并且对这些变量进行简单的逻辑运算,在Management Studio 中只要轻松的按F11键,即可调试以上代码块。
截图如下:
接着点击F11逐语句debug 或者F10逐过程调试代码。
截图如下:
这个dubug的场面您是否觉得已经和VS相差无几了呢?
四、支持复杂存储过程嵌套debug:
您可能会疑问,在一个庞大的系统中,如果数据库逻辑绝大部分都是存储过程实现的情况下,会出现存储过程嵌套存储过程或者嵌套存储函数这样的代码。
SQL2008是否支持调试功能呢?答案是肯定的。
首先定义一个简单的存储过程(本文使用NorthWind数据库)代码如下:
1 CREATE procedure sp_getOrders 2 @orderID int = null 3 as 4 if ( @orderID is null ) 5 begin 6 print ' null ' 7 end 8 else 9 begin 10 print ' correct ' 11 end 12 select * from Orders where OrderID = @orderID 13 go
该存储过程在以下批处理内被调用,代码如下:
1 declare @i int , @j int , @k int 2 set @i = 1 ; 3 set @j = 2 ; 4 select @k = @i + @j 5 exec sp_getOrders 10248 6 select @i ; 7 go
F11对以上代码进行SQL Debug。
截图如下:
当断点经过exec sp_getOrders 10248 这段代码时,点击F11进入sp_getOrders存储过程进行逐语句debug。
截图如下:
这样可以在嵌套的存储过程或函数内进行debug了,此刻不得不承认: 升级后的SQL2008越来越强大。您还恐惧使用或者调试存储过程么?
出处:http://www.cnblogs.com/ryanding/
二、解决sql server 2008 无法启动t-sql调试,未能附加到 sql server 进程
以前没有关注sql server 2008的新特性,只知道加了智能感知。其他的也没有细细的去了解。今天看到园子里的一篇文章SQLServer2008:助您轻松编写T-SQL存储过程(原创),在本地试了下,运行代码如下:
declare @i int,@m int,@sum int
set @i=2;
set @m=3;
set @sum=@i+@m;
print @sum;
提示说错误:sql server 2008 无法启动t-sql调试,未能附加到 sql server 进程。
查了下,原来要运行如下命令:
exec sp_addsrvrolemember 'KEVIN-PC\Administrator', 'sysadmin'
再调试出现与vs的类似的界面
无法启动T-SQL调试。未能连接到计算机 “.”
1.要在服务器本机,不要远程,如果是远程,需要远程配置 参见网站: https://msdn.microsoft.com/zh-cn/library/cc646024(v=sql.105).aspx
2.服务器名称用电脑名称(cmd->hostname),不要用IP,(local)或.
将 Windows 登录帐户添加为 sysadmin
已经具有 sysadmin 特权的用户必须执行以下命令:
sp_addsrvrolemember 'Domain\Name', 'sysadmin'
其中,Domain\Name 表示 Windows 登录帐户,若不清楚登录账户是什么,可以在SQLServer连接中尝试Window登录,即可看到相应的用户名。