Step Through Transact-SQL Code

Applies to: SQL Server

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.

This feature works with SSMS version 17.9.1 and earlier.

Breakpoints

A breakpoint signals the debugger to pause execution on a specific Transact-SQL statement. For more information about breakpoints, see 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 Perform action:
Run all statements from the current statement to the next breakpoint Click Continue on the Debug menu.

Click the Continue button on the Debug toolbar.
Step into the next statement or module Click Step Into on the Debug menu.

Click the Step Into button on the Debug toolbar.

Press F11.
Step over the next statement or module Click Step Over on the Debug menu.

Click the Step Over button on the Debug toolbar.

Press F10.
Step out of a module Click Step Out on the Debug menu.

Click the Step Out button on the Debug toolbar.

Press SHIFT+F11.
Run to the current cursor location Right-click in the Query Editor window, and then click Run To Cursor.

Press CTRL+F10.

See Also