演练:调试 T-SQL 存储过程
更新:2007 年 11 月
本主题适用于:
版本 |
Visual Basic |
C# |
C++ |
Web Developer |
---|---|---|---|---|
速成版 |
||||
标准版 |
||||
专业团队版 |
表格图例:
适用 |
|
不适用 |
|
默认情况下隐藏的一条或多条命令。 |
此示例演示如何通过直接数据库调试创建和调试 T-SQL 存储过程,即使用服务器资源管理器单步执行存储过程。此外,它还阐释了不同的调试技术(如设置断点、查看数据项等)。
说明: |
---|
显示的对话框和菜单命令可能会与“帮助”中的描述不同,具体取决于您的当前设置或版本。若要更改设置,请在“工具”菜单上选择“导入和导出设置”。有关更多信息,请参见 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)