sql-server - una - procedimiento almacenado sql server insert
Depuración del procedimiento almacenado en SQL Server 2008 (5)
¿Hay alguna forma de depurar un procedimiento almacenado en SQL Server 2008?
Tengo acceso para utilizar SQL Server Management Studio 2008 y Visual Studio 2008 (no estoy seguro de si alguno de estos proporciona esta funcionalidad).
En general, utilizo el generador de perfiles SQL para encontrar los parámetros pasados al proceso almacenado, pero me gustaría poder seguir el procedimiento para ver dónde está fallando.
es posible?
¿Cuál es la mejor manera? (en términos de encontrar rápidamente la ubicación de los errores)
Bueno, la respuesta fue estar sentado frente a mí todo el tiempo.
En SQL Server Management Studio 2008, hay un botón de depuración en la barra de herramientas. Establezca un punto de interrupción en una ventana de consulta para avanzar.
Descarté esta funcionalidad al principio porque no pensé en entrar INTO en el procedimiento almacenado, lo cual puede hacer con facilidad.
SSMS básicamente hace lo que FinnNK menciona con el tutorial de MSDN, pero de forma automática.
¡Tan fácil! Gracias por su ayuda FinnNK.
Editar: debería agregar un paso para encontrar la llamada al procedimiento almacenado con los parámetros. Utilicé el Analizador de SQL en mi base de datos.
MSDN ha proporcionado una manera fácil de depurar el procedimiento almacenado. Por favor revisa este enlace-
Cómo: depurar procedimientos almacenados
Sí, puedes (siempre que tengas al menos la versión profesional de Visual Studio), aunque requiere un poco de configuración una vez que hayas hecho esto, no es muy diferente del código de depuración. MSDN tiene un tutorial básico .
Un requisito para la depuración remota es que la cuenta de Windows utilizada para ejecutar SSMS sea parte de la función sysadmin. Vea este enlace de MSDN: http://msdn.microsoft.com/en-us/library/cc646024%28v=sql.105%29.aspx
- Sí, aunque puede ser complicado lograr que la depuración funcione, especialmente si intenta depurar SQL en un servidor SQL remoto desde su propia máquina de desarrollo.
- En la primera instancia, recomendaría que esto funcione depurando directamente en el servidor primero, si es posible.
- Inicie sesión en el servidor SQL utilizando una cuenta que tenga derechos de administrador del sistema o solicite a su DBA que lo haga.
- Luego, para su propia cuenta de Windows, cree un ''inicio de sesión'' en SQL Server, si aún no está allí:
- Haga clic con el botón derecho en la cuenta> propiedades: asegúrese de que el inicio de sesión sea miembro de la función ''sysadmin'':
- (también asegúrese de que la cuenta sea ''propietaria'' de las bases de datos que desee para depurar las secuencias de comandos (por ejemplo, procs almacenados) para:
- Luego, inicie sesión directamente en el servidor SQL usando su cuenta de Windows.
- Inicie sesión en el servidor SQL utilizando la Autenticación de Windows (usando la cuenta que acaba de utilizar para iniciar sesión en el servidor)
- Ahora ''Depurar'' la consulta en SQL Management Studio, estableciendo puntos de interrupción según sea necesario. Puede acceder a los procesos almacenados usando F11:
- Aquí hay una guía útil para la depuración:
- Si necesita depurar de forma remota, una vez que tenga esta parte funcionando, puede intentar configurar la depuración remota: