Stepping Through Transact-SQL Code
The Transact-SQL debugger enables you to control which Transact-SQL statements are run in a Database Engine Query Editor window. You can pause the debugger on individual statements and then view the state of the code elements at that point.
A breakpoint signals the debugger to pause execution on a specific Transact-SQL statement. The act of setting a breakpoint on a statement is called toggling a breakpoint.You can toggle a breakpoint on a Transact-SQL statement by selecting the statement and performing one of the following actions:
On the Debug menu, click Toggle Breakpoint.
In the Query Editor window, click the gray bar to the left side of the Transact-SQL statement that you want.
To view and manage all the open breakpoints, you can use the Breakpoints window. The Breakpoints window lists information such as which line of code the breakpoint is located on. In the Breakpoints window, you can also delete, disable, and enable breakpoints. For more information about the Breakpoints window, see Breakpoints Window.
You can open the Breakpoints window in one of the following ways:
On the Debug menu, click Windows, and then click Breakpoints.
On the Debug toolbar, click the Breakpoints button.
You can temporarily disable a breakpoint. This prevents the breakpoint from pausing execution, but leaves the definition in place in case you want to reenable the breakpoint later.
The following table lists the various ways in which you can disable, reenable, and delete breakpoints.
Disable an individual breakpoint
Disable all breakpoints
Reenable an individual breakpoint
Reenable all disabled breakpoints
Delete an individual breakpoint
Delete all breakpoints
The Transact-SQL debugger does not support the Microsoft Visual Studio features of setting breakpoint conditions or hit counts.
In the Transact-SQL debugger, you can specify the following options for executing from the current statement in Transact-SQL code:
Run to the next breakpoint.
Step into the next statement.
If the next statement invokes a Transact-SQL stored procedure, function, or trigger, the debugger displays a new Query Editor window that contains the code of the module. The window is in debug mode, and execution pauses on the first statement in the module. You can then move through the module code, for example, by setting breakpoints or stepping through the code.
Step over the next statement.
The next statement is executed. However, if the statement invokes a stored procedure, function, or trigger, the module code runs until it finishes, and the results are returned to the calling code. If you are sure there are no errors in a stored procedure, you can step over it. Execution pauses on the statement that follows the call to the stored procedure, function, or trigger.
Step out of a stored procedure, function, or trigger.
Execution pauses on the statement that follows the call to the stored procedure, function, or trigger.
Run from the current location to the current location of the pointer, and ignore all breakpoints.
The following table lists the various ways in which you can control how statements execute in the Transact-SQL debugger.
Run all statements from the current statement to the next breakpoint
Step into the next statement or module
Step over the next statement or module
Step out of a module
Run to the current cursor location