演练:调试 T-SQL 存储过程

更新:2007 年 11 月

本主题适用于:

版本

Visual Basic

C#

C++

Web Developer

速成版

主题不适用 主题不适用 主题不适用 主题不适用

标准版

主题不适用 主题不适用 主题不适用 主题不适用

专业团队版

主题适用 主题适用 主题适用 主题适用

表格图例:

主题适用

适用

主题不适用

不适用

主题适用,但命令默认情况下隐藏

默认情况下隐藏的一条或多条命令。

此示例演示如何通过直接数据库调试创建和调试 T-SQL 存储过程,即使用服务器资源管理器单步执行存储过程。此外,它还阐释了不同的调试技术(如设置断点、查看数据项等)。

说明:

显示的对话框和菜单命令可能会与“帮助”中的描述不同,具体取决于您的当前设置或版本。若要更改设置,请在“工具”菜单上选择“导入和导出设置”。有关更多信息,请参见 Visual Studio 设置

调试 T-SQL 存储过程

  1. 在一个新的 SQL Server 项目中,建立一个到“AdventureWorks”示例数据库的连接。有关更多信息,请参见如何:连接到数据库

  2. 使用下面第一个示例部分中的代码创建一个新的存储过程,并将其命名为 HelloWorld。有关更多信息,请参见 如何:使用 SQL Server 项目类型进行开发

  3. 在 HelloWorld 中设置断点,并单步执行存储过程。有关更多信息,请参见 如何:使用服务器资源管理器单步执行对象。以黄色箭头指定的指令指针将出现在 SET @mynvarchar = @@VERSION 行,该行是存储过程中代码的第一个可执行行。

  4. 尝试不同的调试功能。

    1. 使“局部变量”窗口可见。为此,请在“调试”菜单中,单击“窗口”,再单击“局部变量”。请注意,参数和局部变量以及它们的对应值显示在“局部变量”窗口中。可以在存储过程运行时在“局部变量”窗口中编辑变量的值。有关更多信息,请参见如何:使用调试器变量窗口

      注意   服务器可能不会在调试器窗口中反映对变量值的更改。有关更多信息,请参见 SQL 调试限制

    2. 按 F10 执行存储过程中的一行。注意,“局部变量”窗口中的变量 @mynvarchar 的值已经更改,并且它的值现在显示为红色,表示它已经更改。

    3. 使“监视”窗口可见。为此,请在“调试”菜单中,单击“窗口”,再选择“监视”。有关更多信息,请参见如何:使用调试器变量窗口

    4. 在文本编辑器中,双击 @mynvarchar 变量以选择它。将 @mynvarchar 拖到“监视”窗口上的任意位置。该变量随即添加到受监视的变量列表中。

      注意   也可以在“监视”窗口中编辑变量的值。

    5. 在文本编辑器中,右键单击 Return (0) 行,并在快捷菜单上单击“插入断点”。

    6. 在“调试”菜单上单击“继续”。

  5. 再次选择“继续”完成调试存储过程。

    注意   对于 AdventureWorks 数据库中的存储过程,只要它们显示在与该数据库关联的“存储过程”节点下,就可以单步执行这些存储过程。

示例

这是存储过程的代码。

CREATE PROCEDURE HelloWorld
AS
    DECLARE @mynvarchar NVARCHAR(50),
            @myfloat FLOAT
    SET @mynvarchar  = @@VERSION
    SET @mynvarchar  = 'Hello, world!'
    SET @myfloat     = 1.6180
    PRINT @mynvarchar
    RETURN (0)

请参见

概念

调试 SQL

参考

服务器资源管理器/数据库资源管理器