Compartir a través de


Mantenimiento y solución de problemas de bases de datos de BizTalk Server

En este artículo se proporciona información detallada sobre cómo mantener y solucionar problemas de bases de datos de BizTalk Server.

Versión original del producto: bases de datos de BizTalk Server
Número de KB original: 952555

Resumen

El estado de las bases de datos de Microsoft BizTalk Server es importante para un entorno de mensajería de BizTalk Server correcto. En este artículo se describen aspectos importantes que se deben tener en cuenta al trabajar con bases de datos de BizTalk Server. Estas consideraciones incluyen lo siguiente:

  • Debe deshabilitar las auto update statistics opciones de y auto create statistics SQL Server.
  • Debe establecer correctamente la max degree of parallelism opción (MAXDOP).
  • Determine cuándo puede volver a generar índices de BizTalk Server.
  • Es posible que se produzcan bloqueos, interbloqueos o bloqueos.
  • Es posible que experimente problemas con bases de datos o tablas de gran tamaño.
  • Trabajos de Agente SQL Server de BizTalk.
  • Las instancias de servicio se pueden suspender.
  • Puede experimentar problemas de rendimiento de SQL Server y BizTalk Server.
  • Debe seguir los procedimientos recomendados en BizTalk Server.

Introducción

En este artículo se describe cómo mantener bases de datos de BizTalk Server y cómo solucionar problemas de base de datos de BizTalk Server.

Debe deshabilitar las opciones de creación automática de estadísticas y actualización automática de estadísticas.

Debe mantener las auto create statistics opciones y auto update statistics deshabilitadas en la BizTalkMsgBoxDb base de datos. Para determinar si esta configuración está deshabilitada, ejecute los siguientes procedimientos almacenados en SQL Server:

EXEC sp_dboption 'BizTalkMsgBoxDB', 'auto create statistics'
EXEC sp_dboption 'BizTalkMsgBoxDB', 'auto update statistics'

Debe establecer la configuración actual en off. Si esta configuración se establece onen , desactive la ejecución de los siguientes procedimientos almacenados en SQL Server:

EXEC sp_dboption 'BizTalkMsgBoxDB', 'auto create statistics', 'off'
EXEC sp_dboption 'BizTalkMsgBoxDB', 'auto update statistics', 'off'

Debe establecer correctamente la propiedad Grado máximo de paralelismo.

En el equipo que ejecuta SQL Server y hospeda la BizTalkMsgBoxDb base de datos, establezca el grado máximo de paralelismo run_value y config_value propiedades en un valor de 1. En versiones posteriores de SQL, también es posible especificar esta configuración por base de datos en lugar de por instancia de SQL. Para obtener más información, vea Establecer MAXDOP. Para determinar la max degree of parallelism configuración, ejecute el siguiente procedimiento almacenado en la base de datos maestra en SQL Server:

EXEC sp_configure 'show advanced options', 1;
GO
EXEC sp_configure 'max degree of parallelism'

Si las run_value propiedades y config_value no se establecen en un valor de 1, ejecute el siguiente procedimiento almacenado en SQL Server para establecerlas en 1:

EXEC sp_configure 'show advanced options', 1;
GO
RECONFIGURE WITH OVERRIDE;
GO
EXEC sp_configure 'max degree of parallelism', 1;
GO
RECONFIGURE WITH OVERRIDE;
GO

Determinar cuándo puede volver a generar índices de BizTalk Server

La mayoría de los índices de BizTalk Server están agrupados (id. de índice: 1). Puede usar la DBCC SHOWCONTIG instrucción SQL Server para mostrar información de fragmentación de las tablas de BizTalk Server.

Los índices de BizTalk Server se basan en GUID. Por lo tanto, normalmente se produce la fragmentación. Si el valor de densidad de examen devuelto por la DBCC SHOWCONTIG instrucción es inferior al 30 por ciento, los índices de BizTalk Server se pueden volver a generar durante el tiempo de inactividad.

Muchas tablas de BizTalk Server contienen columnas que usan DataType definiciones. La indexación en línea no se puede realizar en estas columnas. Por lo tanto, nunca debe volver a generar los índices de BizTalk Server mientras BizTalk Server procesa los datos.

Puede producirse bloqueo, interbloqueo o bloqueo

Normalmente, los bloqueos y bloques se producen en un entorno de BizTalk Server. Sin embargo, estos bloqueos o bloques no permanecen durante un tiempo prolongado. Por lo tanto, el bloqueo y el interbloqueo indican un posible problema.

Puede experimentar problemas con bases de datos o tablas de gran tamaño.

Hemos visto que cuando la BizTalkMsgBoxDb base de datos es mayor, pueden producirse problemas de rendimiento. Lo ideal es que la BizTalkMsgBoxDb base de datos no contenga datos. La BizTalkMsgBoxDb base de datos debe considerarse un búfer hasta que los datos se procesen o se muevan a la BizTalkDTADb base de datos o BAM.

Un entorno que usa un servidor SQL Server eficaz en el back-end y muchas orquestaciones de larga duración pueden tener una BizTalkMsgBoxDb base de datos superior a 5 GB. Un entorno de gran volumen que no usa orquestaciones de larga duración debe tener una BizTalkMsgBoxDb base de datos mucho menor que 5 GB.

La BizTalkDTADb base de datos no tiene un tamaño establecido. Sin embargo, si el rendimiento disminuye, es probable que la base de datos sea demasiado grande. Para algunos clientes de 20 GB puede considerarse demasiado grande, mientras que para otros que con 200 GB podrían funcionar bien con un servidor SQL Server muy fuerte que se ejecuta en varias CPU, mucha memoria y una red y almacenamiento rápidos. Cuando tenga bases de datos grandes de BizTalk Server, puede experimentar los siguientes problemas:

  • La BizTalkMsgBoxDb base de datos sigue creciendo. Sin embargo, tanto el archivo de registro como el tamaño de los datos siguen siendo grandes.

  • BizTalk Server tarda más tiempo de lo habitual en procesar incluso un escenario sencillo de flujo de mensajes.

  • La consola de administración de BizTalk o las consultas de seguimiento de actividad y mantenimiento (HAT) tardan más de lo habitual y pueden agotar el tiempo de espera.

  • El archivo de registro de base de datos nunca se trunca.

  • Los trabajos de BizTalk Agente SQL Server se ejecutan más lentamente de lo habitual.

  • Algunas tablas son más grandes o tienen demasiadas filas en comparación con el tamaño de tabla habitual.

Las bases de datos pueden ser grandes por varias razones. Estas razones pueden incluir lo siguiente:

  • Los trabajos de Agente SQL Server de BizTalk no se están ejecutando
  • Gran número de instancias suspendidas
  • Errores de disco
  • Seguimiento
  • Limitaciones
  • Rendimiento de SQL Server
  • Latencia de red

Asegúrese de que sabe lo que se espera en su entorno para determinar si se está produciendo un problema de datos.

De forma predeterminada, el seguimiento está habilitado en el host predeterminado. BizTalk requiere que la opción Permitir seguimiento de host esté activada en un único host. Cuando el seguimiento está habilitado, el Servicio de descodificación de datos de seguimiento (TDDS) mueve los datos del evento de seguimiento de la BizTalkMsgBoxDb base de datos a la BizTalkDTADb base de datos. Si se detiene el host de seguimiento, TDDS no mueve los datos a la BizTalkDTADb base de datos y TrackingData_x_x las tablas de la BizTalkMsgBoxDb base de datos aumentarán.

Se recomienda dedicar un host al seguimiento. Para permitir que TDDS mantenga nuevos eventos de seguimiento en escenarios de gran volumen, cree varias instancias de un único host de seguimiento. No debe existir más de un host de seguimiento.

Puede haber demasiadas filas en una tabla. No hay ningún número establecido de filas que sean demasiadas. Además, este número de filas varía según el tipo de datos almacenados en la tabla. Por ejemplo, una dta_DebugTrace tabla que tiene más de 1 millón de filas probablemente tiene demasiadas filas. Una <HostName>Q_Suspended tabla que tiene más de 200 000 filas probablemente tiene demasiadas filas.

Usar los trabajos correctos de BizTalk Agente SQL Server

Los trabajos de Agente SQL Server de BizTalk son importantes para administrar las bases de datos de BizTalk Server y para mantener un alto rendimiento.

El trabajo de copia de seguridad de BizTalk Server Agente SQL Server es el único método admitido para realizar copias de seguridad de las bases de datos de BizTalk Server cuando se inician Agente SQL Server y las instancias de host de BizTalkServer. Este trabajo requiere que todas las bases de datos de BizTalk Server usen un modelo de recuperación completa. Debe configurar este trabajo para un entorno de BizTalk Server correcto. Los métodos de SQL Server se pueden usar para realizar copias de seguridad de las bases de datos de BizTalk Server solo si se detiene Agente SQL Server y si se detienen todas las instancias de host de BizTalk Server.

El MessageBox_Message_ManageRefCountLog_BizTalkMsgBoxDb trabajo de Agente SQL Server se ejecuta infinitamente. Por lo tanto, el historial de trabajos de Agente SQL Server nunca muestra una finalización correcta. Si se produce un error, el trabajo se reinicia en un minuto y continúa ejecutándose infinitamente. Por lo tanto, puede omitir de forma segura el error. Además, se puede borrar el historial de trabajos. Solo debe preocuparse si el historial de trabajos informa de que este trabajo produce un error constante y se reinicia.

El MessageBox_Message_Cleanup_BizTalkMsgBoxDb trabajo de Agente SQL Server es el único trabajo de BizTalk Server que no se debe habilitar porque el trabajo de Agente SQL Server lo inicia MessageBox_Message_ManageRefCountLog_BizTalkMsgBoxDb .

El trabajo de purga y archivo de DTA Agente SQL Server ayuda a mantener la BizTalkDTADb base de datos purgando y archivando mensajes de seguimiento. Este trabajo lee todas las filas de la tabla y compara la marca de tiempo para determinar si se debe quitar el registro.

Todos los trabajos de bizTalk Agente SQL Server excepto el MessageBox_Message_ManageRefCountLog_BizTalkMsgBoxDb trabajo de Agente SQL Server deben ejecutarse correctamente.

Las instancias de servicio se pueden suspender

Las instancias de servicio se pueden suspender (reanudables) o suspenderse (no reanudables). Estas instancias de servicio pueden ser mensajería, orquestación o puerto.

Estas instancias de servicio pueden hacer que la BizTalkMsgBoxDb base de datos crezca innecesariamente y se pueda finalizar. Puede usar el Centro de grupos para consultar, reanudar o finalizar mensajes. También puede usar el script Terminate.vbs o la herramienta Monitor de estado de BizTalk (BHM) para consultar, purgar y mantener bases de datos de BizTalk. En algunas situaciones, puede haber mensajes huérfanos o zombis dejados en el sistema. La herramienta BHM puede ayudar a corregir estas situaciones.

Para obtener más información sobre el script Terminate.vbs , consulte Eliminación de instancias de servicio suspendidas.

Las instancias de almacenamiento en caché no aparecen en la página Centro de grupos y no se pueden suspender ni finalizar. Esta restricción es una causa común del crecimiento de la tabla. Para evitar nuevos mensajes zombies para las instancias del servicio de caché en BizTalk Server 2006, instale la revisión en el artículo de Microsoft Knowledge Base 936536. Este problema se ha corregido en BizTalk Server 2006 R2 y versiones posteriores.

Nota:

Un mensaje zombie es un mensaje que se enrutaba pero no se consumía.

Para obtener una descripción de los mensajes zombis, visite el siguiente sitio web de MSDN: WebLog del motor principal de BizTalk

Puede experimentar problemas de rendimiento de SQL Server y BizTalk Server.

BizTalk Server realiza cientos de transacciones cortas y rápidas a SQL Server en un minuto. Si SQL Server no puede mantener esta actividad, BizTalk Server puede experimentar problemas de rendimiento. En Monitor de rendimiento, supervise los contadores Avg. Disk sec/Read, Avg. Disk sec/Transfer y Avg. Disk sec/Write Monitor de rendimiento en el objeto de rendimiento PhysicalDisk. El valor óptimo es menor que 10 ms (milisegundos). Un valor de 20 ms o mayor se considera un rendimiento deficiente.

Procedimientos recomendados en BizTalk Server

Inicie Agente SQL Server en SQL Server. Cuando se detiene el Agente SQL Server, los trabajos integrados de BizTalk Agente SQL Server que son responsables del mantenimiento de la base de datos no se pueden ejecutar. Este comportamiento provoca el crecimiento de la base de datos y este crecimiento puede causar problemas de rendimiento.

Coloque los archivos del archivo de base de datos de registro (LDF) de SQL Server y el archivo de base de datos principal (MDF) en unidades independientes. Cuando los archivos LDF y MDF de las BizTalkMsgBoxDb bases de datos y BizTalkDTADb están en la misma unidad, puede producirse la contención de disco.

Si no se beneficia del seguimiento del cuerpo del mensaje, no habilite esta característica. Sin embargo, es una buena idea habilitar el seguimiento del cuerpo del mensaje mientras desarrolla y soluciona problemas de una solución. Si lo hace, asegúrese de deshabilitar el seguimiento del cuerpo del mensaje cuando haya terminado. Cuando el seguimiento del cuerpo del mensaje está habilitado, crecen las bases de datos de BizTalk Server. Si hay una necesidad empresarial que requiere habilitar el seguimiento del cuerpo del mensaje, confirme que los TrackedMessages_Copy_BizTalkMsgBoxDb trabajos de purga y archivo de DTA y archive Agente SQL Server se están ejecutando correctamente.

Normalmente, los registros de transacciones más pequeños provocan un mejor rendimiento. Para que los registros de transacciones sean más pequeños, configure el trabajo de copia de seguridad de BizTalk Server Agente SQL Server para que se ejecute con más frecuencia.

El sp_ForceFullBackup procedimiento almacenado de la BizTalkMgmtDb base de datos también se puede usar para ayudar a realizar una copia de seguridad completa ad hoc de los archivos de datos y de registro. El procedimiento almacenado actualiza la adm_ForceFullBackup tabla con un valor 1. La próxima vez que se ejecute el trabajo de Copia de seguridad de BizTalk Server, se crea un conjunto de copia de seguridad de base de datos completo.

La herramienta Monitor de mantenimiento de BizTalk (BHM) se puede usar para evaluar una implementación existente de BizTalk Server. BHM realiza numerosas comprobaciones relacionadas con la base de datos.

Solución de problemas

Los mejores pasos de solución de problemas para las bases de datos de SQL Server de BizTalk Server dependen del tipo de problema de base de datos, como bloqueo o interbloqueo. Para solucionar problemas de una base de datos de BizTalk Server, siga estos pasos.

Paso 1: Habilitar y ejecutar todos los trabajos necesarios de BizTalk Agente SQL Server

Todos los trabajos de BizTalk Agente SQL Server excepto el MessageBox_Message_ManageRefCountLog_BizTalkMsgBoxDb trabajo deben estar habilitados y ejecutándose correctamente. No deshabilite ningún otro trabajo.

Si se produce un error, use la opción Ver historial en SQL Server para ver la información de error y, a continuación, solucionar el error en consecuencia. Recuerde que el MessageBox_Message_ManageRefCountLog_BizTalkMsgBoxDb trabajo de Agente SQL Server se ejecuta infinitamente. Por lo tanto, solo debe preocuparse si el historial de trabajos informa de que el trabajo produce un error constante y se reinicia.

Paso 2: Usar la herramienta Monitor de mantenimiento de BizTalk (BHM)/MsgBoxViewer

Recopile el informe BHM mientras reproduce un problema.

La herramienta BHM es útil para solucionar problemas, ya que proporciona un informe HTML que tiene información detallada sobre los tamaños de tabla y el recuento de filas. El informe también puede ayudar a determinar si BizTalk Server está limitando. Además, la herramienta proporciona una vista de instantánea de las bases de datos de BizTalk Server y la configuración de BizTalk Server.

Para obtener más información sobre la limitación en BizTalk Server, vea How BizTalk Server Implements Host Throttling (Cómo BizTalk Server implementa la limitación de host).

Cuando BizTalk Server se ejecuta más lentamente de lo habitual, ejecute la herramienta BHM y, a continuación, revise el informe HTML generado para ver si hay problemas. En la sección Resumen se enumeran las advertencias en amarillo y posibles problemas en rojo.

Además, puede usar la salida de la herramienta BHM para determinar qué tablas son las más grandes y tienen la mayoría de los registros. En la tabla siguiente se enumeran las tablas de BizTalk Server que suelen aumentar el mayor tamaño. Puede usar estos datos para determinar dónde puede existir un posible problema.

Tabla Description
<HostName>Q_Suspended Esta tabla contiene una referencia a los mensajes de la Spool tabla que están asociadas a instancias suspendidas para el host determinado. Esta tabla se encuentra en la BizTalkMsgBoxDb base de datos.
<HostName>Q Esta tabla contiene una referencia a los mensajes de la Spool tabla que están asociadas al host concreto y no se suspenden. Esta tabla se encuentra en la BizTalkMsgBoxDb base de datos.
Spool

Parts

Fragments
Estas tablas almacenan datos de mensajes reales en la BizTalkMsgBoxDb base de datos.
Instances Esta tabla almacena todas las instancias y su estado actual en la BizTalkMsgBoxDb base de datos.
TrackingData_0_x Estas cuatro tablas almacenan los eventos de seguimiento de Supervisión de actividad empresarial (BAM) en la BizTalkMsgBoxDb base de datos de TDDS para mover los eventos a la BAMPrimaryImport base de datos.
TrackingData_1_x Estas cuatro tablas almacenan los eventos con seguimiento en la BizTalkMsgBoxDb base de datos para que TDDS mueva los eventos a la BizTalkDTADB base de datos.
Tracking_Fragmentsx
Tracking_Partsx
Tracking_Spoolx
Dos de estas tablas están en las BizTalkMsgBoxDb bases de datos y BizTalkDTADb . Uno está en línea y el otro está sin conexión.

En BizTalk Server 2004 SP2 y en versiones posteriores, el TrackedMessages_Copy_BizTalkMsgBoxDb trabajo de Agente SQL Server mueve cuerpos de mensajes de seguimiento directamente a estas tablas de la BizTalkDTADb base de datos.

En BizTalk Server 2004 Service Pack 1 (SP1) y en versiones anteriores de BizTalk Server 2004, el TrackedMessages_Copy_BizTalkMsgBoxDb trabajo de Agente SQL Server copia cuerpos de mensajes de seguimiento en estas tablas de la BizTalkMsgBoxDb base de datos. El TrackingSpool_Cleanup_BizTalkMsgBoxDb Agente SQL Server trabajo purga las tablas sin conexión y pone las tablas en línea mientras el trabajo también quita las tablas en línea sin conexión.
dta_ServiceInstances En esta tabla se almacenan los eventos de seguimiento de las instancias de servicio de la BizTalkDTADb base de datos. Si esta tabla es grande, es probable que la BizTalkDTADb base de datos sea grande.
dta_DebugTrace En esta tabla se almacenan los eventos del depurador de orquestación en la base de datos BizTalkDTADb.
dta_MessageInOutEvents Esta tabla almacena mensajes de eventos de seguimiento en la BizTalkDTADb base de datos. Estos mensajes de eventos con seguimiento incluyen información de contexto del mensaje.
dta_ServiceInstanceExceptions En esta tabla se almacena información de error para cualquier instancia de servicio suspendida en la BizTalkDTADb base de datos.

Considere los siguientes escenarios.

  • <HostName>Q_Suspended Mesas

    Si las <HostName>Q_Suspended tablas tienen muchos registros, las tablas podrían ser instancias suspendidas válidas que aparecen en el Centro de grupos o en HAT. Estas instancias se pueden finalizar. Si estas instancias no aparecen en el Centro de grupos o en HAT, es probable que las instancias almacenen en caché instancias o informes de errores de enrutamiento huérfanos. Cuando se finalizan las instancias suspendidas, los elementos de esta tabla y sus filas asociadas en las Spool tablas y Instances se limpian.

    En este escenario, controle las instancias suspendidas reanudándolas o finalizandolas. También se puede usar la herramienta BHM.

  • <HostName>Q Mesas

    Si las <HostName>Q tablas tienen muchos registros, pueden existir los siguientes tipos de instancias:

    • Instancias listas para ejecutarse
    • Instancias activas
    • Las instancias deshidratadas de BizTalk Server necesitan tiempo para "ponerse al día" y procesar las instancias.

    Esta tabla puede crecer cuando la velocidad de procesamiento entrante supera la velocidad de salida del procesamiento. Este escenario puede producirse cuando se produce otro problema, como una base de datos grande BizTalkDTADb o retrasos en el disco de SQL Server.

  • SpoolTablas , Partsy Fragments

    Si las Spooltablas , Partsy Fragments tienen muchos registros, muchos mensajes están activos, deshidratados o suspendidos actualmente. Según el tamaño, el número de partes y la configuración de fragmentación de estas tablas, un único mensaje puede generar todas estas tablas. Cada mensaje tiene exactamente una fila en la Spool tabla y al menos una fila de la Parts tabla.

  • Instances mesa

    El administrador de BizTalk no debe permitir que muchas instancias suspendidas permanezcan en la Instances tabla. Las instancias deshidratadas solo deben permanecer si la lógica de negocios requiere orquestaciones de larga duración. Recuerde que una instancia de servicio se puede asociar a muchos mensajes de la Spool tabla.

  • TrackingData_x_x Mesas

    Si las TrackingData_x_x tablas son grandes, el host de seguimiento (TDDS) no se ejecuta correctamente. Si se está ejecutando la instancia de host de seguimiento, revise los registros de eventos y la TDDS_FailedTrackingData tabla de la BizTalkDTADb base de datos para obtener información de error. Si BizTalk está limitando con un estado de 6 (base de datos grande), estas tablas también se pueden truncar mediante la herramienta Terminador de BizTalk si no se necesitan datos.

    Si hay una gran diferencia entre los números de secuencia de las BizTalkMsgBoxDb TrackingData_x_x tablas y las BAMPrimaryImport tablas o BizTalkDTADb TDDS_StreamStatus , es posible que TDDS no mueva los datos de la BizTalkMsgBoxDb base de datos. Para corregirlo, use la herramienta BHM para purgar estas tablas y restablecer el número de secuencia.

  • dta_DebugTrace y dta_MessageInOutEvents tablas

    La dta_DebugTrace tabla se rellena cuando el inicio y el final de la forma están habilitados en una orquestación. Si la dta_DebugTrace tabla tiene muchos registros, se usan o se usan estos eventos de depuración de orquestación. Si la depuración de orquestación no es necesaria para las operaciones normales, desactive la casilla Inicio y finalización de la forma en las propiedades de orquestación.

    La dta_MessageInOutEvents tabla se rellena cuando el envío y recepción de mensajes está habilitado en orquestaciones o canalizaciones. Si estos eventos de seguimiento no son necesarios, desactive la casilla de esta opción en las propiedades de orquestación o canalización.

    Si estos eventos de seguimiento están deshabilitados o si existe un trabajo pendiente en la BizTalkMsgBoxDb base de datos, estas tablas pueden seguir creciendo porque TDDS sigue trasladando estos datos a estas tablas.

    De forma predeterminada, el seguimiento global está habilitado. Si el seguimiento global no es necesario, se puede deshabilitar. Para obtener más información, vea Cómo desactivar el seguimiento global.

    Si la dta_DebugTrace tabla o la dta_messageInOutEvents tabla de la BizTalkDTADb base de datos son demasiado grandes, puede truncar las tablas manualmente después de detener el host de seguimiento. La herramienta BHM también proporciona esta funcionalidad.

    Para truncar todas las tablas de seguimiento de la BizTalkMsgBoxDb base de datos, use la herramienta BHM. La herramienta BHM está disponible externamente en el Centro de descarga de Microsoft.

    Para obtener más información sobre las directrices de ajuste de tamaño de la base de datos de seguimiento, visite el siguiente sitio web de MSDN: Tracking Database Sizing Guidelines (Directrices de ajuste de tamaño de base de datos de seguimiento).

  • dta_ServiceInstanceExceptions mesa

    La dta_ServiceInstanceExceptions tabla suele ser grande en un entorno que regularmente tiene instancias suspendidas.

Paso 3: Investigar escenarios de interbloqueo

En un escenario de interbloqueo, habilite el seguimiento de DBCC en SQL Server para que la información de interbloqueo se escriba en el registro de SQLERROR.

En SQL Server 2005 y versiones posteriores, ejecute la siguiente instrucción:

DBCC TRACEON (1222,-1)

En SQL Server 2000, ejecute la instrucción siguiente:

DBCC TRACEON (1204)

Además, use la utilidad PSSDiag para recopilar datos sobre el Lock:Deadlock evento y el Lock:Deadlock evento Chain.

La BizTalkMsgBoxDB base de datos es una base de datos de alto volumen y procesamiento de transacciones en línea (OLTP). Se espera algún interbloqueo y el motor de BizTalk Server controla internamente este interbloqueo. Cuando se produce este comportamiento, no se muestran errores en los registros de errores. Al investigar un escenario de interbloqueo, el interbloqueo que está investigando en la salida debe estar correlacionado con un error de interbloqueo en los registros de eventos.

Se espera que el comando de puesta en cola y algunos trabajos de Agente SQL Server interbloquee. Normalmente, estos trabajos se seleccionan como víctimas de interbloqueo. Estos trabajos aparecerán en un seguimiento de interbloqueo. Sin embargo, no se muestran errores en los registros de eventos. Por lo tanto, se espera este interbloqueo y puede omitir de forma segura el interbloqueo con estos trabajos.

Si aparecen interbloqueos frecuentes en un seguimiento de interbloqueo y si se muestra un error de correlación en los registros de eventos, es posible que desee el interbloqueo.

Paso 4: Búsqueda de procesos bloqueados

Use el Monitor de actividad en SQL Server para obtener el identificador de proceso del servidor (SPID) de un proceso del sistema de bloqueo. A continuación, ejecute SQL Profiler para determinar la instrucción SQL que se ejecuta en el SPID de bloqueo.

Para solucionar problemas de bloqueo y bloqueo en SQL Server, use la utilidad PSSDiag for SQL para capturar todos los eventos de Transact-SQL que tienen habilitado el script de bloqueo.

En SQL Server 2005 y versiones posteriores, puede especificar la configuración del umbral de proceso bloqueado para determinar qué SPID o SPID están bloqueando más tiempo que el umbral que especifique.

Para obtener más información sobre la configuración de umbral de proceso bloqueado, consulte Opción de configuración del servidor umbral de proceso bloqueado.

Nota:

Cuando experimenta un problema de bloqueo o bloqueo en SQL Server, se recomienda ponerse en contacto con los Servicios de soporte al cliente de Microsoft. Los servicios de soporte al cliente de Microsoft pueden ayudarle a configurar las opciones de utilidad PSSDiag correctas.

Paso 5: Instalar el Service Pack de BizTalk Server más reciente y la actualización acumulativa

Las versiones posteriores de BizTalk Server se han movido a un modelo de actualización acumulativa (CU). Las actualizaciones acumulativas contendrán las correcciones más recientes.

Eliminar todos los datos

Si las bases de datos son demasiado grandes o si el método preferido es eliminar todos los datos, se pueden eliminar todos los datos.

Precaución

No use este método en ningún entorno en el que los datos sean críticos para la empresa o si los datos son necesarios.

Pasos de purga de bases de datos de BizTalkMsgBoxDb

Para eliminar todos los datos de la BizTalkMsgBoxDb base de datos, use la herramienta Monitor de estado de BizTalk (BHM).

Opciones de purga de bases de datos de BizTalkDTADb

Para eliminar todos los datos de la BizTalkDTADb base de datos, use la herramienta Monitor de mantenimiento de BizTalk (BHM). De lo contrario, use uno de los métodos siguientes.

Nota:

Aunque ambos métodos eliminan todos los mensajes, el método 2 es más rápido.

  • Método 1: :

    1. Realice una copia de seguridad de todas las bases de datos de BizTalk Server.

    2. Ejecute el dtasp_PurgeAllCompletedTrackingData procedimiento almacenado. Para obtener más información sobre el dtasp_PurgeAllCompletedTrackingData procedimiento almacenado, vea Cómo purgar manualmente los datos de la base de datos de seguimiento de BizTalk.

      Nota:

      Esta acción elimina todos los mensajes completados.

  • Método 2:

    1. Realice una copia de seguridad de todas las bases de datos de BizTalk.

    2. Ejecute el dtasp_CleanHMData procedimiento almacenado. Use esta opción solo si la BizTalkDTADb base de datos contiene muchas instancias incompletas que se deben quitar.

      Para ello, siga estos pasos:

      1. Detenga todos los hosts, servicios y adaptadores aislados personalizados de BizTalk. Si usa HTTP o el adaptador SOAP, reinicie los servicios IIS.
      2. Ejecute el dtasp_CleanHMData procedimiento almacenado en la base de BizTalkDTADb datos.
      3. Reinicie todos los hosts y los servicios de BizTalk Server.

Pasos solo de BizTalk Server 2004

Nota:

Si debe tener los datos de seguimiento, haga una copia de seguridad de la BizTalkDTADb base de datos, restaure la base de datos en otra instancia de SQL Server y, a continuación, purgue la base de datos original BizTalkDTADb .

Si necesita ayuda para analizar los datos de BHM o la salida de PSSDiag, póngase en contacto con los servicios de soporte al cliente de Microsoft. Para obtener una lista completa de los números de teléfono de los Servicios de atención al cliente e información sobre los costos de soporte técnico, consulte Contacto con Soporte técnico de Microsoft.

Nota:

Antes de ponerse en contacto con los Servicios de atención al cliente, comprima los datos del informe de BHM, la salida de PSSDiag y los registros de eventos actualizados (archivos.evt). Es posible que tenga que enviar estos archivos a un ingeniero de soporte técnico de BizTalk Server.

Se aplica a

  • BizTalk Server 2009
  • BizTalk Server 2010
  • BizTalk Server 2013
  • BizTalk Server 2013 R2
  • BizTalk Server 2016
  • BizTalk Server 2020