使用 Transact-SQL 调试器,可以通过为 SQL 存储过程显示 SQL 调用堆栈、局部变量和参数,以交互方式调试存储过程。 Transact-SQL 调试程序支持查看和修改局部变量和参数,以及查看全局变量。 它还提供在调试 Transact-SQL 脚本时控制和管理断点的能力。
本示例说明如何通过单步执行创建和调试 Transact-SQL 存储过程。
注意
Transact-SQL 调试对于 Azure SQL 数据库或 Azure SQL 托管实例不可用。
调试存储过程
在数据库引擎查询编辑器窗口中,连接到 SQL Server 数据库引擎的实例。 选择可以在其中创建示例存储过程的数据库。
在查询编辑器中粘贴以下代码。
CREATE TABLE [dbo].[Products] ([Id] INT, [Name] NVARCHAR(128)) CREATE PROCEDURE [dbo].[AddProduct] @id INT, @name NVARCHAR(128) AS BEGIN INSERT INTO [dbo].[Products] ([Id], [Name]) VALUES (@id, @name) SELECT [Name] FROM [dbo].[Products] WHERE [Id] = @id DECLARE @nextid INT SET @nextid = @id + 1 INSERT INTO [dbo].[Products] ([Id], [Name]) VALUES (@id, @name) SELECT [Name] FROM [dbo].[Products] WHERE [Id] = @nextid END按 F5 运行 Transact-SQL 代码。
在 SQL Server 对象资源管理器中,右键单击同一数据库引擎并选择“ 新建查询...”。确保已连接到在其中创建了存储过程的同一数据库。
将下面的代码粘贴到查询窗口中。
EXECUTE [dbo].[AddProduct] 50, N'T-SQL Debugger Test'; GO选择窗口左侧边距以向
EXEC语句添加断点。在 Transact-SQL 编辑器工具栏的绿色箭头按钮上按下拉列表箭头,然后选择“ 使用调试器执行 ”以执行调试查询。
或者,可以从 SQL 菜单开始调试。 选择 SQL>使用调试器执行。
请确保“本地”窗口打开。 如果没有,请选择 “调试 ”菜单,选择 “Windows ”和 “本地”。
按 F11 步入查询。 存储过程的参数及其各自的值显示在 “局部变量 ”窗口中。 或者,将鼠标指针悬停在
@name子句中的INSERT参数上方,你将看到要传递给它的 T-SQL 调试程序测试值。在文本框中选择“T-SQL 调试程序测试”。 键入“验证更改”,然后按下 ENTER 以便在调试时更改
name变量的值。 还可以在“局部变量”窗口中更改其值。 参数的值为红色,指示更改。请按 F10 跳过剩余代码。
调试完成后,请查询
Product表以查看其内容。SELECT * FROM [dbo].[Products]; GO注意查看结果窗口中表中的新行。