更新:2007 年 11 月
本主题适用于:
| 版本 | Visual Basic | C# | C++ | Web Developer | 
|---|---|---|---|---|
| 速成版 | .gif) | .gif) | .gif) | .gif) | 
| 标准版 | .gif) | .gif) | .gif) | .gif) | 
| 专业团队版 | .gif) | .gif) | .gif) | .gif) | 
表格图例:
| .gif) | 适用 | 
| .gif) | 不适用 | 
| .gif) | 默认情况下隐藏的一条或多条命令。 | 
此示例演示如何通过直接数据库调试创建和调试 T-SQL 存储过程,即使用服务器资源管理器单步执行存储过程。此外,它还阐释了不同的调试技术(如设置断点、查看数据项等)。
| .gif) 说明: | 
|---|
| 显示的对话框和菜单命令可能会与“帮助”中的描述不同,具体取决于您的当前设置或版本。若要更改设置,请在“工具”菜单上选择“导入和导出设置”。有关更多信息,请参见 Visual Studio 设置。 | 
调试 T-SQL 存储过程
- 在一个新的 SQL Server 项目中,建立一个到“AdventureWorks”示例数据库的连接。有关更多信息,请参见如何:连接到数据库。 
- 使用下面第一个示例部分中的代码创建一个新的存储过程,并将其命名为 HelloWorld。有关更多信息,请参见 如何:使用 SQL Server 项目类型进行开发。 
- 在 HelloWorld 中设置断点,并单步执行存储过程。有关更多信息,请参见 如何:使用服务器资源管理器单步执行对象。以黄色箭头指定的指令指针将出现在 SET @mynvarchar = @@VERSION 行,该行是存储过程中代码的第一个可执行行。 
- 尝试不同的调试功能。 - 使“局部变量”窗口可见。为此,请在“调试”菜单中,单击“窗口”,再单击“局部变量”。请注意,参数和局部变量以及它们的对应值显示在“局部变量”窗口中。可以在存储过程运行时在“局部变量”窗口中编辑变量的值。有关更多信息,请参见如何:使用调试器变量窗口。 - 注意 服务器可能不会在调试器窗口中反映对变量值的更改。有关更多信息,请参见 SQL 调试限制。 
- 按 F10 执行存储过程中的一行。注意,“局部变量”窗口中的变量 @mynvarchar 的值已经更改,并且它的值现在显示为红色,表示它已经更改。 
- 使“监视”窗口可见。为此,请在“调试”菜单中,单击“窗口”,再选择“监视”。有关更多信息,请参见如何:使用调试器变量窗口。 
- 在文本编辑器中,双击 @mynvarchar 变量以选择它。将 @mynvarchar 拖到“监视”窗口上的任意位置。该变量随即添加到受监视的变量列表中。 - 注意 也可以在“监视”窗口中编辑变量的值。 
- 在文本编辑器中,右键单击 Return (0) 行,并在快捷菜单上单击“插入断点”。 
- 在“调试”菜单上单击“继续”。 
 
- 再次选择“继续”完成调试存储过程。 - 注意 对于 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)