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. |