Compartir a través de


Cómo: Depurar objetos de base de datos

Una prueba unitaria de base de datos consta de lo siguiente:

  • Una o más condiciones de prueba, programadas en C# o Visual Basic. Para depurar las condiciones de prueba, siga el procedimiento para depurar una prueba unitaria descrito en Cómo: Depurar mientras se ejecuta una prueba.

  • Uno o varios scripts Transact-SQL que se ejecutan en objetos de la base de datos que está probando. No puede depurar estos scripts Transact-SQL.

Los procedimientos de este tema describen la forma de depurar objetos de base de datos específicos, como procedimientos almacenados, funciones y desencadenadores. Para depurar un objeto de base de datos, siga los procedimientos en este orden:

  1. Habilitar la depuración de SQL Server en el proyecto de prueba.

  2. Agregar puntos de interrupción al script Transact-SQL.

  3. Depurar prueba unitaria de base de datos. En este procedimiento se ejecuta la prueba en modo de depuración.

Para habilitar la depuración de SQL Server en el proyecto de prueba:

  1. Abra el Explorador de soluciones.

  2. En el Explorador de soluciones, haga clic con el botón secundario del mouse en el proyecto de prueba y, a continuación, seleccione Propiedades.

    Se abre una página de propiedades con el mismo nombre que el proyecto de prueba.

  3. En la página de propiedades, haga clic en Depurar.

  4. En Habilitar depuradores, haga clic en Habilitar depuración de SQL Server.

  5. Guarde los cambios.

Para establecer el tiempo de espera del contexto de ejecución a fin de habilitar la depuración para el proyecto de prueba

  1. En el menú Archivo, haga clic en Abrir y, a continuación, haga clic en Archivo.

  2. Busque la carpeta que contiene el proyecto de prueba y haga doble clic en el archivo app.config.

    Se abre el archivo app.config en el editor.

  3. Modifique el nodo ExecutionContext para agregar un valor de tiempo de espera de comando, como en el siguiente ejemplo:

    <ExecutionContext CommandTimeout ="300" Provider="System.Data.SqlClient" ConnectionString="Data Source=TargetServerName\TargetInstanceName;Initial Catalog=TargetDatabaseName;Integrated Security=True;Pooling=False" />
    
  4. Guarde los cambios.

  5. Vuelva a generar el proyecto de prueba unitaria de base de datos.

Nota importanteImportante

Si no vuelve a generar el proyecto, los cambios que realizó en app.config no se aplicarán al ejecutar las pruebas unitarias de base de datos y se producirá un error al depurar.

Para agregar puntos de interrupción al script Transact-SQL.

  1. En el menú Ver, abra Explorador de servidores.

  2. En Conexiones de datos, expanda el nodo de la base de datos que desea probar.

  3. Si aparece una 'x' pequeña de color rojo junto al icono de la base de datos, se cierra la conexión a la base de datos. En este caso, haga clic con el botón secundario en la base de datos y después haga clic en Actualizar. Es posible que tenga que proporcionar credenciales para abrir la conexión a la base de datos.

  4. Expanda el nodo Vistas, Procedimientos almacenados o Funciones para encontrar el objeto que desea depurar.

  5. Haga doble clic en el objeto que desea depurar.

  6. Haga clic en la barra lateral de color gris para establecer un punto de interrupción.

Para depurar la prueba unitaria de base de datos:

  1. Abra la ventana Vista de pruebas.

  2. Haga clic en la prueba cuyo script Transact-SQL usa el objeto de base de datos en el que se han establecido los puntos de interrupción.

  3. En la barra de herramientas de la ventana Vista de pruebas, haga clic en Depurar selección.

    La prueba se ejecuta en modo de depuración hasta alcanzar un punto de interrupción en el objeto de base de datos.

  4. (Opcional) Para abrir otra ventana de depuración, abra el menú Depurar, elija Ventanas y haga clic en Puntos de interrupción, Resultadoso Inmediato.

Vea también

Otros recursos

Depurar Transact-SQL