T-SQL调试器重返SQL Server 2008

问题:如果你还记得用SQL Server
2000工作的情形,那么你可能会记得在查询分析器中调试程序(存储过程、UDF和触发器)的样子,因为一个调试工具是可以使用它的。从SQL Server
2005开始,查询分析器和企业管理就合并成SSMS。虽然这个单一界面简化了使用SQL Server
的过程,但是一个主要的缺点是,它不允许你从那里调试程序。要达到这个目的,你需要安装Visual
Studio(企业和专业)版本,在你的开发机器上允许你调试一个程序。安装Visual
Studio的要求是数据库开发人员和数据库管理人员可能不愿意去做,因为它要求额外的费用来支付Visual Studio
证书并且在安装之后把其它压力放在物理盒中。

  SSMS中的调试性能是用户长期追求的一个功能,最终Microsoft SQL Server团队决定在SQL Server
2008中提供这个功能。有了这个功能,你可以逐行浏览你的代码,查看程序中变量的当前状态,而在一个输出窗口中你可以观察代码正在做什么,在错误窗口中,你可以向前一行浏览也可以向后查看,发现系统对象如访问堆和线程,除此之外,你甚至可以安置“断点”然后告诉调试器运行代码直到该点在停止。

  实例

  你可以通过点击查询工具栏中的Debug按钮或者点击Debug菜单中的Start Debugging或者按ALT+F5来启动调试器。

  在下面的图像中,我在一个调试模式下执行代码;你会注意到虽然本地窗口的细节只是看得见的,但是底下一些窗口显示了T-SQL调试器中当前范围内本地变量的信息。

  

  图一

  让我们看看另一个例子。本例子的脚本在下面表格中提供,一个程序调用另外一个程序,因此,在执行过程中如果你看看Call
Stack窗口,你会得到当前的执行位置和执行如何从最初的编辑器窗口通过任何T-SQL路径(函数、存储过程或者触发器)传递到如下显示的当前执行位置。

  脚本 #1: 创建一个调用其他程序的程序

      CREATE PROCEDURE PROC1

  AS

  BEGIN

  PRINT 'A'

  PRINT 'B'

  EXECUTE PROC2

  END

  GO

  CREATE PROCEDURE PROC2

  AS

  BEGIN

  PRINT 'C'

  PRINT 'D'

  END

  GO

  EXECUTE PROC1

  GO

  图二

  注意事项

  SSMS必须在一个Windows/SQL
Server账户下运行,该账户是系统管理员固定服务器角色中的一员,否则,你将得到类似于下图的错误信息:

  

  图三

  当SSMS正在从一个不同计算机上的数据库引擎实例中运行时,如果你在运行T-SQL调试器,你必须通过Windows防火墙控制面板应用程序在两个计算机上启用程序和端口例外。

  微软建议T-SQL代码应该在一个开发/测试服务器上调试,而不是在一个生产服务器中,首先这是因为它要求成员必须作为系统管理员固定服务器角色的一部分来调试,其次是因为当你调试和研究时,它可能会保存资源更长时间。

  限制

  如果你甚至从SQL Server 2008 SSMS连接到SQL Server
2005,那么你可能不能调试你的程序并得到下面的错误,这种情况会发生,那是因为T-SQL调试器包含服务器端和客户端的组件,因此,概括来说,它只能与SQL
Server 2008工作到这种程度。

  

  图四

  T-SQL调试器不支持设置断点情形或者触及法律的Microsoft Visual Studio功能。

时间: 2024-10-25 03:50:12

T-SQL调试器重返SQL Server 2008的相关文章

使用Windows Server 2008服务器管理器配置角色

概览: 角色和功能之间的差别 使用服务器管理器可以做些什么 使用向导 从命令行管理角色和功能 贯穿在 Windows Server 2008 中的主题之一就是"简约".这并不意味着不必要地去除一些功能.相反,这是简化和澄清角色和工具的一种策略,以便于您只安装所需的内容,多余的一概不安装.服务器管理器 是 Windows Server 2008 中这一概念的重要组成部分. 它包含两方面的内容.首先是有关服务器角色和功能的最重要的概念,它们是 Windows Server 2008 的构建

SQL Server 2008中数据收集器和管理数据仓库

08年8月份发布的SQL Server 2008充满了许多新特性.其中一个新特性就是数据收集器.与这一新特性相关联的是管理数据仓库(MDW).数据收集器功能非常强大,数据库管理员借助这一工具,能够收集不同来源的统计数据,而管理数据仓库就是用来存放存储这些数据. 一.什么是数据收集器? 数据收集器是SQL Server 服务器上的一个核心组件,它收集来自多种来源的数据,并将收集的数据存储在称为管理数据仓库的关系数据库中.数据采集器使用SSIS和SQL 代理的作业来实现这一功能. 数据收集器按照不同

管理器-如何启动SQL Server 2008数据库

问题描述 如何启动SQL Server 2008数据库 我在SQL Server 配置管理器停止了SQL Server(MSSQLSERVER)现在启动不了了,请各位指教. 解决方案 我开始装SQL Server时也出现这样的错误,你再看看下面的方法行不行:1.右击你的SQL Server图标:2.选择安全下面的编辑点击进去:3.选择添加点击进去后,选择高级:4.点击进去后,选择立即查找:5.在窗口最下面下拉找到everyone并选中:6.选中everyone后,会回到安全编辑页面:7.将窗口最

SQL Server 2008下轻松调试T-SQL语句和存储过程

今天突然有同事问起,如何在sqlserver中调试存储过程(我们公司使用的是sqlserver 2008 R2),猛地一看,和以前使用sqlserver 2000真的有很大的不同,我真晕了. 于是琢磨了一下.SQLSERVER 2005中不知因何去掉了很重要的DEBUGGER功能,要调试,必须要安装VS2005专业版或者更高版本.非常不方便. 还好,SQLSERVER 2008中这个很重要而且方便的功能又回来了.     不过,SQLSERVER 2008的调试功能和SQL2000的方法差别很大

配置SQL Server 2008的资源调控器实现负载均衡

原文:配置SQL Server 2008的资源调控器实现负载均衡 转自:http://www.ithov.com/server/93267.shtml 1.为什么引入"资源调控器"? 在SQL Server 2008之前,数据库引擎曾尝试为所有并发用户提供均衡的性能,这使我们几乎无法控制分配给用户或工作负载的优先级,而且随着并发登录的增加会雪上加霜."资源调控器"有助于防止性能问题,并识别正在使用的应用程序."资源调控器"可以控制分配给会话的CP

如何在SQL Server 2008下轻松调试T-SQL语句和存储过程_mssql2008

今天突然有同事问起,如何在sqlserver中调试存储过程(我们公司使用的是sqlserver 2008 R2),猛地一看,和以前使用sqlserver 2000真的有很大的不同,我真晕了. 于是琢磨了一下.SQLSERVER 2005中不知因何去掉了很重要的DEBUGGER功能,要调试,必须要安装VS2005专业版或者更高版本.非常不方便. 还好,SQLSERVER 2008中这个很重要而且方便的功能又回来了. 不过,SQLSERVER 2008的调试功能和SQL2000的方法差别很大.SQL

SQL SERVER 2008 R2配置管理器出现“远程过程调用失败”(0x800706be)错误提示_mssql2008

以前SQL Server 2008 不能登陆的时候,总是通过"计算机管理"→"SQL Server服务"更改一下,"SQL Server(MSSQLSERVER)".可是现在出现的问题却成了SQL Server服务打不开的情况,很是郁闷.如图: 通过网上查,才知道是因为SQL Server2008 与VS2012 共存的问题,当你电脑中同时装了这两样东西,SQL 就会出现上图中的情况. 解决办法:从控制面板或者其他辅助软件中找到"Mic

SQL Server 2008 筛选器报错Microsoft.SqlServer.Management.Sdk.Sfc

在Microsoft SQL Server 数据库中有时候经常需要筛选表,因为数据中表比较多时,不仅从一堆表里面找一个表比较麻烦,而且客户端从服务器加载这些信息需要一些时间.前两天安装了SQL Server 2008,结果在筛选表时,报如下错误:    点击确定后,然后"表(已筛选)",弹出如下错误提示.   这个是因为没有打上SQL Server 2008 Service Pack 1这个补丁.打上这个补丁后,就不会出现上面这种错了.SP1补丁官方地址http://www.micro

《数据库基础及实践技术——SQL Server 2008》一2.5 SQL Server Management Studio工具

2.5 SQL Server Management Studio工具 SQL Server Management Studio是SQL Server 2008中最重要的管理工具之一,使用这个工具既可以用图形化的方法,也可以通过编写SQL语句来实现对数据库的操作. SQL Server Management Studio是一个集成环境,用于访问.配置和管理所有的SQL Server组件,它组合了大量的图形工具和丰富的脚本编辑器,使技术水平不同的开发和管理人员都可以通过这个工具访问和管理SQL Se