Síntomas
Suponga que usa la replicación de mezcla que el editor está ejecutando en Microsoft SQL Server 2012 o SQL Server 2012 Service Pack 1 (SP1). Después de actualizar el editor al Service Pack 2 (SP2) de SQL Server 2012, no puede reiniciar el agente de mezcla. Además, recibe el siguiente error:
El proceso de mezcla no pudo limpiar los metadatos basados en la retención de la base de datos ' MergePub '. Si el error persiste, pruebe a aumentar el tiempo de espera de la consulta para este proceso o intente reducir el período de retención. Para solucionar el problema, reinicie la sincronización con registro de historial detallado y especifique un archivo de salida en el que escribir.
Al ejecutar el sp_mergemetadataretentioncleanup procedimiento almacenado de forma manual en el publicador, se produce un error en el procedimiento almacenado y se recibe el siguiente error:
Msj 206, nivel 16, estado 2, procedimiento sp_mergemetadataretentioncleanup, línea 63Operand conflicto de tipos: BIGINT es incompatible con uniqueidentifierMsg 206, nivel 16, estado 2, procedimiento sp_mergemetadataretentioncleanup, línea 65Operand conflicto de tipos: int es incompatible con uniqueidentifier
Resolución
El problema se solucionó por primera vez en la siguiente actualización acumulativa de SQL Server.
Actualización acumulativa 3 para SQL Server 2012 SP2 /en-us/help/3002049
Cada actualización acumulativa para SQL Server contiene todas las revisiones y todas las revisiones de seguridad incluidas en la actualización acumulativa anterior. Consulte las últimas actualizaciones acumulativas para SQL Server:
Solución alternativa
Para solucionar este problema, ejecute la consulta siguiente en la base de datos publicada:if exists (select * from sys.columns sc inner join sys.types st on sc.system_type_id = st.system_type_id where object_id = object_id('dbo.sysmergesubscriptions') and sc.name = 'last_local_recgen' and st.name = 'uniqueidentifier') begin alter table dbo.sysmergesubscriptions drop column last_local_recgen alter table dbo.sysmergesubscriptions add last_local_recgen bigint null end
Estado
Microsoft ha confirmado que se trata de un problema de los productos de Microsoft recogidos en la sección "Se aplica a".