如何:使用 SQL Server 数据库项目或服务器项目进行调试

本主题适用于:

Visual Studio 旗舰版

Visual Studio 高级专业版

Visual Studio 专业版

Visual Studio 速成版

ms165040.DoesApplybmp(zh-cn,VS.100).gif ms165040.DoesApplybmp(zh-cn,VS.100).gif ms165040.DoesApplybmp(zh-cn,VS.100).gif ms165040.DoesNotApplybmp(zh-cn,VS.100).gif

下面的过程描述如何使用 Visual StudioSQL Server 数据库项目或服务器项目类型来调试 Transact-SQL。有关在 C++、Visual Basic 或 C# 项目中调试 Transact-SQL 的信息,请参见调试多层数据库应用程序

在 SQL Server 数据库项目或服务器项目的上下文中,每当启动调试时,调试器将始终在活动的 Transact-SQL 查询窗口中开始调试 Transact-SQL 代码。如果不希望调试整个脚本,请于开始调试之前仅在查询窗口中突出显示 Transact-SQL 代码的子集。

若要调试存储过程和触发器这样的数据库对象,则需要在活动的 Transact-SQL 查询窗口中从 Transact-SQL 代码进入并单步执行这些对象。例如,如果希望调试存储过程:在调用该存储过程的 EXECUTE 语句上设置断点,在相同的 Transact-SQL 查询窗口上启动调试,然后通过单击**“调试”工具栏上的“单步执行”**来单步执行该存储过程。

提示

当使用 SQL Server 数据库或服务器项目时,Visual Studio 调试器不识别已通过服务器资源管理器设置的数据库对象上的断点。

在活动的 Transact-SQL 查询窗口中调试 Transact-SQL 脚本

  1. 确认已针对 Transact-SQL 调试设置了计算机。有关更多信息,请参见如何:启用 Transact-SQL 调试

  2. 启动 Visual Studio,并创建新的 SQL Server 数据库项目或服务器项目。

  3. 打开要用于开始调试的 Transact-SQL 脚本。还可以打开与当前项目关联或不关联的新 .sql 文件。

    1. 将新的 Transact-SQL 脚本添加到项目中:在解决方案资源管理器中右击项目名称,单击**“添加”,再单击“新建项”。在“添加新项”对话框中,选择“脚本”(位于“数据库项目”节点下的“用户脚本”模板中)。然后单击“添加”**。

    2. 若要打开与项目没有关联的新 Transact-SQL 查询窗口,请参见如何:启动 Transact-SQL 编辑器如何:连接到 Transact-SQL 编辑器中的数据库。注意:如果没有首先打开 SQL Server 数据库项目或服务器项目,则不能调试 Transact-SQL。

  4. 打开 Transact-SQL 查询窗口之后,开始编写 Transact-SQL 代码(如果尚未编写)。在准备开始调试后,继续下一个步骤。

  5. 在 Transact-SQL 代码中放置断点,方法是在 Transact-SQL 查询窗口的左空白处单击要中断执行的代码行。

  6. 通过按 F5 或打开**“调试”菜单并单击“启动调试”**,启动调试活动的 Transact-SQL 查询窗口。

  7. 使用**“调试”工具栏上的“单步执行”“逐过程”“跳出”**按钮,在 Transact-SQL 脚本中导航调试器。还可以按 F5 继续执行,直到出现下一个断点或脚本结束。

  8. 使用**“局部变量”“监视”**窗口检查代码的状态。有关更多信息,请参见使用局部变量窗口和监视窗口调试 Transact-SQL 对象

  9. 当完成并准备停止调试时,请按 Ctrl+Alt+Break,或者单击**“调试”工具栏上的“停止调试”**。

调试已部署到服务器上的 Transact-SQL 数据库对象

  1. 确认已针对 Transact-SQL 调试设置了计算机。有关更多信息,请参见如何:启用 Transact-SQL 调试

  2. 启动 Visual Studio,并创建新的 SQL Server 数据库项目或服务器项目。

  3. 打开要用于测试 Transact-SQL 数据库对象的 Transact-SQL 脚本。还可以打开与当前项目关联或不关联的新 .sql 文件。

    1. 将新的 Transact-SQL 脚本添加到项目中:在解决方案资源管理器中右击项目名称,单击**“添加”,再单击“新建项”。在“添加新项”对话框中,选择“脚本”(位于“数据库项目”节点下的“用户脚本”模板中)。然后单击“添加”**。

    2. 若要打开与项目没有关联的新 Transact-SQL 查询窗口,请参见如何:启动 Transact-SQL 编辑器如何:连接到 Transact-SQL 编辑器中的数据库。注意:如果没有首先打开 SQL Server 数据库项目或服务器项目,则不能调试 Transact-SQL。

  4. 打开 Transact-SQL 查询窗口之后,开始编写 Transact-SQL 测试代码(如果尚未编写)。调试 Transact-SQL 数据库对象的唯一方法是在活动的 Transact-SQL 查询窗口中单步执行它们。在会导致执行 Transact-SQL 的测试脚本中编写 Transact-SQL 代码。

    1. 若要调试存储过程,请向使用相应存储过程的测试脚本添加 EXECUTE 语句。

    2. 若要调试触发器、用户定义的函数和其他可编程的 Transact-SQL 数据库对象,请在会导致代码执行的测试脚本中编写 Transact-SQL 代码。

  5. 在 Transact-SQL 测试脚本中放置断点,方法是在 Transact-SQL 查询窗口的左空白处单击要中断执行的代码行。若要调试已部署到 SQL Server 实例的 Transact-SQL 数据库对象,请将断点放置在会导致执行这些对象的 Transact-SQL 代码之前。

  6. 在启动调试器之前,请单击 Transact-SQL 测试脚本,以确保它在 Visual Studio 中是活动的窗口。

  7. 通过按 F5 或打开**“调试”菜单并单击“启动调试”**,开始调试 Transact-SQL 测试脚本。

  8. 当调试器在断点处中断执行后,按 F8 或打开**“调试”菜单并单击“单步执行”**,以在 Transact-SQL 数据库对象的 Transact-SQL 代码中单步执行调试器。调试器单步执行数据库对象的 Transact-SQL 代码后,Visual Studio 将立即打开 Transact-SQL 查询窗口来显示相应的 Transact-SQL 代码。

  9. 调试器单步执行 Transact-SQL 数据库对象后,即可设置其他断点,并使用**“调试”工具栏上的“单步执行”“逐过程”“跳出”**按钮在 Transact-SQL 代码中导航调试器。还可以按 F5 继续执行,直到出现下一个断点或代码结束。

  10. 使用**“局部变量”“监视”**窗口检查代码的状态。有关更多信息,请参见使用局部变量窗口和监视窗口调试 Transact-SQL 对象

  11. 当完成并准备停止调试时,请按 Ctrl+Alt+Break,或者单击**“调试”工具栏上的“停止调试”**。

请参阅

其他资源

Creating SQL Server 2005 Objects In Managed Code

Overview of Visual Database Tools

调试 Transact-SQL 数据库对象