Compartir a través de


Limitaciones de funciones y comandos del depurador

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.

El depurador SQL ofrece muchas pero no todas las características de depuración habituales. La depuración de SQL admite la mayoría de los comandos de depuración, como establecer puntos de interrupción y ejecutar instrucciones paso a paso. Puede ver los valores de las variables y de los parámetros que se pasan en la ventana Variables locales. También puede arrastrar expresiones a la ventana Inspección para hacer un seguimiento de las mismas al recorrer o ejecutar el procedimiento.

Sin embargo, la depuración de SQL tiene lugar en un entorno muy diferente, debido a algunas características básicas del propio SQL Server. Algunas limitaciones de depuración sólo se aplican a la depuración de T-SQL o de SQL CLR. Otras limitaciones se aplican a toda la depuración de SQL.

Limitaciones generales de la depuración de SQL

  • No se puede utilizar Editar y continuar.

  • No se puede utilizar Ejecutar hasta el cursor en la ventana Pila de llamadas.

  • No se puede utilizar Interrumpir mientras se está procesando una instrucción SQL.

  • El resultado de las instrucciones SQL PRINT no aparece en el depurador ni en el panel Resultado de base de datos.

  • No puede utilizar Revertir automáticamente en Visual Studio. Si reproduce un error que cambia los datos, puede perder el error porque se han cambiado los datos.

  • Varias ventanas no están disponibles o no proporcionan ninguna función. Estas ventanas son:

    • Memoria

    • 3DNow!

    • Desensamblador para T-SQL

Limitaciones de la depuración de T-SQL

  • No se admiten condiciones y filtros de puntos de interrupción.

  • Puesto que SQL no tiene memoria o registros verdaderos, no se puede utilizar la ventana Memoria ni la ventana Registros.

  • No se puede utilizar Establecer instrucción siguiente para cambiar la secuencia de ejecución. Debe seguir el control de flujo y orden de instrucción en el código SQL. Como solución alternativa, puede colocar las instrucciones de control cerca de los bloques de código SQL y cambiar los valores de las variables.

  • No puede tener acceso a ninguna variable o propiedad de .NET Framework desde dentro de un objeto T-SQL.

  • Se muestra la ventana Inmediato, pero no puede hacer nada útil con ella, como establecer un valor en una variable o consultar la base de datos.

  • Varias ventanas no están disponibles o no proporcionan ninguna función. Estas ventanas son:

    • Desensamblador

    • Subprocesos

    • 3DNow!

    • Procesos

    • Módulos

Limitaciones de la depuración de SQL CLR

  • Sólo se puede realizar una sesión de depuración de SQL CLR por cada servidor, ya que la ejecución de código de SQL CLR se bloquea cuando se realiza una depuración de SQL CLR. Por este motivo, el usuario del depurador que realiza una depuración de SQL CLR tiene que ser un administrador del sistema de SQL.

  • Nunca se debe realizar una depuración de SQL CLR en un servidor de producción. La depuración de SQL CLR entraña riesgos: el depurador de SQL CLR puede leer y escribir en la memoria del proceso y puede ejecutar código arbitrario en el proceso de servidor. Detiene a todos los subprocesos administrados en el servidor. Y al finalizar una sesión de depuración, SQL Server se puede detener.

  • No puede tener acceso a las variables de SQL globales como @@ROWCOUNT cuando se encuentra dentro de un objeto SQL CLR.

  • En un proyecto de SQL Server en Visual Studio, sólo puede agregar referencias a un subconjunto de las bibliotecas de clases de .NET Framework. No se puede hacer referencia a todos los ensamblados.

Vea también

Conceptos

Limitaciones de la depuración de SQL

Depurar SQL