sql - mis - Depuración de procedimientos almacenados en Management studio
procedimientos almacenados sql (6)
¿Hay alguna manera de entrar en el código de procedimiento almacenado en SQL Server Management Studio? Sé que esto es posible con Visual Studio, pero estoy buscando una solución de depuración confiable desde Management Studio
He escrito una publicación de blog bastante detallada aquí:
Básicamente, la esencia de esto es que ingrese su consulta sql para ejecutar su procedimiento almacenado, y en lugar de presionar F5 o presionar el signo de exclamación, presione el botón de reproducción y use F10 y F11 para avanzar e ingresar a sus procesos almacenados.
Esto es muy útil, pero parece que nadie lo usa.
La capacidad de depurar sprocs, que estaba en el Analizador de consultas en SQL Server 2000, no se puso en SQL Server 2005. Microsoft se dio cuenta de este error y volvió a instalar la funcionalidad en SQL Server 2008.
En SSMS 2008 puede iniciar el depurador haciendo clic en el botón de depuración en la barra de herramientas o presionando ALT + F5.
Desafortunadamente, ejecutar SSMS 2008 contra una base de datos de 2005 no le permitirá depurar, por lo que deberá apegarse a Visual Studio.
Sí, en SSMS 2008 definitivamente puede ingresar al código T-SQL (bloque de código, func almacenado, proc almacenado) y depurarlo.
Consulte este excelente artículo Mejoras de Management Studio en SQL Server 2008 para obtener más información: también se ocupa de la depuración (al final del artículo).
Solo con SQL 2008 y SSMS 2008. Seleccione desde el menú ''Depurar / Iniciar depuración'' o presione Alt + F5 y se abrirá paso a paso el depurador T-SQL.
En 2005, la única forma es adjuntar Profiler y supervisar el evento SP:StmtCompleted , que no es exactamente un depurador paso a paso, pero al menos verás el flujo de ejecución. No se debe hacer en una máquina de producción, obviamente.
Tenga cuidado con la depuración de procedimientos almacenados utilizando Visual Studio. La forma en que esto se implementa es utilizar una increíble cantidad de bloqueo para que nunca se debe hacer esto en un sistema de producción.
Tenga en cuenta al depurar instancias remotas con SSMS que su servidor y firewall de cliente necesitarán permitir sqlservr.exe y ssms.exe respectivamente, junto con el puerto tcp 135. El firewall del cliente en mi caso particular estaba causando un "tiempo de espera expirado" al intentar depurar.