Compartir a través de


Solución de problemas del servicio de replicación de bases de datos en Configuration Manager

Esta guía ayuda a los administradores a diagnosticar y resolver problemas del servicio de replicación de bases de datos (DRS) en Configuration Manager.

Versión original del producto: Microsoft Endpoint Configuration Manager (rama actual), Microsoft System Center 2012 R2 Configuration Manager, Microsoft System Center 2012 Configuration Manager
Número de KB original: 20033

Cuando experimenta un problema de DRS en Configuration Manager, la fase de investigación inicial es el punto más crítico. Cualquier tipo de cambio o corrección debe realizarse solo después de un estudio cuidadoso y la comprensión del problema a mano.

Introducción

Empiece por recopilar información relacionada con el historial del problema. Muchas veces los problemas de DRS se pueden rastrear en última instancia a un cambio reciente realizado en el entorno. Tenga en cuenta que no debe centrarse únicamente en Configuration Manager, ya que los cambios en Windows o SQL Server también pueden causar problemas de DRS. Tener una comprensión clara de los cambios recientes en el entorno puede proporcionar pistas importantes sobre el origen del problema.

Una vez que haya investigado los cambios del entorno y se haya asegurado de que las actualizaciones están en orden, el siguiente paso es ejecutar replication Link Analyzer (RLA). Para iniciar RLA, abra el área de trabajo Supervisión y seleccione el nodo Replicación de base de datos y haga clic con el botón derecho en el vínculo que tiene un problema y seleccione Replication Link Analyzer, como se muestra en el ejemplo siguiente:

Captura de pantalla del Analizador de vínculos de replicación en el nodo Replicación de base de datos.

Nota:

RLA se ejecuta en el contexto de quién lo inicia desde la consola, por lo que asegúrese de que la cuenta que usa tiene privilegios administrativos en sql Server y servidores de sitio.

RLA comprobará lo siguiente en ambos sitios:

  • El servicio SMS se está ejecutando.
  • El componente monitor de configuración de replicación de SMS se está ejecutando.
  • Los puertos necesarios para la replicación de SQL Server están habilitados.
  • Se admite la versión de SQL Server.
  • La red está disponible entre los dos sitios.
  • Hay suficiente espacio para la base de datos de SQL Server.
  • Existe la configuración del servicio SQL Server Broker.
  • Existe un certificado de servicio de SQL Server Broker.
  • Errores conocidos en los archivos de registro de SQL Server.
  • Si las colas de replicación están deshabilitadas.
  • La hora está sincronizada.
  • ¿La transmisión de datos está bloqueada?
  • ¿Existe un conflicto clave?

Si RLS encuentra problemas conocidos, le ofrecerá corregirlos. El informe de salida de RLA también es sencillo. Indica lo que se ha comprobado y qué reglas se ejecutaron además de si pasaron o no. Este es un ejemplo:

Captura de pantalla del ejemplo de informe de salida de RLA.

Obtención de detalles con SPDiagDRS

Si Replication Link Analyzer no puede detectar y resolver el problema, ejecute SPDiagDRS y compruebe si puede ofrecer pistas sobre lo que puede producir errores.

Para ejecutar SPDiagDRS, abra SQL Server Management Studio y conéctese a los dos servidores de cada lado del vínculo que tiene el problema. En cada base de datos CM_xxx , ejecute el Exec SPDiagDRS comando .

A continuación se muestra un desglose de las distintas SPDiagDRS secciones y algunos lugares comunes para buscar problemas. Una búsqueda sencilla de mensajes de error y códigos que se encuentran aquí a menudo le guía al origen del problema.

Captura de pantalla de un desglose de las distintas secciones spDiagDRS con el número de sección agregado.

Sección 1

  • SiteStatus: esto nos indica si el sitio está replicando o no. Nada que no sea ACTIVE no es bueno.

  • CertificateThumbprint: huella digital del certificado usado para la autenticación que contiene la clave pública del sitio (la base de datos local confía en la base de datos remota).

Captura de pantalla de los campos SiteStatus y CertificateThumbprint.

Sección 2

  • IncomingMessageInQueue: esto nos indica el trabajo pendiente entrante que tiene un sitio. Si el trabajo pendiente es alto debido al número de sitios que le informan, es posible que vea que los vínculos van a un estado degradado o erróneo porque las sincronizaciones de latidos no se procesan a tiempo.

  • OutgoingMessageInQueue: esto nos indica el trabajo pendiente que aún tiene que borrarse a medida que esperamos que los sitios reciban los mensajes. Esto suele fluctuar, sin embargo, si continúa creciendo, esto puede representar un problema. Se debe realizar una solución de problemas adicional para determinar qué sitio no recibe los mensajes.

Captura de pantalla de los campos IncomingMessageInQueue y OutgoingMessageInQueue.

Sección 3

Esto es simplemente la vista detallada del detalle de inicialización en la consola.

Captura de pantalla de detalles de inicialización.

Sección 4

Esta es la vista detallada de detalles de replicación en la consola. Proporciona más información sobre el flujo entre cada grupo de replicación.

Captura de pantalla de detalles de replicación.

Sección 5

Esta sección tiene información importante y útil sobre los sitios a los que nos conectamos. En este ejemplo estamos en el servidor de sitio primario 002 y 001 es el sitio de administración central. Si tuvieramos un sitio secundario inferior a 002, se mostraría aquí. En un sitio de administración central, todos los sitios primarios se reflejarían, pero no los sitios secundarios.

Ejemplo del sitio primario 002:

Captura de pantalla del ejemplo 002 del sitio primario.

Ejemplo del sitio de administración central 001:

Captura de pantalla del ejemplo del sitio de administración central.

Sección 6

Esto proporciona la información general de los sitios de la jerarquía, los SiteServerName nombres y DBServer , así como el estado y la versión. Puede ver aquí que un sitio primario diferente (003) se muestra como en modo de mantenimiento. En los sistemas de trabajo, la sección 6 debe ser idéntica entre el sitio de administración central y todos los sitios primarios de la jerarquía.

Captura de pantalla de un sitio primario en modo de mantenimiento.

Sección 7

Las dos secciones inferiores contienen información detallada sobre el latido o LastSentStatus para cada grupo, así como conversationIDs etc., y las opciones de replicación integradas configuradas para cada grupo.

Comprobar RCMCtrl.log si hay errores

A continuación, querrá comprobar RCMCtrl.log en cada sitio para ver si hay errores, ya que esto a menudo proporcionará pistas valiosas sobre el origen del problema. Por ejemplo, es posible que encuentre que la replicación está en un estado Con errores para un sitio y que la replicación no se ha producido durante algún tiempo. En este escenario, puede encontrar que RCMCtrl.log contiene entradas similares a las siguientes:

4/7/2016 1:25:36 PM: ReplicationLinkAnalysis Information: 1 : Completado subproceso de análisis de vínculos de replicación.
4/7/2016 1:25:37 PM: ReplicationLinkAnalysis Error: 1 : No se encuentra SiteCode o SiteNumber
4/7/2016 1:25:37 PM: ReplicationLinkAnalysis Error: 1 : Microsoft.ConfigurationManager.ManagedBase.LocalServerDataNotFoundException: Unable to find SiteCode o SiteNumber
en Microsoft.ConfigurationManager.ManagedBase.SiteData.Refresh()
en Microsoft.ConfigurationManager.ReplicationLinkAnalyzer.ReplicationLinkAnalysisEngine.Initialize()
en Microsoft.ConfigurationManager.ReplicationLinkAnalyzer.ReplicationLinkAnalysisEngine.RunRulesInBackground(Object sender, DoWorkEventArgs e)
at System.ComponentModel.BackgroundWorker.WorkerThreadStart(Object argument)

Si ve entradas similares a estas, asegúrese de que el SMS Executive y los servicios de Administrador de componentes de sitio se ejecutan en el sitio en cuestión. Si no es así, este puede ser el motivo por el que la replicación se encuentra en un estado Con errores . Si no se ejecuta, inicie los servicios SMS Executive o Administrador de componentes de sitio manualmente y solucione los problemas de los servicios si no se inician.

Otro ejemplo de un error que puede encontrar en RCMCtrl.log es el siguiente:

04/07/2016 12:33:34 PM 6352 (0x18D0)CSqlBCP::ReadRowCount: No se puede abrir el archivo [F:\Archivos de programa\Microsoft Configuration Manager\inboxes\rcm.box\GUID\INSTALLED_EXECUTABLE_DATA.bcp.rowcount]. SMS_REPLICATION_CONFIGURATION_MONITOR
04/07/2016 12:33:34 PM 6352 (0x18D0) CSqlBCP::D RS_Init_BCPIN: Error de ReadRowCount. SMS_REPLICATION_CONFIGURATION_MONITOR
04/07/2016 12:33:34 PM 6352 (0x18D0)*** DRS_Init_BCPIN() error SMS_REPLICATION_CONFIGURATION_MONITOR
04/07/2016 12:33:34 PM 6352 (0x18D0) CBulkInsert::D RS_Init_BCPIN: Failed to BCP in SMS_REPLICATION_CONFIGURATION_MONITOR
04/07/2016 12:33:34 PM 6352 (0x18D0) BCP en resultado es 2147500037. SMS_REPLICATION_CONFIGURATION_MONITOR
04/07/2016 12:33:34 PM 6352 (0x18D0) ERROR: Error al BCP en para la tabla INSTALLED_EXECUTABLE_DATA con código de error 2147500037. SMS_REPLICATION_CONFIGURATION_MONITOR
04/07/2016 12:33:34 PM 6352 (0x18D0) ERROR: No se pudo aplicar BCP para todos los artículos de la publicación Hardware_Inventory_7. SMS_REPLICATION_CONFIGURATION_MONITOR
04/07/2016 12:33:34 PM 6352 (0x18D0) Intentará aplicar archivos BCP de nuevo en la siguiente ejecución.

Lo que sucede aquí es que mientras el archivo .CAB enviado desde el elemento primario fue desempaquetado por el despooler, el espacio en la unidad se agotó, por lo que solo fue capaz de descomprimir algunos de los archivos. Si ve despool.log, tendrá un error de 2147024784 que hace referencia a un espacio en disco insuficiente. Para resolver este tipo de problema, libere espacio en disco en la unidad.

Comprobación de problemas de BCP

Si todavía no ha encontrado el origen del problema, podría ser que el proceso de replicación se interrumpió porque el programa de copia masiva (BCP) iba demasiado lento.

¿El remitente está limitado a este sitio y quizás esto ralentiza la transferencia de BCP?

Para comprobarlo, abra la consola y vaya a Administración>Información general>Replicación de archivos de configuración>de jerarquía y, a continuación, haga clic con el botón derecho en el sitio que enviaría los datos. Compruebe que la disponibilidad de la programación está establecida en Abrir para todas las prioridades y que Los límites de velocidad se establecen en Ilimitado en este sitio.

Compruebe el sitio en Replicación de archivos.

Si las cosas funcionan, pero el conjunto de datos del proceso BCP es grande y tarda mucho tiempo en enviarse, puede aumentar el número de subprocesos remitentes para acelerar las cosas. Los valores predeterminados se enumeran a continuación. Si el registro del remitente no aconseja constantemente más subprocesos disponibles o Usar 5 o 5 o Usar 3 de 3, se trata de una buena indicación de que puede querer aumentar los subprocesos del remitente.

Nota:

Si aumenta, la configuración surte efecto en tiempo real sin necesidad de reiniciar nada.

Aumente el número de subprocesos de remitente.

Además, si tiene un límite de velocidad establecido en Limitado a velocidad máxima especificada por hora (como se muestra a continuación), Configuration Manager solo usará un subproceso remitente a la vez cuando se transfiera a ese sitio independientemente del número de subprocesos del remitente establecido en. El valor predeterminado de Unlimited When Sending to this destination (Ilimitado al enviar a este destino ) usará todos los subprocesos de remitente configurados.

Captura de pantalla de la configuración de límite de velocidad.

Más información

Para obtener más información sobre DRS, consulte los siguientes artículos:

También puede publicar una pregunta en nuestro foro de soporte técnico de Configuration Manager.