Marcas de traza (Transact-SQL)

Actualizado: 15 de septiembre de 2007

Las marcas de traza se utilizan para establecer temporalmente características específicas del servidor o para desactivar un comportamiento determinado. Por ejemplo, si se establece la marca de traza 3205 cuando se inicia una instancia de SQL Server 2005, se deshabilita la compresión de hardware para controladores de cinta. Las marcas de traza se suelen utilizar para diagnosticar problemas de rendimiento o para depurar procedimientos almacenados o sistemas complejos.

En la siguiente tabla se enumeran y se describen las marcas de traza disponibles en SQL Server 2005.

[!NOTA] Es posible que en versiones futuras de SQL Server no se admita el comportamiento de las marcas de traza.

Marca de traza Descripción

260

Imprime información de versión sobre las bibliotecas de vínculos dinámicos (DLL) de procedimientos almacenados extendidos. Para obtener más información acerca de __GetXpVersion(), vea Creating Extended Stored Procedures.

Ámbito: global o sesión

1204

Devuelve los recursos y los tipos de bloqueos que participan en un interbloqueo, además del comando actual afectado.

Ámbito: sólo global

1211

Deshabilita la extensión de bloqueo basada en la presión de la memoria o en el número de bloqueos. El SQL Server 2005 Database Engine (Motor de base de datos de SQL Server 2005) no extenderá los bloqueos de fila o página a bloqueos de tabla.

El uso de esta marca de traza puede dar lugar a un número excesivo de bloqueos. Esto puede reducir el rendimiento del Database Engine (Motor de base de datos) o causar errores 1204 (no se puede asignar el recurso de bloqueo) debido a memoria insuficiente. Para obtener más información, vea Concentración de bloqueos (motor de base de datos).

Si están establecidas las marcas de traza 1211 y 1224, 1211 tiene prioridad sobre 1224. No obstante, como la marca de traza 1211 evita la extensión en cada caso, incluso con presión de memoria, es recomendable utilizar la 1224. Esto ayuda a evitar errores de "bloqueos insuficientes" cuando se utilizan muchos bloqueos.

Ámbito: global o sesión

1222

Devuelve los recursos y los tipos de bloqueos que participan en un interbloqueo, además del comando actual afectado, en un formato XML que no se ajusta a ningún esquema XSD.

Ámbito: sólo global

1224

Deshabilita la extensión de bloqueo en función del número de bloqueos. No obstante, la presión de la memoria puede activar la extensión de bloqueo. Database Engine (Motor de base de datos) extiende los bloqueos de fila o página a bloqueos de tabla si la cantidad de memoria usada por los objetos de bloqueo supera una de las siguientes condiciones:

  • Cuarenta por ciento de la memoria que utiliza Database Engine (Motor de base de datos), exclusiva de asignación de memoria con extensiones de ventana de dirección (AWE). Esto sólo se aplica cuando el parámetro locks de sp_configure está establecido en 0.
  • Cuarenta por ciento de la memoria de bloqueo que se configura mediante el parámetro locks de sp_configure. Para obtener más información, vea Establecer las opciones de configuración del servidor.

Si están establecidas las marcas de traza 1211 y 1224, 1211 tiene prioridad sobre 1224. No obstante, como la marca de traza 1211 evita la extensión en cada caso, incluso con presión de memoria, es recomendable utilizar la 1224. Esto ayuda a evitar errores de "bloqueos insuficientes" cuando se utilizan muchos bloqueos.

Ámbito: global o sesión

2528

Deshabilita la comprobación en paralelo de objetos por parte de DBCC CHECKDB, DBCC CHECKFILEGROUP y DBCC CHECKTABLE. De manera predeterminada, el procesador de consultas determina automáticamente el grado de paralelismo. El grado de paralelismo máximo se configura igual que el de las consultas en paralelo. Para obtener más información, vea max degree of parallelism (opción).

DBCC en paralelo debe continuar habilitado. En el caso de DBCC CHECKDB, el procesador de consultas vuelve a evaluar y ajusta automáticamente el paralelismo con cada tabla o lote de tablas comprobados. Algunas veces la comprobación puede comenzar cuando el servidor está casi inactivo. Un administrador que sabe que la carga aumentará antes de que finalice la comprobación puede que desee reducir o deshabilitar el paralelismo de forma manual.

Sin embargo, la deshabilitación de la comprobación en paralelo puede causar una reducción del rendimiento general de la base de datos. Si se reduce el grado de paralelismo, aumenta el espacio del registro de transacciones que se debe examinar. Esto a su vez aumenta la demanda de espacio de tempdb y causa un aumento no lineal del tiempo necesario para que DBCC complete sus comprobaciones. Si DBCC se ejecuta con la característica TABLOCK habilitada y el paralelismo desactivado, es posible bloquear las tablas durante un período de tiempo más largo.

Ámbito: global o sesión

3205

De manera predeterminada, si una unidad de cinta admite compresión de hardware, la utilizan las instrucciones DUMP o BACKUP. Con esta marca de traza, puede deshabilitar la compresión de hardware de los controladores de cinta. Esto es útil cuando se desea intercambiar cintas con otros sitios o unidades de cinta que no admitan compresión.

Ámbito: global o sesión

3625

Limita la cantidad de información devuelta en los mensajes de error. Para obtener más información, vea Configuración de visibilidad de los metadatos.

Ámbito: sólo global

4616

Hace que los metadatos de servidor sean visibles para las funciones de aplicación. En SQL Server 2005, una función de aplicación no puede tener acceso a los metadatos que se encuentran fuera de su propia base de datos porque las funciones de aplicación no están asociadas a una entidad de seguridad de servidor. Es un cambio de comportamiento con respecto a versiones anteriores de SQL Server. Si se establece esta marca global, se deshabilitan las nuevas restricciones, lo que permite a las funciones de aplicación tener acceso a los metadatos del servidor.

Ámbito: sólo global

7806

Habilita una conexión de administrador dedicada (DAC) en SQL Server Express. De manera predeterminada, no se reservan recursos DAC en SQL Server Express. Para obtener más información, vea Usar una conexión de administrador dedicada.

Ámbito: sólo global

Notas

En SQL Server 2005 existen dos tipos de marcas de traza: de sesión y globales. Las marcas de traza de sesión se activan para una conexión y sólo están visibles para esa conexión. Las marcas de traza globales se establecen en el nivel del servidor y están visibles para todas las conexiones del servidor. Algunas marcas sólo pueden habilitarse como globales y algunas pueden habilitarse con un ámbito global o de sesión.

Se aplican las reglas siguientes:

  • Una marca de traza global debe habilitarse a nivel global. De lo contrario, no surtirá efecto. Es recomendable habilitar las marcas de traza globales en el inicio, mediante la opción de línea de comandos -T.
  • Si una marca de traza tiene ámbito global o de sesión, puede habilitarse con el ámbito apropiado. Una marca de traza habilitada en el nivel de sesión nunca afecta a otra sesión y su efecto se pierde cuando el SPID que inició la sesión la cierra.

Las marcas de traza se activan o se desactivan mediante uno de los siguientes métodos:

  • Mediante los comandos DBCC TRACEON y DBCC TRACEOFF.
    Por ejemplo, DBCC TRACEON 2528: para habilitar la marca de traza a nivel global, utilice DBCC TRACEON con el argumento -1: DBCC TRACEON 2528, -1. Para desactivar una marca de traza global, use DBCC TRACEOFF con el argumento -1.
  • Use la opción de inicio -T para especificar que la marca de traza se activa durante el inicio.
    La opción de inicio -T habilita una marca de traza a nivel global. No puede habilitar una marca de traza a nivel de sesión mediante una opción de inicio. Para obtener más información acerca de opciones de inicio, vea Usar las opciones de inicio del servicio SQL Server.

Use el comando DBCC TRACESTATUS para determinar qué marcas de traza están activas actualmente.

Cambios de comportamiento

En SQL Server 2000, un simple comando DBCC TRACEON (1204) es suficiente para habilitar la notificación de interbloqueos en el registro de errores. En SQL Server 2005, debe habilitar la marca a nivel global, ya que la marca de nivel de sesión no es visible para el subproceso de supervisión de interbloqueos.

Para obtener más información acerca de los cambios de comportamiento, vea Cambios recientes en las características del Motor de base de datos de SQL Server 2005.

Ejemplos

En el siguiente ejemplo se activa la marca de traza 3205 mediante DBCC TRACEON.

DBCC TRACEON (3205,-1)

Vea también

Referencia

Tipos de datos (Transact-SQL)
DBCC INPUTBUFFER (Transact-SQL)
DBCC OUTPUTBUFFER (Transact-SQL)
DBCC TRACEOFF (Transact-SQL)
DBCC TRACEON (Transact-SQL)
DBCC TRACESTATUS (Transact-SQL)
EXECUTE (Transact-SQL)
SELECT (Transact-SQL)
SET NOCOUNT (Transact-SQL)

Ayuda e información

Obtener ayuda sobre SQL Server 2005

Historial de cambios

Versión Historial

15 de septiembre de 2007

Contenido modificado:
  • Se corrigió la información de ámbito para la marca de traza 1224.

14 de abril de 2006

Contenido nuevo:
  • Se agregó la descripción de la marca de traza 7806.
  • Se agregó información sobre la preferencia por la marca de traza 1224 con respecto a la marca de traza 1211.
  • Se agregó información de ámbito para cada marca de traza.
  • Se agregó información sobre cambios de comportamiento.

5 de diciembre de 2005

Contenido nuevo:
  • Se agregó la descripción de las marcas de traza 4616 y 3625.