Una instancia de SQL Server tiene un rendimiento lento cuando utiliza el analizador de SQL para realizar un seguimiento del cliente de los eventos de la instancia

Síntomas

Imagine el siguiente escenario:
  • Tiene un equipo que está ejecutando una instancia de Microsoft SQL Server 2000 o de Microsoft SQL Server 2005.
  • Utilice el analizador de SQL para realizar un seguimiento del cliente de los eventos en la instancia de SQL Server.
  • Ejecutar el analizador de SQL en el equipo que está ejecutando la instancia de SQL Server o ejecutar el analizador de SQL en un equipo diferente.
En este escenario, la instancia de SQL Server se ejecuta lentamente.

Cuando se produce este problema, observar los síntomas siguientes si consulta la tabla de sistema master.dbo.sysprocesses en la instancia de SQL Server:
  • El proceso de servidor activo varios SPID (ID) mostrar el valor de 0x404 (LATCH_EX) en la columna de waittype .
  • Uno o varios SPID mostrar el valor de Analizador de SQL en la columna nombre_programa .
Además, verá uno de los siguientes valores en la columna waitresource si consulta la tabla de sistema master.dbo.sysprocesses :
  • MISC (dirección hexadecimal)
  • TRACE_CONTROLLER
  • TRACE_IO_SYNC
  • SEGUIMIENTO
Verá uno de estos valores si se cumplen las condiciones siguientes:
  • Utilizar el Service Pack 4 (SP4) de SQL Server 2000 o SQL Server 2005.
  • Un SPID está esperando para realizar el seguimiento de las operaciones de sincronización en el analizador de SQL.

Causa

Al ejecutar el analizador de SQL contra una instancia de SQL Server 2000 o de SQL Server 2005, cada SPID activo de la instancia requiere un bloqueo temporal exclusivo (LATCH_EX) para escribir el evento en el analizador de SQL. El SPID escribe el evento en el búfer de memoria local primero. A continuación, el evento se transfiere al analizador de SQL. Si el búfer de memoria local está lleno, el SPID descarta el evento. Después de los eventos en el búfer de memoria local se transfieren a SQL Profiler, el SPID puede escribir nuevos eventos en el búfer de memoria local. Si espera otros SPID para escribir sucesos en el analizador de SQL, estos SPID esperan en una cola.

Como el analizador de SQL es un proceso que es independiente del proceso de SQL Server, transferir cada evento a SQL Profiler tarda algún tiempo. Si ejecuta al analizador de SQL en un equipo diferente, este proceso tarda más tiempo. Este proceso tarda más tiempo, debido a la latencia de la red y el rendimiento del equipo que está ejecutando el analizador de SQL. Por lo tanto, la instancia de SQL Server se ejecuta lentamente.

Solución alternativa

Para evitar este problema, no utilice al analizador de SQL para realizar un seguimiento del cliente de los eventos en la instancia de SQL Server. En su lugar, utilice procedimientos almacenados del sistema para realizar un seguimiento del servidor de los eventos.

Puede utilizar los siguientes procedimientos almacenados del sistema:
  • sp_trace_create
  • sp_trace_setevent
  • sp_trace_setfilter
  • sp_trace_setstatus
Para obtener más información acerca de estos sistemas procedimientos almacenados, busque los procedimientos almacenados en los libros en pantalla de SQL Server 2000 o en SQL Server 2005 Books Online.

Estado

Microsoft ha confirmado que se trata de un problema de los productos de Microsoft que se enumeran en la sección "Aplicable a".

Más información

Puede utilizar la utilidad de recopilación de datos PSSDIAG para recopilar los archivos de datos de seguimiento. Para obtener más información acerca de la utilidad de recopilación de datos PSSDIAG, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:

Utilidad de recopilación de datos de 830232 PSSDIAG

Para obtener más información acerca de la columna de waittype en SQL Server 2000 y SQL Server 2005, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:

822101 descripción de las columnas waittype y lastwaittype en la tabla master.dbo.sysprocesses en SQL Server 2000 y SQL Server 2005

Propiedades

Id. de artículo: 929728 - Última revisión: 14 ene. 2017 - Revisión: 1

Comentarios