在向大家详细介绍SQL Server调试的不同方法之前,首先让大家了解下Visual Studio IDE,然后全面介绍SQL Server调试的不同方法,希望对大家有用。SQL Server 2000可以让我们在查询分析器中直接调试存储过程(更多的信息请参看:用SQL Server 2000的查询分析器调试存储过程)到了现在的SQL Server 2005,这个功能被转移到了SQL Servr Management Studio和Visual Studio IDE内。 使用这个技术,我们可以在Visual Studio中一步一步地调试存储过程。而且你也可以在存储过程中设置断点,这样当你调试你的程序时,这些断点就会生效。
#t#SQL Server 2005的所有版本都支持调试功能(包括Express版)。 但是,只有Team Systems和Professional版本的Visual Studio才能在IDE内调试存储过程。 简而言之,如果你使用的是Visual Web Developer或者Visual Studio Standard版本的话,就不能在调试应用程序的时候,一步一步地调试存储过程或者进入到存储过程内部。
本文中,我将示例如何通过 Visual Studio IDE调试SQL Server 2005的存储过程。我们既会看到如何在IDE中直接一步一步地调试存储过程,也会看到如何给存储过程设置断点,并在调试应用程序的时候进入到断点处。继续往下看,你会知道得更多!
SQL Server调试的不同方法
现在的SQL Server 2005中,所有的数据库调试都发生在Visual Studio IDE的内部。数据库中的像存储过程、触发器和用户自定义函数(UDFs)这样的对象都是可以被调试的(译者注:本文中提到的数据库对象指的是存储过程、触发器或用户自定义函数)。 Visual Studio提供了3种调试这些数据库对象的方法。
◆数据库中直接调试 – 在Visual Studio的服务器资源管理器中,右键单击某个数据库对象,然后选择“单步执行××”。 例如,当你右键单击一个存储过程的时候,弹出菜单中就会包含一个“单步执行存储过程”的选项。
◆应用程序调试 – 在数据库对象内设置断点,然后通过应用程序进行调试。当相关的ASP.NET程序处于调试状态,并且调用了数据库对象的时候,那么Visual Studio就会暂停在你所设置的断点之处,从而允许我们一步一步地对T-SQL语句进行调试。
◆在SQL Server项目中调试 – 在Visual Studio中可以创建一个SQL Server项目。 该项目中可以包含T-SQL和数据库对象,并且这些数据库对象都可以通过SQL Server项目本身来调试。
关于这3种不同的SQL Server调试的更多信息,请参看:Overview of T-SQL and CLR Debugging in SQL Server 2005。
还有一个需要注意的地方就是,本文接下来所介绍的SQL Server调试是基于本地数据库的。 当然,无论是本地数据库还是远程数据库都是可以调试的。本地数据库指的是数据库部署在本机上;远程数据库指的是数据库部署在本机之外的机器上。 调试本地数据库不需要做额外的设置,但是调试远程数据库却要复杂得多。
本文主要介绍的是如何在数据库中直接调试,以及如何在ASP.NET程序中调试一个本地数据库。详细点说就是,我们将调试App_Data文件夹下的SQL Server 2005 Express版本的数据库,你可以在本文的结尾处下载该数据库及示例程序。以上介绍Visual Studio IDE,在今后的其它文章中我们再研究如何在SQL Server项目中调试数据库。