Una instancia de SQL Server se ejecuta lentamente cuando se utiliza el Analizador de SQL para realizar un seguimiento del cliente de los eventos en la instancia

Seleccione idioma Seleccione idioma
Id. de artículo: 929728 - Ver los productos a los que se aplica este artículo
Expandir todo | Contraer todo

Síntomas

Tenga en cuenta la situación siguiente:
  • Tiene un equipo que está ejecutando una instancia de Microsoft SQL Server 2000 o de Microsoft SQL Server 2005.
  • Utilizar al Analizador de SQL para realizar un seguimiento del cliente de los eventos en la instancia de SQL Server.
  • Ejecutar al 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:
  • Proceso del servidor activo varios identificadores (SPID) muestra el valor de 0x404 (LATCH_EX) en la columna de waittype .
  • SPID de uno o más 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 (hex address)
  • TRACE_CONTROLLER
  • TRACE_IO_SYNC
  • TRACE
Ver uno de estos valores si se cumplen las condiciones siguientes:
  • Utilice SQL Server 2000 Service Pack 4 (SP4) o SQL Server 2005.
  • Para realizar operaciones de seguimiento de sincronización en Analizador de SQL está esperando un SPID.

Causa

Al ejecutar el Analizador de SQL en una instancia de SQL Server 2000 o de SQL Server 2005, cada SPID activo de la instancia requiere un bloqueo exclusivo (LATCH_EX) para escribir el evento al Analizador de SQL. El SPID escribe primero el evento en el búfer de memoria local. 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. Una vez transferidos los eventos en el búfer de memoria local al Analizador de SQL, el SPID puede escribir nuevos eventos en el búfer de memoria local. Si esperan otros SPID para escribir eventos al Analizador de SQL, estos SPID se esperan en una cola.

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

Solución

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 lado 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 sobre sistema de estos procedimientos almacenados, búsqueda de los procedimientos almacenados en los libros en pantalla de SQL Server 2000 o en los libros en pantalla de SQL Server 2005.

Estado

Microsoft ha confirmado que se trata de un problema de los productos de Microsoft enumerados en la sección "La información de este artículo se refiere a:".

Más información

Puede utilizar la utilidad de colección de datos PSSDIAG para recopilar los archivos de datos de seguimiento. Para obtener más información acerca de la utilidad de colección PSSDIAG datos, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
830232Utilidad de colección de datos PSSDIAG
Para obtener más información acerca de la columna waittype en SQL Server 2000 y en SQL Server 2005, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
822101Descripció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: martes, 30 de septiembre de 2008 - Versión: 3.0
La información de este artículo se refiere a:
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Workgroup Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 2000 Enterprise Edition
  • Microsoft SQL Server 2000 Workgroup Edition
  • Microsoft SQL Server 2000 Developer Edition
Palabras clave: 
kbmt kbsql2005engine kbexpertiseadvanced kbtshoot kbprb KB929728 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 929728

Enviar comentarios

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com