Configurar e iniciar el depurador de Transact-SQL

Puede iniciar el depurador de Transact-SQL después de abrir una ventana del Editor de consultas de Database Engine (Motor de base de datos). A continuación, puede ejecutar el código de Transact-SQL en modo de depuración hasta que se detenga el depurador. Para cumplir los requisitos, puede personalizar la ejecución del depurador estableciendo opciones.

Configurar el depurador de Transact-SQL

El depurador de Transact-SQL incluye los componentes tanto del lado servidor como del lado cliente. Los componentes del depurador del servidor se instalan con cada instancia de SQL Server 2008Database Engine (Motor de base de datos). Los componentes del lado cliente se instalan cuando instale las herramientas de cliente de SQL Server 2008.

No existen requisitos de configuración para ejecutar el depurador de Transact-SQL cuando se ejecute SQL Server Management Studio en el mismo equipo como instancia de SQL Server Database Engine (Motor de base de datos de SQL Server). No obstante, para ejecutar el depurador de Transact-SQL cuando se ejecute SQL Server Management Studio en un equipo que no sea en el que se ejecuta la instancia de Database Engine (Motor de base de datos), debe habilitar excepciones de programas y puertos mediante el uso de la aplicación del Panel de control Firewall de Windows en ambos equipos.

En el equipo en el que se ejecuta la instancia de Database Engine (Motor de base de datos), en Firewall de Windows, especifique la siguiente información:

  • Agregar el puerto TCP 135 a la lista de excepciones.

  • Agregar el archivo sqlservr.exe de programa a la lista de excepciones. De forma predeterminada, sqlservr.exe se instala en C:\Archivos de programa\Microsoft SQL Server\MSSQL10.nombreDeInstancia\MSSQL\Binn, donde nombreDeInstancia es MSSQLSERVER para la instancia predeterminada y el nombre de la instancia de cualquier instancia con nombre.

  • Si la directiva de dominio requiere que las comunicaciones se realicen a través de IPsec, también debe agregar los puertos UDP 4500 y 500 a la lista de excepciones.

En el equipo en el que se ejecuta SQL Server Management Studio, en Firewall de Windows, especifique la siguiente información:

  • Agregar el puerto TCP 135 a la lista de excepciones.

  • Agregar el archivo ssms.exe (SQL Server Management Studio) de programa a la lista de excepciones. De forma predeterminada, ssms.exe se instala en C:\Archivos de programa\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE.

Iniciar y detener el depurador

Los requisitos para iniciar el depurador de Transact-SQL son los siguientes:

  • SQL Server Management Studio se debe ejecutar con una cuenta de Windows que sea miembro de la función fija de servidor sysadmin.

  • La ventana del Editor de consultas de Database Engine (Motor de base de datos) se debe conectar mediante el uso de un inicio de sesión de autenticación de Windows o de autenticación de SQL Server que sea miembro de la función fija de servidor sysadmin.

  • La ventana del Editor de consultas de Database Engine (Motor de base de datos) se debe conectar a una instancia de SQL Server 2008Database Engine (Motor de base de datos). No puede ejecutar el depurador cuando la ventana del Editor de consultas esté conectada a una instancia con modo de usuario único.

Recomendamos que el código Transact-SQL se depure en un servidor de prueba, no en un servidor de producción, por las siguientes razones:

  • La depuración es una operación con muchos privilegios. Por consiguiente, solo los miembros de la función fija de servidor sysadmin pueden depurar en SQL Server.

  • Las sesiones de depuración se suelen ejecutar durante períodos de tiempo prolongados mientras se investiga el funcionamiento de varias instrucciones Transact-SQL. Los bloqueos, como los bloqueos de actualización, que adquiere la sesión se pueden mantener durante períodos prolongados, hasta que finalice la sesión o se confirme o revierta la transacción.

Al iniciarse el depurador de Transact-SQL , la ventana del Editor de consultas se pone en el modo de depuración. Cuando la ventana del Editor de consultas entra en el modo de depuración, el depurador se detiene en la primera línea de código. A continuación, puede recorrer el código, detener la ejecución en instrucciones Transact-SQL específicas y usar la ventana del depurador para ver el estado de la ejecución actual. Puede iniciar el depurador haciendo clic en el botón Depurador de la barra de herramientas Consulta o en la opción Iniciar depuración del menú Depurar.

La ventana del Editor de consultas permanece en estado de depuración hasta que finalice la última instrucción de dicha ventana o se detenga el modo de depuración. Puede detener el modo de depuración y la ejecución de la instrucción mediante uno de los siguientes métodos:

  • En el menú Depurar, haga clic en Detener depuración.

  • En la barra de herramientas Depurar, haga clic en el botón Detener depuración.

  • En el menú Consulta, haga clic en Cancelar ejecución de la consulta.

  • En la barra de herramientas Consulta, haga clic en el botón Cancelar ejecución de la consulta.

También puede detener el modo de depuración y dejar que finalice la ejecución del resto de las instrucciones Transact-SQL haciendo clic en la opción Desasociar todo del menú Depurar.

Controlar el depurador

Puede controlar el funcionamiento del depurador de Transact-SQL usando los siguiente comandos de menú, barras de herramientas y accesos directos:

  • El menú Depurar y la barra de herramientas Depurar. Tanto el menú Depurar como la barra de herramientas Depurar están inactivos hasta que el foco se coloque en una ventana abierta del Editor de consultas. Permanecen activas hasta que se cierre el proyecto actual.

  • Los métodos abreviados de teclado del depurador.

  • El menú contextual de Editor de consultas. El menú contextual se muestra cuando se hace clic con el botón secundario en una línea de una ventana del Editor de consultas. Cuando esta ventana esté en el modo de depuración, el menú contextual muestra los comandos del depurador que se aplican a la línea o cadena seleccionadas.

  • Los elementos de menú y los comandos contextuales de las ventanas que abre el depurador, como las ventanas Inspección o Puntos de interrupción.

La siguiente tabla muestra los comandos de menú, los botones de las barras de herramientas y los métodos abreviados de teclado del depurador.

Comando del menú Depurar

Comando de método abreviado del editor

Botón de la barra de herramientas

Método abreviado de teclado

Acción

Windows/Puntos de interrupción

No disponible

Puntos de interrupción

CTRL+ALT+B

Mostrar la ventana Puntos de interrupción en la que puede ver y administrar los puntos de interrupción.

Windows/Inspección/Inspección1

No disponible

Puntos de interrupción/Inspección/Inspección1

CTRL+ALT+W, 1

Mostrar la ventana Inspección1.

Windows/Inspección/Inspección2

No disponible

Puntos de interrupción/Inspección/Inspección2

CTRL+ALT+W, 2

Mostrar la ventana Inspección2.

Windows/Inspección/Inspección3

No disponible

Puntos de interrupción/Inspección/Inspección3

CTRL+ALT+W, 3

Mostrar la ventana Inspección3.

Windows/Inspección/Inspección4

No disponible

Puntos de interrupción/Inspección/Inspección4

CTRL+ALT+W, 4

Mostrar la ventana Inspección4.

Windows/Variables locales

No disponible

Puntos de interrupción/Variables locales

CTRL+ALT+V, L

Mostrar la ventana Variables locales.

Windows/Pila de llamadas

No disponible

Puntos de interrupción/Pila de llamadas

CTRL+ALT+C

Mostrar la ventana Pila de llamadas.

Windows/Subprocesos

No disponible

Puntos de interrupción/Subprocesos

CTRL+ALT+H

Mostrar la ventana Subprocesos.

Continuar

No disponible

Continuar

ALT+F5

Ejecutar un proceso hasta el siguiente punto de interrupción. La opción Continuar no está activa hasta que coloque el foco en una ventana del Editor de consultas que esté en el modo de depuración.

Iniciar depuración

No disponible

Iniciar depuración

ALT+F5

Poner una ventana del Editor de consultas en el modo de depuración y ejecutar hasta el primer punto de interrupción. Si el foco está en la ventana del Editor de consultas que está en el modo de depuración, la opción Iniciar depuración se reemplaza por Continuar.

Interrumpir todos

No disponible

Interrumpir todos

CTRL+ALT+INTERR

El depurador de Transact-SQL no usa esta característica.

Detener depuración

No disponible

Detener depuración

MAYÚS+F5

Sacar una ventana del Editor de consultas del modo de depuración y volver a ponerla en el modo normal.

Desasociar todo

No disponible

No disponible

No disponible

Detener el modo de depuración, pero se ejecutan las instrucciones restantes en la ventana del Editor de consultas.

Paso a paso por instrucciones

No disponible

Paso a paso por instrucciones

F11

Ejecutar la siguiente instrucción y, además, abrir una nueva ventana del Editor de consultas en el modo de depuración si la siguiente instrucción ejecuta un procedimiento almacenado, un desencadenador o una función.

Paso a paso por procedimientos

No disponible

Paso a paso por procedimientos

F10

Igual que Paso a paso por instrucciones, salvo que no se depuran las funciones, los procedimientos almacenados ni los desencadenadores.

Paso a paso para salir

No disponible

Paso a paso para salir

MAYÚS + F11

Ejecutar el resto del código de un desencadenador, función o procedimiento almacenado sin detenciones por puntos de interrupción. Se reanuda el modo de depuración normal cuando el control se devuelva al código que llamó al módulo.

No disponible

Ejecutar hasta el cursor

No disponible

CTRL+F10

Ejecutar todo el código desde la última ubicación de detención hasta la actual sin detenerse en ningún punto de interrupción.

Inspección rápida

Inspección rápida

No disponible

CTRL+ALT+Q

Mostrar la ventana Inspección rápida.

Alternar puntos de interrupción

Punto de interrupción/Insertar punto de interrupción

No disponible

F9

Colocar un punto de interrupción en la instrucción Transact-SQL actual o seleccionada.

No disponible

Punto de interrupción/Eliminar punto de interrupción

No disponible

No disponible

Eliminar el punto de interrupción de la línea seleccionada.

No disponible

Punto de interrupción/Deshabilitar punto de interrupción

No disponible

No disponible

Deshabilitar el punto de interrupción en la línea seleccionada. El punto de interrupción permanece en la línea de código, pero no detendrá la ejecución hasta que se rehabilite.

No disponible

Punto de interrupción/Habilitar puntos de interrupción

No disponible

No disponible

Habilitar el punto de interrupción en la línea seleccionada.

Eliminar todos los puntos de interrupción

No disponible

No disponible

CTRL+MAYÚS+F9

Eliminar todos los puntos de interrupción.

Deshabilitar todos los puntos de interrupción

No disponible

No disponible

No disponible

Deshabilitar todos los puntos de interrupción.

No disponible

Agregar inspección

No disponible

No disponible

Agregar la expresión seleccionada a la ventana Inspección.