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

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): 822101
Resumen
La tabla master.dbo.sysprocesses en Microsoft SQL Server 2000 y SQL Server 2005 es una tabla del sistema que contiene información sobre el proceso de servidor activo SPID (ID) que se ejecutan en SQL Server.

Si está utilizando SQL Server 2005, también puede acceder a esta tabla mediante la vista de compatibilidad sys.sysprocesses .

La columna de waittype , la columna de lastwaittype , la columna waittime y la columna waitresource de la tabla de sistema master.dbo.sysprocesses proporcionan información acerca de los recursos que están esperando los procesos.

Este artículo enumeran los posibles valores de lastwaittype, los valores de waittype asociados y una breve descripción de sus significados.
Más información
La tabla de sistema master.dbo.sysprocesses que se almacena en la base de datos master de una instancia de SQL Server contiene las siguientes columnas que ayudan al administrador de sistema supervisar los procesos para escenarios de contención de recursos y problemas de bloqueo:
  • waittype: el campo waittype es una columna binaria interna reservada. El valor en el campo waittype indica el tipo de recurso que la connectionis esperando.
  • lastwaittype: el campo de lastwaittype es una representación de cadena del campowaittype . El campo de lastwaittype indica el waittype último o waittype debe aplicarse de un SPID. Si el valor de la columna de waittype para un SPID is0x0000, el SPID no está esperando actualmente en cualquier recurso. En este caso, la columna de lastwaittype indica el waittype última que experimentó el SPIDhas. Sin embargo, si el valor de la columna de waittype para un SPID isnon cero, los valores de las columnas de lastwaittype ywaittype para el SPID son iguales. Estos valores indican el waitstate actual para el SPID.

    Nota: Waittype UMSTHREAD es una excepción a esta regla. Vea la descripción de UMSTHREAD en la sección "Otros waittypes" para obtener detalles adicionales.
  • waittime: la columna waittime proporciona el número de milisegundos que theSPID ha estado esperando con el tipo de la actual.
  • waitresource: la columna waitresource proporciona información más detallada sobre el recurso concreto que el SPID está esperando.
Las secciones más adelante en este artículo describen algunos de los waittypes que son compatibles con SQL Server y que con frecuencia se registran en la tabla de sistema master.dbo.sysprocesses .

Waittypes de bloqueo

La tabla siguiente enumeran los waittypes de bloqueo en la tabla de sistema master.dbo.sysprocesses en SQL Server 2000 y SQL Server 2005.
LastwaittypeWaittypeDescripción
LCK_M_SCH_S0 x 01Estabilidad del esquema
LCK_M_SCH_M0 x 02Modificación del esquema
LCK_M_S0 x 03Recurso compartido
LCK_M_U0 x 04Actualización
LCK_M_X0 x 05Exclusivo
LCK_M_IS0 x 06Con intención-compartido
LCK_M_IU0 x 07Actualización de intención
LCK_M_IX0 x 08Con intención-exclusivo
LCK_M_SIU0 x 09Intento de actualizar compartido
LCK_M_SIX0x0ARecurso compartido-con intención-exclusivo
LCK_M_UIX0x0BActualización-con intención-exclusivo
LCK_M_BU0x0cActualización masiva
LCK_M_RS_S0x0DIntervalo-compartido-compartido
LCK_M_RS_U0x0EIntervalo de actualización de recurso compartido
LCK_M_RI_NL0x0FIntervalo-insertar-nulo
LCK_M_RI_S0 x 10Intervalo compartido para insertar
LCK_M_RI_U0 x 11Intervalo de actualización de inserción
LCK_M_RI_X0 x 12Intervalo-insertar-exclusivo
LCK_M_RX_S0 x 13Compartido exclusivo en rango
LCK_M_RX_U0 x 14Exclusivo de intervalo de actualización
LCK_M_RX_X0 x 12Intervalo-exclusive-exclusivo
Para obtener más información acerca de los tipos de bloqueo que se admiten en SQL Server 2000 y SQL Server 2005, consulte los siguientes temas en libros en pantalla de SQL Server:
  • Comprender los bloqueos en SQL Server
  • Compatibilidad de bloqueos
Además, si está esperando un SPID los waittypes de bloqueo y el valor correspondiente en la columna waittime que se registra en la tabla de sistema master.dbo.sysprocesses es muy alto, debe solucionar los problemas de bloqueo de la instancia de SQL Server.

Para obtener más información, haga clic en el siguiente número de artículo para verlo en Microsoft Knowledge Base:
224453 Entender y resolver problemas de bloqueo de 2000 o SQL Server 7.0

Waittypes de cierre

Un pestillo es un objeto de sincronización ligeros a corto plazo. La lista siguiente describe los diferentes tipos de seguros:
  • Pestillos de búfer no (no BUF): los pestillos de búfer de no proporcionar servicios de sincronización aen-memoria estructuras de datos o protección de nueva entrada líneas de código sensible a forconcurrency. Estos cierres pueden utilizarse para una gran variedad ofthings, pero no se utilizan para sincronizar el acceso a páginas del búfer.
  • Pestillo del búfer (BUF): los pestillos de búfer se utilizan para sincronizar el acceso a BUFstructures y sus páginas de base de datos asociada. El latchingoccurs típico de búfer durante las operaciones que requieren serialización en una página del búfer, (durante una división de página o durante la asignación de una nueva página, por ejemplo). Theselatches no se mantengan durante la duración de una transacción. Esto se indican en la tablamaster.dbo.sysprocesses con los waittypes PAGELATCH.

    Para obtener más información acerca de una de las posibles causas de contención de pestillo del búfer, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
    328551 REVISIÓN: Mejoras de concurrencia para la base de datos tempdb
  • Pestillos de E/S: IO los pestillos son un subconjunto de pestillos BUF cuando utiliza búfer y página de datos asociada o la página de índice está en medio de un IOoperation. PAGEIOLATCH waittypes se utilizan para las transferencias de disco a la memoria y un significativo waittime para estos waittypes sugiere disco por cuestiones de Osubsystem.
La tabla siguiente enumeran los waittypes de cierre diferentes que puede observar en la tabla de sistema master.dbo.sysprocesses en SQL Server 2000 y SQL Server 2005.
LastwaittypeWaittypeDescripción
LATCH_NL0 x 400Bloqueo temporal nulo
LATCH_KP0x401Mantener seguro
LATCH_SH0x402Cierre compartido
LATCH_UP0x403Bloqueo temporal de actualización
LATCH_EX0x404Bloqueo temporal exclusivo
LATCH_DT0x405Destruir el pestillo
PAGELATCH_NL0x410Bloqueo temporal de página de búfer null
PAGELATCH_KP0x411Mantener bloqueo temporal de página de búfer
PAGELATCH_SH0x412Compartir bloqueo temporal de página de búfer
PAGELATCH_UP0x413Bloqueo temporal de página de búfer de actualización
PAGELATCH_EX0x414Bloqueo temporal de página de búfer exclusivo
PAGELATCH_DT0x415Destruir el bloqueo temporal de página de búfer
PAGEIOLATCH_NL0x420Bloqueo temporal de página entrada-salida de búfer null
PAGEIOLATCH_KP0x421Mantener bloqueo temporal de E/S de página de búfer
PAGEIOLATCH_SH0x422Compartido pestillos de E/S de búfer página
PAGEIOLATCH_UP0x423Bloqueo temporal de entrada-salida de búfer página de actualización
PAGEIOLATCH_EX0x424Bloqueo temporal de página entrada-salida de búfer exclusivo
PAGEIOLATCH_DT0x425Destruir pestillos de E/S de búfer página


A partir de SQL Server 2000 SP4, la columna waitresource de los pestillos no Buf más comunes, el Latch_XX cerraduras, se rellena con los valores en la tabla siguiente. Antes de SQL Server 2000 SP4, no había forma para determinar la razón por la que se realizaron los pestillos no buf sin más diagnósticos invasivos, tales como userdump. Las columnas waittype o el waitresource debe visualizarse con el waittime. El waittime especifica en milisegundos cuánto tiempo ha estado esperando el subproceso.
WaitresourceDescripciónSolución de problemas
FCBFGCB_ALLOCEstos pestillos Latch_XX se mantienen cuando las páginas se asignan desde un archivo, ya sea una extensión uniforme o mixta. Los pestillos también se mantienen durante las operaciones de asignación, tales como el crecimiento y reducir un archivo, el cambio de nombre o eliminar un archivo, y agregar o eliminar un archivo.Determinar si los archivos están reduciendo o aumentando. A partir de SQL Server 2000 SP4, la opción de crecimiento automático se registrará en el registro de errores si tarda más de 30 segundos. Idealmente, la opción de crecimiento automático debe utilizarse como una copia de seguridad y debe utilizar prudente planes de capacidad para evitar la penalización de tiempo de ejecución de crecimiento del archivo. También puede cambiar el valor de crecimiento automático predeterminado de 10 por ciento a un tamaño fijo. No se recomienda usar la reducción automática de la producción. Los archivos de este grupo de archivos también pueden emitir muchas solicitudes de asignaciones. Puede agregar más archivos en ese grupo de archivos.
TRACETRACE_CONTROLLERTRACE_IO_SYNCEstos pestillos Latch_XX se reservan para fines de sincronización en las operaciones de traza del analizador. Las operaciones de sincronización incluyen iniciar, detener, establecer el estado de seguimiento y sincronizar los lectores y escritores. Identificar las trazas del analizador que se están ejecutando. Procure no ejecutar más de una traza del analizador al mismo tiempo. Cuando se inicia una traza del analizador, el seguimiento se registra en el registro de sucesos de aplicación. Además, puede utilizar la siguiente consulta en el analizador de consultas SQL para ver trazas activas.
SELECT * FROM ::fn_trace_getinfo(NULL)
PARALLEL_PAGE_SUPPLIEREstos pestillos Latch_XX se utilizan para la sincronización de la recuperación de páginas para una consulta en paralelo. Este cierre indica que la consulta se ejecuta en paralelo y podría ser normal.Ajustar la consulta si la columna waittime es un valor grande, y la consulta de un rendimiento deficiente.
IDEEl waitresource de pestillo IDE se utiliza cuando se analiza la página PFS para encontrar espacio libre y cuando la página PFS se actualiza para reflejar las asignaciones y cancelaciones de asignación de páginas. Este cierre también se utiliza cuando las páginas individuales se asignan a un objeto existente.Determinar si tiene un índice agrupado en el objeto en cuestión.

Otros waittypes

La tabla siguiente enumeran los waittypes otros que puede observar en la tabla de sistema master.dbo.sysprocesses en SQL Server 2000 y SQL Server 2005.
LastwaittypeWaittypeDescripción
MODO DE SUSPENSIÓN0 x 20Waittype indica que el SPID está esperando un tiempo especificado y un estado común para los subprocesos de fondo que procesan las escrituras lentas menos, los puntos de control o sucesos de traza del analizador del servidor.
IO_COMPLETION0 x 21Waittype indica que el SPID está esperando completar las solicitudes de E/S. Cuando observa waittype para un SPID en la tabla del sistema sysprocesses , debe identificar los cuellos de botella de disco con la opción SHOWPLAN, traza del analizador, la función con valores de tabla del sistema fn_virtualfilestats y los contadores del monitor de rendimiento para analizar los planes de consultas que se corresponden con el SPID. Puede reducir este waittype agregando más ancho de banda de E/S o el equilibrio de i/OS a través de otras unidades. También puede reducir la E/S mediante el uso de la indización, busque los planes de consulta incorrecta y busque la presión de la memoria.
ASYNC_IO_COMPLETION0 x 22Waittype indica que el SPID está esperando completar las solicitudes de E/S asincrónicas. Al igual que las columnas waittype IO_COMPLETION, waittype también indica un cuello de botella. Puede ver este waittype para los SPID durante las operaciones de dependiente de E/s de larga duración, como copia de seguridad, CREATE DATABASE, ALTER DATABASE o el crecimiento de la base de datos. Waittype también puede indicar los cuellos de botella de disco.
RESOURCE_SEMAPHORE0 x 40Waittype indica que el SPID está esperando un recurso. Aquí, los SPIDs generalmente se esperan para adquirir la memoria para la ordenación o la operación de hash durante la ejecución de la consulta. Waittype también puede indicar que la memoria existe presión en la parte visible del grupo de búferes.
DTC0 x 41Waittype indica que el SPID está esperando el servicio Coordinador de transacciones distribuidas de Microsoft (MS DTC).
OLEDB0 x 42Waittype indica que un SPID ha realizado una función llamada a un proveedor OLE DB y está esperando la función para devolver los datos necesarios. Waittype también puede indicar que el SPID está esperando llamadas a procedimientos remotos o consultas de servidor vinculadas para devolver los datos necesarios. También puede estar esperando el SPID para que BULK INSERT comandos o consultas de búsqueda completa devolver los datos necesarios.

Se utiliza el waittype OLEDB para indicar diversos estados, incluidos los de esperar: vinculados a las consultas del servidor, las consultas de búsqueda de texto completo, comandos BULK INSERT, trazas del analizador de cliente, la materialización de tablas virtuales como la tabla sysprocesses, lector del registro y DBCC CHECKDB.
RESOURCE_QUEUE0 x 44Se trata de un estado de "inactivo" normal para subprocesos en segundo plano en SQL Server.
ASYNC_DISKPOOL_LOCK0 x 45Puede observar este waittype durante las operaciones de larga duración dependiente de E/s como crear, expandir o colocar un archivo de base de datos.
UMSTHREAD0 x 46Waittype indica que se ha recibido un lote desde una aplicación cliente pero que no hay ningún subproceso de trabajo que están disponible para atender la solicitud. Si ve constantemente waittypes 0x0046 para varios SPID, hay un gran cuello de botella en otro lugar en el sistema que utiliza todos los subprocesos de trabajo disponibles. Tenga en cuenta que la columna waittime siempre es 0 para el waittype UMSTHREAD y la columna de lastwaittype erróneamente puede mostrar el nombre de un waittype diferente en lugar de UMSTHREAD."
WRITELOG0 x 81Waittype indica que el SPID está esperando una solicitud de E/S del registro de transacciones completar. Waittype también puede indicar un posible cuello de botella.
PSS_CHILD
EXCHANGE
CXPACKET
0 x 101
0 x 200
0x208
Estos waittypes son todos los implicados en la ejecución de consultas en paralelo. Estos waittypes indican que el SPID está esperando un proceso paralelo para completar o iniciar.
PAGESUPP0x209Waittype realiza un seguimiento del tiempo de espera que se produce a causa de la serialización requerido en la distribución de las filas a los llamadores múltiples en una exploración en paralelo.
CURSOR0x20CWaittype indica que el SPID está participando en la sincronización de subprocesos mientras utiliza cursores asincrónicos. Cuando se crea un cursor de forma asincrónica, puede determinar el valor de configuración sp_configure 'cursorthreshold' .
DBTABLE0x202Waittype indica que un subproceso está esperando para realizar un punto de comprobación y otro subproceso ya está estableciendo puntos de comprobación de la base de datos.
CE0x203Waittype indica que el SPID está esperando acceso al contexto de ejecución.
TEMPOBJ0x204Waittype indica que el SPID está esperando para colocar un objeto temporal que aún se está usando.
XACTLOCKINFO0x205Waittype indica que el SPID está esperando para realizar el mantenimiento de su lista de bloqueo.
LOGMGR0x206Waittype se utiliza cuando el SPID intenta cerrar una base de datos y espera las solicitudes de E/S de registro de transacción pendiente Finalizar.
CMEMTHREAD0x207Waittype indica que el SPID está esperando para tener acceso a un objeto de memoria seguros para subprocesos. La serialización se asegura de que cuando los usuarios están asignar o liberar la memoria del objeto de la memoria, los otros SPID está intentando realizar la misma tarea tiene que esperar y el waittype CMEMTHREAD se establece cuando se esperan los SPIDs.

Puede observar este waittype en muchos escenarios. Sin embargo, este waittype con más frecuencia se registra cuando se insertan los planes de consultas ad hoc rápidamente en una caché de procedimiento de muchas conexiones diferentes a la instancia de SQL Server. Puede resolver este cuello de botella al limitar los datos que se deben insertar o quitar de la caché de procedimientos, como explícitamente parametrizar las consultas para que las consultas se pueden reutilizar o mediante procedimientos almacenados en su caso.
APAGADO0x20AWaittype indica que se ha emitido un comando de apagado por el SPID, y el SPID está esperando consultas activas completar.
WAITFOR0x20BWaittype indica que el SPID está inactivo debido a una instrucción WAITFOR DELAY Transact-SQL.
NETWORKIO0 x 800Waittype indica que el SPID está esperando a que la aplicación cliente para recuperar los datos para que el SPID pueda enviar más resultados a la aplicación cliente.
Referencias
Para obtener más información, haga clic en el siguiente número de artículo para verlo en Microsoft Knowledge Base:
244455 Definición de campos de waittype y lastwaittype de sysprocesses para SQL Server 7.0
Para obtener información adicional acerca de la tabla de sistema master.dbo.sysprocesses en SQL Server 2000, visite el siguiente sitio Web de Microsoft: Para obtener más información acerca de los pestillos en SQL Server 2000, visite el siguiente sitio Web de Microsoft:

Advertencia: este artículo se tradujo automáticamente

Propiedades

Id. de artículo: 822101 - Última revisión: 07/25/2015 11:00:00 - Revisión: 9.0

Microsoft SQL Server 2000 Standard Edition, Microsoft SQL Server 2005 Standard Edition, Microsoft SQL Server 2005 Express Edition, Microsoft SQL Server 2005 Developer Edition, Microsoft SQL Server 2005 Enterprise Edition, Microsoft SQL Server 2005 Workgroup Edition

  • kbsqlsetup kbsystemdata kbfield kbdatabase kbinfo kbmt KB822101 KbMtes
Comentarios