Ejecutar el depurador de Transact-SQL
Se aplica a: SQL Server
Puede iniciar el depurador de Transact-SQL después de abrir una ventana del Editor de consultas del motor de base de datos. Puede configurar opciones para personalizar cómo se ejecuta el depurador y ejecutar el código de Transact-SQL en modo de depuración hasta que detenga el depurador.
Iniciar y detener el depurador
Los requisitos para iniciar el depurador de Transact-SQL son los siguientes:
Si el Editor de consultas del motor de base de datos está conectado a una instancia del motor de base de datos en otro equipo, debe configurar el depurador para la depuración remota. Para obtener más información, vea Configurar reglas de firewall antes de ejecutar el depurador de Transact-SQL.
La ventana del Editor de consultas de 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 del rol fijo de servidor sysadmin.
La ventana del Editor de consultas del Motor de base de datos debe estar conectada a una instancia del Motor de base de datos de SQL Server. No puede ejecutar el depurador cuando la ventana del Editor de consultas esté conectada a una instancia cuyo modo sea de usuario único.
Recomendamos depurar el código Transact-SQL 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 del rol fijo 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. Luego, puede recorrer el código, detener la ejecución en instrucciones Transact-SQL específicas y usar las ventanas del depurador para ver el estado de ejecución actual. Puede iniciar el depurador seleccionando el botón Depurar de la barra de herramientas Consulta o 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, seleccione Detener depuración.
En la barra de herramientas Depurar, seleccione el botón Detener depuración.
En el menú Consulta, seleccione Cancelar ejecución de la consulta.
En la barra de herramientas Consulta, seleccione 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 seleccionando 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étodos abreviados 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 la depuración | No disponible | Detener la 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. |
Depurar paso a paso por instrucciones | No disponible | Depurar 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. |
Depurar paso a paso por procedimientos | No disponible | Depurar 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. |
Depurar paso a paso para salir | No disponible | Depurar 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 punto 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 . |