Step 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.
Breakpoints
A breakpoint signals the debugger to pause execution on a specific Transact-SQL statement. For more information about breakpoints, see Using Transact-SQL Breakpoints.
Controlling Statement Execution
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.
Action |
Procedure |
---|---|
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 |
|