Tutorial: Depurar un procedimiento almacenado de T-SQL

Actualización: noviembre 2007

Este tema se aplica a:

Edición

Visual Basic

C#

C++

Web Developer

Express

Estándar

Pro y Team

Leyenda de la tabla:

Se aplica

No procede

Comando o comandos ocultos de forma predeterminada.

En este ejemplo se muestra cómo crear y depurar un procedimiento almacenado de T-SQL mediante la depuración de base de datos directa, es decir, a través del 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 la opción Importar y exportar configuraciones del menú Herramientas. Para obtener más información, vea Valores de configuración de Visual Studio.

Para depurar un procedimiento almacenado de T-SQL

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

  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: Desarrollar con el tipo de proyecto 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: Recorrer paso a paso un objeto utilizando 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 Cómo: Utilizar ventanas de variables en el depurador.

      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 Cómo: Utilizar ventanas de variables en el depurador.

    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ú de acceso directo, 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 AdventureWorks 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 SQL

Referencia

Explorador de servidores/Explorador de bases de datos