本主题适用于:
Visual Studio 旗舰版 |
Visual Studio 高级专业版 |
Visual Studio 专业版 |
Visual Studio 速成版 |
---|---|---|---|
![]() |
![]() |
![]() |
![]() |
本示例演示如何通过直接数据库调试(即使用资源管理器单步执行存储过程)创建和调试 Transact-SQL 存储过程。此外,它还阐释了不同的调试技术(如设置断点、查看数据项等)。
提示
显示的对话框和菜单命令可能会与帮助中的描述不同,具体取决于您现用的设置或版本。若要更改设置,请在“工具”菜单上选择“导入和导出设置”。有关更多信息,请参见 Visual Studio Settings。
调试 Transact-SQL 存储过程
在新的 SQL Server 项目中,建立一个到 AdventureWorks2008 示例数据库的连接。有关更多信息,请参见如何:使用服务器资源管理器连接到数据库。
使用下面第一个示例部分中的代码创建一个新的存储过程,并将其命名为 HelloWorld。有关更多信息,请参见如何:使用 SQL Server 数据库项目或服务器项目进行调试。
在 HelloWorld 中设置断点,并单步执行存储过程。有关更多信息,请参见如何:使用服务器资源管理器单步执行对象。以黄色箭头指定的指令指针将出现在 SET @mynvarchar = @@VERSION 行,该行是存储过程中代码的第一个可执行行。
尝试不同的调试功能。
使**“局部变量”窗口可见。为此,请在“调试”菜单中,单击“窗口”,再单击“局部变量”。请注意,参数和局部变量以及它们的对应值显示在“局部变量”窗口中。可以在存储过程运行时在“局部变量”**窗口中编辑变量的值。有关更多信息,请参见How to: Use Debugger Variable Windows。
注意 服务器可能不会在调试器窗口中反映对变量值的更改。有关更多信息,请参见 SQL 调试限制。
按 F10 执行存储过程中的一行。注意,**“局部变量”**窗口中的变量 @mynvarchar 的值已经更改,并且它的值现在显示为红色,表示它已经更改。
使**“监视”窗口可见。为此,请在“调试”菜单中,单击“窗口”,再选择“监视”**。有关更多信息,请参见How to: Use Debugger Variable Windows。
在文本编辑器中,双击 @mynvarchar 变量以选择它。将 @mynvarchar 拖到**“监视”**窗口上的任意位置。该变量随即添加到受监视的变量列表中。
注意 也可以在**“监视”**窗口中编辑变量的值。
在文本编辑器中,右键单击 Return (0) 行,并在快捷菜单上单击**“插入断点”**。
在**“调试”菜单上单击“继续”**。
再次选择**“继续”**完成调试存储过程。
注意 您可以在 AdventureWorks2008 数据库中单步执行任何存储过程,AdventureWorks2008 数据库显示在与之关联的**“存储过程”**节点下。
示例
这是存储过程的代码。
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)