Compartir a través de


Especificar una acción de punto de interrupción

Se aplica a:SQL Server

Una acción de punto de interrupción especifica una tarea personalizada que realiza el depurador de Transact-SQL para un punto de interrupción. Si se alcanza el recuento de aciertos especificado y se cumple una condición de punto de interrupción especificada, el depurador realiza la acción especificada para el punto de interrupción.

Consideraciones sobre acciones

La acción predeterminada para un punto de interrupción consiste en interrumpir la ejecución cuando se cumplen tanto el conteo de aciertos como la condición del punto de interrupción. El uso principal de una acción en el depurador de Transact-SQL es imprimir información en la ventana Salida del depurador.

El mensaje se especifica en el Mostrar un mensaje en el cuadro Ventana de salida: y se especifica como una cadena de texto que incluye expresiones que contienen información de Transact-SQL que se está depurando. Estas expresiones pueden ser:

  • Expresión transact-SQL contenida en llaves ({}). Las expresiones pueden incluir variables, parámetros y funciones integradas de Transact-SQL. Entre los ejemplos se incluyen {@MyVariable}, {@NameParameter}, {@@SPID}o {SERVERPROPERTY('ProcessID')}.

  • Una de las siguientes palabras clave:

    • $ADDRESS devuelve el nombre del procedimiento almacenado o la función definida por el usuario donde se establece el punto de interrupción. Si el punto de interrupción se establece en la ventana del editor, $ADDRESS devuelve el nombre del archivo de script que se está editando. $ADDRESS y $FUNCTION devuelven la misma información en el depurador de Transact-SQL.

    • $CALLER devuelve el nombre de la unidad de código de Transact-SQL que llamó a una función o procedimiento almacenado. Si el punto de interrupción está en la ventana del editor, $CALLER devuelve <No caller available>. Si el punto de interrupción está en un procedimiento almacenado o una función definida por el usuario llamadas desde el código de la ventana del editor, $CALLER devuelve el nombre del archivo que se está editando. Si el punto de interrupción está en un procedimiento almacenado o una función definida por el usuario llamadas desde otro procedimiento almacenado o función, $CALLER devuelve el nombre del procedimiento o función de llamada.

    • $CALLSTACKdevuelve la pila de llamadas de funciones de la cadena que llamó al procedimiento almacenado actual o a la función definida por el usuario. Si el punto de interrupción está en la ventana del editor, $CALLSTACK devuelve el nombre del archivo de script que se está editando.

    • $FUNCTION devuelve el nombre del procedimiento almacenado o la función definida por el usuario donde se establece el punto de interrupción. Si el punto de interrupción se establece en la ventana del editor, $FUNCTION devuelve el nombre del archivo de script que se está editando.

    • $PID y $PNAME devuelven el identificador y el nombre del proceso del sistema operativo que ejecuta la instancia del motor de base de datos donde se ejecuta el Transact-SQL. $PID devuelve el mismo identificador que SERVERPROPERTY('ProcessID'), excepto que $PID es un valor hexadecimal mientras que SERVERPROPERTY('ProcessID') es un valor decimal.

    • $TID y $TNAME devuelven el identificador y el nombre del subproceso del sistema operativo que ejecuta el lote de Transact-SQL. El subproceso está asociado al proceso que ejecuta la instancia del motor de base de datos. $TID devuelve el mismo valor que SELECT kpid FROM sys.sysprocesses WHERE spid = @@SPID, excepto que $TID es un valor hexadecimal mientras que kpid es un valor decimal.

  • También puede usar el carácter de barra diagonal inversa (\) como carácter de escape para permitir llaves y barras diagonales inversas en el mensaje: \{, \}y \\.

Especificar una acción

  1. En la ventana del editor, haga clic con el botón derecho en el glifo del punto de interrupción y seleccione Acciones en el menú contextual.

    -o-

    En la ventana Puntos de interrupción, haga clic con el botón derecho en el glifo del punto de interrupción y, a continuación, seleccione Configuración en el menú contextual.

  2. En el cuadro de diálogo Configuración del punto de interrupción , seleccione la opción Acciones.

  3. En el Mostrar un mensaje en la ventana de salida: cuadro de diálogo, escriba una expresión.

  4. Seleccione Continuar ejecución de código si no desea que el punto de interrupción detenga la ejecución. Esta opción solo está activa si selecciona la opción Acciones.

  5. Seleccione Cerrar para implementar los cambios.