SQL Server 2008新特性——SSMS增强

SQL Server 2008已经发布很多天了,今天来总结一下我们最常用的工具SSMS在SQL 2008中的一些改进:

1.在注册的服务器组中一次SQL查询可以针对多个服务器执行。

首先是要在“已注册的服务器”中创建组,也可以使用系统默认的组,然后添加多个数据库到组中。接下来右击数据库组,选择“新建查询”选项,系统将打开一个多数据库查询的编辑器,选择多个服务器中公共的数据库,在其中输入SQL语句F5执行即可将多个服务器中的数据一次性都查询出来。

image

2.可以为不同的服务器设置不同的状态栏颜色。

在登录服务器的时候,选择“选项”按钮,然后可以在“连接属性”选项卡中设置“使用自定义颜色”,如图:

image

登录后接下来查询的状态栏将会是我们自定义的颜色:

image

这个功能有什么用呢?在项目开发中经常需要连接到多台服务器中,开发环境数据库一种颜色、测试环境一种颜色,这样多醒目啊,不容易搞混。

3.活动和监视器

在SQL Server 2005的时候可以下载一个Performance Dashboard Reports,然后在SSMS中添加到报表中,可以通过报表的方式来查看数据库实例的活动情况。现在好了,SSMS2008中直接使用“活动和监视器”功能来实现了。实质上每15秒钟从动态管理视图中采集一次数据,然后展示出来。功能比较强大,进程、资源等待、IO情况等都可以展示出来。在对象资源管理器中右击数据库实例,然后选择“活动和监视器”选项即可打开,如图:

image

在SQL Server 2008中对动态管理视图进行了修改sys.dm_os_sys_info中去掉了cpu_ticks_in_ms列,添加了两个新列,而这新列在活动和监视器中就要用到,由于SQL2005没有对应的列,所以使用SSMS2008可以连接SQL2005服务器并打开活动和监视器,但是第一个图“处理器时间百分比”无法显示。其他地方好像还是挺正常的。

4.提供了分区向导

在SSMS2005中要对表进行分区那就只有手动创建分区方案、分区函数,然后应用到表。现在好了,SSMS2008提供了分区向导,在要分区的表上面右击,然后选择“存储”下面的“创建分区”选项即可。接下来就按照向导的要求做就是了。

5.加强了对象资源管理器详细信息

SSMS2008中默认是没有开启对象资源管理器详细信息,使用快捷键F7可以呼唤出来。现在在详细信息页面可以提供更多的信息,例如可以直接列出每个数据库的大小,在表详细信息中可以列出每个表的行数等等。通过右击详细信息的列头,可以选择要列出的内容。列出表行数如图:

image

6.数据库对象搜索功能

搜索框就在对象资源管理器详细信息上方,就和LIKE一样的用,使用%表示多个字符进行模糊搜索。搜索的是数据库对象:表、视图、存储过程、函数、架构……全部可以搜索出来,而搜索范围由对象资源管理器中选择,如果选中的是整个实例,那就是整个数据库实例的搜索,选择一个数据库那么就只搜索这个数据库:

image

7.对表实行“选择前n行”和“编辑前m行”

在SSMS2005中就是“编辑”和“打开表”,不能指定行数,对于数据量很大的表,这可不是件好事。现在好了,可以直接选择前n行了,默认情况下是选择前1000行,编辑前200行。觉得这个数字不合适?简单,在“工具”菜单的“选项”命令中可以修改:

image

8.智能感知

这可是SSMS2008的一大亮点,SSMS终于可以像VS一样提供智能感知了。不过现在功能还不是很强,没有SQL Prompt强,但是SQL Prompt是要收费的,相信SSMS的智能感知能够很快发展起来。SSMS中的智能感知提供了拼写检查、自动完成列出成员的功能,下图就是智能感知对第一行拼写错误的警告还有第二个SQL语句的自动列出成员的功能。

image

如果是在用SQL Prompt,不想用这个的话,在“工具”菜单“选项”中可以关闭之。

9.T-SQL调试

可以直接在SSMS中调试T-SQL代码了。断点设置和VS的相同,VS中是F5来启动调试,SQL中由于F5已经是执行了,所以只有ALT+F5来启动调试了。这个必须针对SQL2008的服务器,如果连接的是2005,仍然无法调试。

image

10.查询结果表格提供连同标题一起复制的功能

在SQL2005中查询的结果用表格显示,如果复制数据的话那么列名是不会被复制的,只能复制数据内容。现在SSMS2008中提供了连同标题一起复制的功能,右击窗格结果,可以看到“连同标题一起复制”选项,如图:

image

复制得到的结果就是:

ID    Name
1    深蓝

11.直接以图形方式显示查询出来的执行计划

在DMV查询时,查询出的执行计划是XML格式,直接点开链接的话出现的是XML内容,然后要把XML内容保存为.sqlplan后缀的文件才能再用SSMS查看到图形。在SSMS2008中,现在点击链接后出现的就直接是图形了。例如执行如下查询,查看缓存中的执行计划:

SELECT qp.query_plan,cp.*
FROM sys.dm_exec_cached_plans cp
CROSS APPLY sys.dm_exec_query_plan(cp.plan_handle) qp

执行后点击XML的链接即可图形化展示执行计划,如图:

image

12.从执行计划可以获得对应的查询脚本

这点功能确实不错,获得了一个图形化的执行计划后,在SSMS中右击该执行计划,在右键菜单中选择“编辑查询文本”,如图:

image

系统将自动新建选项卡,将查询脚本显示出来。

13.在查询编辑器中直接启用针对当前会话的Profiler。

在SQL2005中,Profiler基本上是独立的,对于跟踪测试一个查询的执行情况比较麻烦,现在SSMS2008直接可以在查询编辑器中启动Profiler了,右击查询机器,选择“SQL Server Profiler中的跟踪查询”选项,系统将启动针对当前查询编辑器SPID的Profiler跟踪。也就是说启动的Profiler中设置了过滤条件,只跟踪SPID为启动Profiler的查询编辑器的SPID,其他用户在数据库上执行任务并不造成大量的干扰数据影响跟踪。

14.提供了Service Broker模板

以前在SSMS2005中新建Service Broker的相关内容完全靠T-SQL编写,没有模板。现在SSMS2008中有所改进,右击Service Broker或下面的节点,都有个“新建XX”选项,选择该选项,系统将提供一个模板,虽然还是没有图形化的设置界面,不过有模板总比没有强吧。

目前我知道的就这些,肯定还有大量的新特性还没有被发现,若发现了其他新特性希望大家留言。

【出自博客园深蓝居,转载请注明作者出处】
posted @ 2008-08-28 02:04 深蓝 阅读(2923) 评论(17)  编辑 收藏 网摘 所属分类: SQL2008

  回复  引用  查看    
#1楼 2008-08-28 05:23 | 真见      
哇,,这写的才强啊,,上次那个多服务器查询不清楚没写出来。。。
那个调试能不能写写怎么调试存储过程的。。

  回复  引用  查看    
#2楼 2008-08-28 07:37 | 小生      
很牛很強大
可惜還沒用上:(

  回复  引用    
#3楼 2008-08-28 08:09 | 大湖 [未注册用户]
不错
  回复  引用    
#4楼 2008-08-28 08:18 | sql2008 [未注册用户]
10 这条在05里面的选项的查询结果可以设置
  回复  引用  查看    
#5楼 2008-08-28 08:26 | aierong      
楼主 ,文章总结得不错

10.查询结果表格提供连同标题一起复制的功能
在SQL2005中查询的结果用表格显示,如果复制数据的话那么列名是不会被复制的,只能复制数据内容。

sql2005也可以复制标题,不过先要去选项里面设置一下




  回复  引用  查看    
#6楼 2008-08-28 08:30 | aierong      
8.智能感知
2.可以为不同的服务器设置不同的状态栏颜色。



这功能是我最期待的

  回复  引用  查看    
#7楼 2008-08-28 08:50 | 侯垒      
不错.
  回复  引用  查看    
#8楼 2008-08-28 08:57 | Justin      
2005还没怎么用呢,已经2008啦
  回复  引用  查看    
#9楼 2008-08-28 09:09 | rO8eR70.nEt      
写得好!
  回复  引用  查看    
#10楼 2008-08-28 09:35 | 小庄      
看了楼主的文章,激动的我现在马上去下载sql server 2008装上!
  回复  引用  查看    
#11楼 2008-08-28 11:01 | 代码乱了      
分区向导,和调试这两点我比较喜欢
  回复  引用    
#12楼 2008-08-28 11:57 | 韩现龙未登录 [未注册用户]
由于最近在使Oracle10G的数据库,对SQL Server2008的关注性不够高。
今天看到了楼主的文章很高兴,这是一个时代下的必然产物。

不过……上次我从微软的网站上来了开发人员体验版安装的时候却说不支持的操作系统(XP Sp3和Vista Sp1均是如此)
娘的明明那下面写的支持Vista和Vista SP1的!

  回复  引用  查看    
#13楼 [楼主]2008-08-28 22:54 | 深蓝      
@真见
不好意思,今天搬办公室,所以白天没有上网,现在才回复。调试存储过程很简单,直接在一个查询编辑器中编写一个执行某存储过程的SQL语句,比如:
EXEC testSP1 ‘01’
然后对其设置断点,然后Alt+F5进行调试,调试的时候使用F11快捷键就可以进入存储过程内部进行调试了。

  回复  引用  查看    
#14楼 2008-08-28 23:03 | 汉城      

  回复  引用  查看    
#15楼 2008-08-29 00:02 | 一叶舟      
智能感应是不是我以后不用去表里找字段名了啊
直接.就会出现字段名吗

  回复  引用  查看    
#16楼 [楼主]2008-08-29 00:11 | 深蓝      
@一叶舟
是的。就跟VS一样的。

  回复  引用  查看    
#17楼 2008-08-29 07:38 | 新程金锣      
智能感知要求数据库是SQL 2008格式,我查询2000上的弹不出来-_-

10.查询结果表格提供连同标题一起复制的功能
这个功能在SQL 2005的查询分析器中也提供,不过是在选项中配置的,没有象现在这样细。
在“选项”-“查询结果”-“SQL SERVER”—“以网格显示结果”-“在复制或保存结果时包括列标题”。


发表评论
姓名 [登录] [注册] 
主页
Email (仅博主可见) 
验证码 *  验证码看不清,换一张
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论   新用户注册   返回页首      

导航: 网站首页 社区 新闻 博问 闪存 网摘 招聘 .NET频道 知识库 找找看 Google站内搜索



China-pub 计算机图书网上专卖店!6.5万品种 2-8折!
China-Pub 计算机绝版图书按需印刷服务

相关文章:

相关链接:

 

我要啦免费统计