Compartir a través de


Tutorial: Depurar un procedimiento almacenado de Transact-SQL

Este tema se aplica a:

Visual Studio Ultimate

Visual Studio Premium

Visual Studio Professional

Visual Studio Express

yet1b7by.DoesApplybmp(es-es,VS.100).gif yet1b7by.DoesApplybmp(es-es,VS.100).gif yet1b7by.DoesApplybmp(es-es,VS.100).gif yet1b7by.DoesNotApplybmp(es-es,VS.100).gif

En este ejemplo se muestra cómo crear y depurar un procedimiento almacenado de Transact-SQL mediante la depuración de base de datos directa, es decir, ejecutándolo paso a paso en el Explorador de servidores.También se muestran diferentes técnicas de depuración como establecer puntos de interrupción, ver elementos de datos, etc.

Nota

Los cuadros de diálogo y comandos de menú que se ven pueden diferir de los descritos en la Ayuda, en función de los valores de configuración o de edición activos.Para cambiar la configuración, elija Importar y exportar configuraciones en el menú Herramientas.Para obtener más información, vea Visual Studio Settings.

Para depurar un procedimiento almacenado de Transact-SQL

  1. En un proyecto nuevo de SQL Server, establezca una conexión con la base de datos de ejemplo AdventureWorks2008.Para obtener más información, vea Cómo: Conectarse a una base de datos con el Explorador de servidores.

  2. Cree un nuevo procedimiento almacenado utilizando el código de la primera parte del ejemplo siguiente y asígnele el nombre HelloWorld.Para obtener más información, vea Cómo: Depurar con un proyecto de base de datos o con un proyecto de servidor de SQL Server.

  3. Establezca puntos de interrupción en HelloWorld y ejecute paso a paso el procedimiento almacenado.Para obtener más información, vea Cómo: Ir a un objeto usando el Explorador de servidores.El puntero de instrucción, designado mediante una flecha amarilla, aparecerá en la línea SET @mynvarchar = @@VERSION, la primera línea ejecutable de código en el procedimiento almacenado.

  4. Pruebe diferentes características de depuración.

    1. Haga visible la ventana Variables locales.Para ello, en el menú Depurar, haga clic en Ventanas y, a continuación, haga clic en Variables locales.Observe que en la ventana Variables locales se muestran los parámetros y variables locales junto con sus correspondientes valores.Puede editar los valores de las variables en la ventana Variables locales a medida que se ejecuta el procedimiento almacenado.Para obtener más información, vea How to: Use Debugger Variable Windows.

      Nota   Puede que los cambios de los valores de las variables realizados en las ventanas del depurador no se reflejen en el servidor.Para obtener más información, vea Limitaciones de la depuración de SQL.

    2. Presione F10 para ejecutar una línea del procedimiento almacenado.Observe que el valor de la variable @mynvarchar ha cambiado en la ventana Variables locales y ahora se muestra en rojo para indicar que ha cambiado.

    3. Haga visible la ventana Inspección.Para ello, en el menú Depurar, haga clic en Ventanas y, a continuación, elija Inspección.Para obtener más información, vea How to: Use Debugger Variable Windows.

    4. En el editor de texto, haga doble clic en la variable @mynvarchar para seleccionarla.Arrastre @mynvarchar a cualquier ubicación en la ventana Inspección.La variable se agrega ahora a la lista de variables inspeccionadas.

      Nota   También puede editar los valores de las variables en la ventana Inspección.

    5. En el editor de texto, haga clic con el botón secundario del mouse en la línea Return (0) y, en el menú contextual, elija Insertar punto de interrupción.

    6. En el menú Depurar, haga clic en Continuar.

  5. Vuelva a elegir Continuar para finalizar la depuración del procedimiento almacenado.

    Nota   Puede ejecutar paso a paso las instrucciones de cualquiera de los procedimientos almacenados en la base de datos AdventureWorks2008 que se muestren bajo el nodo Procedimientos almacenados asociado.

Ejemplo

Es el código para el procedimiento almacenado.

CREATE PROCEDURE HelloWorld
AS
    DECLARE @mynvarchar NVARCHAR(50),
            @myfloat FLOAT
    SET @mynvarchar  = @@VERSION
    SET @mynvarchar  = 'Hello, world!'
    SET @myfloat     = 1.6180
    PRINT @mynvarchar
    RETURN (0)

Vea también

Conceptos

Depurar Transact-SQL

Otros recursos

Server Explorer/Database Explorer