El proceso de mezcla no pudo crear una nueva generación en ‘Publisher’

For English version visit this link The merge process was unable to create a new generation at the ‘Publisher’
 
Ayer realizamos un update masivo de 1 millón de registros en una tabla de la BBDD de réplica, después del update, hicimos que un equipo replicara, y vimos que en la primera publicación fallaba después de unos 2000 segundos, dándonos el siguiente error:
 
“El proceso de mezcla no pudo crear una nueva generación en ‘Publisher’. Para solucionar el problema, reinicie la sincronización con registro de historial detallado y especifique un archivo de salida para escribir en él.” 
 
El texto en Inglés es:
 
“The merge process was unable to create a new generation at the ‘Publisher’. Troubleshoot by restarting the synchronization with verbose history logging and specify an output file to which to write.”

Revisando el log de réplica, se mostraban errores de Time Out que ocurrían cuando se superaban los 300 segundos, hasta que después de 6 o 7 intentos cuando superaba los 1800 segundos fallaba la publicación y nos mostraba el error. Esto era debido a que el valor de -QueryTimeOut del perfil de Merge Agent era de 300 segundos y el del perfil de Distribution Agent era de 1800 segundos, por lo que decidimos aumentar temporalmente el valor de ambos a 3600 segundos con lo que conseguimos que se solucionara, los pasos que se realizaron para modificar este valor fueron los siguientes:
 
1. Click derecho sobre “Replication” y seleccionamos “Distributor Properties”.
 
2. Pinchamos en el botón “Profile Defaults”.
 
3. En Distribution Agents, pinchamos en “New” para crear un nuevo perfil, ya que los perfiles de sistema no se pueden modificar, y elegimos como modelo el Default Agent.
 
4. Ponemos nombre al nuevo perfil y cambiamos el valor de -QueryTimeOut al que queramos, en nuestro caso 3600.
 
5. Seleccionamos el perfil recién creado y le damos a “Change Existing Agents” , con esto aplicaremos los cambios en los Distribution Agents que ya estén creados.
 
6. Ahora nos vamos a Merge Agents y volvemos a realizar los mismos pasos, el primero, crear un nuevo perfil.
 
7. Ponemos nombre al perfíl y cambiamos el valor de -QueryTimeout, en nuestro caso 3600.
 
8. Seleccionamos el perfil creado y le damos “Change Existing Agents” para aplicar los cambios a los Merge Agents que ya estén creados.
 
9. Damos a OK en las dos ventanas y con esto ya tenemos el valor de -QueryTimeout cambiado.
 
10. Si este valor es temporal, no os olvidéis de volver a cambiarlo cuando hayáis terminado

 

About Fran Lens
SQL Server Analyst at Avanade Spain http://www.lensql.net

3 Responses to El proceso de mezcla no pudo crear una nueva generación en ‘Publisher’

  1. Anonymous says:

    Sos un master, me ha servido de mucho este articulo

    • Eyka says:

      thanks! in 64-bit operating syestm, the step 3 is worked, only C:\Program Files (x86)\Microsoft SQL Server\80\Tools\Binn\” is before: “C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\”.but my pc is 32-bit, so C:\Program Files\Microsoft SQL Server\80\Tools\Binn\” is before: “C:\Program Files\Microsoft SQL Server\100\Tools\Binn\”.

  2. Shizuka says:

    MATERIALIZED view :::select t.*, t.rowid from a tinserted 3 rawecrsote MATERIALIZED view b REFRESH WITH ROWID START WITH SYSDATENEXT sysdate + 2/1440 as select * from a;select * from b;all 3 are coming inserted 1 row in a table. it is getting reflected in b ( Mview) show parameter query_rewrite_enabled boolean FALSEshow parameter query_rewrite_integrity string ENFORCEDStill it works in one environment and not in other

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: