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 yauto 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 on
en , 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
MesasSi 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 lasSpool
tablas yInstances
se limpian.En este escenario, controle las instancias suspendidas reanudándolas o finalizandolas. También se puede usar la herramienta BHM.
<HostName>Q
MesasSi 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.Spool
Tablas ,Parts
yFragments
Si las
Spool
tablas ,Parts
yFragments
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 laSpool
tabla y al menos una fila de laParts
tabla.Instances
mesaEl 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 laSpool
tabla.TrackingData_x_x
MesasSi 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 laTDDS_FailedTrackingData
tabla de laBizTalkDTADb
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 lasBAMPrimaryImport
tablas oBizTalkDTADb
TDDS_StreamStatus
, es posible que TDDS no mueva los datos de laBizTalkMsgBoxDb
base de datos. Para corregirlo, use la herramienta BHM para purgar estas tablas y restablecer el número de secuencia.dta_DebugTrace
ydta_MessageInOutEvents
tablasLa
dta_DebugTrace
tabla se rellena cuando el inicio y el final de la forma están habilitados en una orquestación. Si ladta_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 ladta_messageInOutEvents
tabla de laBizTalkDTADb
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
mesaLa
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: :
Realice una copia de seguridad de todas las bases de datos de BizTalk Server.
Ejecute el
dtasp_PurgeAllCompletedTrackingData
procedimiento almacenado. Para obtener más información sobre eldtasp_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:
Realice una copia de seguridad de todas las bases de datos de BizTalk.
Ejecute el
dtasp_CleanHMData
procedimiento almacenado. Use esta opción solo si laBizTalkDTADb
base de datos contiene muchas instancias incompletas que se deben quitar.Para ello, siga estos pasos:
- Detenga todos los hosts, servicios y adaptadores aislados personalizados de BizTalk. Si usa HTTP o el adaptador SOAP, reinicie los servicios IIS.
- Ejecute el
dtasp_CleanHMData
procedimiento almacenado en la base deBizTalkDTADb
datos. - 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