REVISIÓN: Se recibe mensajes de error de memoria insuficiente al utilizar la duplicación de mezcla con la sincronización Web en SQL Server 2005 o en SQL Server 2008

Seleccione idioma Seleccione idioma
Id. de artículo: 974660 - Ver los productos a los que se aplica este artículo
Expandir todo | Contraer todo

En esta página

Síntomas

Utilice la duplicación de mezcla de SQL Server 2005 o duplicación de mezcla de SQL Server 2008 con una sincronización Web basado en el suscriptor. Se produce una pérdida de memoria después de sincronizaciones repetidas y puede recibir errores "memoria insuficiente" después de un período de tiempo. Esto se convierte en apreciable cuando no se reinició el proceso de host durante un largo periodo de tiempo, como cuando se utiliza el agente de mezcla (Replmerg.exe) con el continuo switch - o bien cuando se especifica el parámetro continuo en el perfil del agente que se aplica al agente. También puede afectar este problema a una aplicación RMO o servicio que desarrolló que se ejecuta sincronización en un bucle cuando la aplicación se ejecuta durante varios días sin salir.

Causa

Varios objetos internos son pérdidas tras cada sincronización.

Solución

SQL Server 2005 Service Pack 3

La corrección para este problema se lanzó por primera vez en la actualización acumulativa 6 para SQL Server 2005 Service Pack 3. Para obtener más información acerca de este paquete de actualización acumulativa, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
974648Paquete de actualización acumulativa 6 para SQL Server 2005 Service Pack 3
Nota Como las compilaciones son acumulativas, cada nueva versión de corrección contiene todas las revisiones y revisión de todas las revisiones de seguridad que se incluyeron con la anterior de SQL Server 2005. Microsoft recomienda que consideren la aplicación de la versión más reciente de corrección que contenga este hotfix. Para obtener más información, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
960598Compilaciones de SQL Server 2005 que se publicaron después del lanzamiento de SQL Server 2005 Service Pack 3.
Microsoft SQL Server 2005 las revisiones se crean para determinados service pack de SQL Server. Debe aplicar un hotfix de SQL Server 2005 Service Pack 3 a una instalación de SQL Server 2005 Service Pack 3. De forma predeterminada, cualquier hotfix suministrada en un service pack de SQL Server se incluye en el siguiente service pack.

La versión de lanzamiento de SQL Server 2008

Importante Debe instalar esta revisión si está ejecutando la versión de lanzamiento de SQL Server 2008.

La corrección para este problema se lanzó por primera vez en 8 de actualización acumulativa. Para obtener más información acerca de cómo obtener este paquete de actualización acumulativa para SQL Server 2008, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
9759768 De paquete de actualización acumulativa para SQL Server 2008
Nota Como las compilaciones son acumulativas, cada nueva versión de corrección contiene todas las revisiones y revisión de todas las revisiones de seguridad que se incluyeron con la anterior de SQL Server 2008. Recomendamos que considere aplicar la versión más reciente de corrección que contenga este hotfix. Para obtener más información, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
956909Compilaciones de SQL Server 2008 que se publicaron después del lanzamiento de SQL Server 2008

SQL Server 2008 Service Pack 1

Importante Debe instalar esta revisión si está ejecutando SQL Server 2008 Service Pack 1.

La corrección para este problema se lanzó por primera vez en 5 de actualización acumulativa para SQL Server 2008 Service Pack 1. Para obtener más información acerca de este paquete de actualización acumulativa, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
975977Paquete 5 de la actualización acumulativa para SQL Server 2008 Service Pack 1
Nota Como las compilaciones son acumulativas, cada nueva versión de corrección contiene todas las revisiones y revisión de todas las revisiones de seguridad que se incluyeron con la anterior de SQL Server 2008. Microsoft recomienda que consideren la aplicación de la versión más reciente de corrección que contenga este hotfix. Para obtener más información, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
970365SQL Server 2008 generaciones que se publicaron después de la publicación de SQL Server 2008 Service Pack 1
Microsoft SQL Server 2008 revisiones se crean para determinados service pack de SQL Server. Debe aplicar un hotfix de SQL Server 2008 Service Pack 1 a una instalación de SQL Server 2008 Service Pack 1. De forma predeterminada, cualquier hotfix suministrada en un service pack de SQL Server se incluye en el siguiente service pack.

Estado

Microsoft ha confirmado que se trata de un problema de los productos de Microsoft enumerados en la sección "La información de este artículo se refiere a:".

Solución

Para evitar este problema, utilice uno de los métodos siguientes:

Método 1

Si estás utilizando a un agente de mezcla en modo continuo, detener el proceso de agente de mezcla periódicamente y vuelva a iniciarlo.

Por ejemplo, recibirá errores "memoria insuficiente" después de cinco días y su agente de mezcla está programado como un trabajo. Después, programe un nuevo trabajo SQL Server Agent para llamar a sp_stop_job seguido sp_start_job especificando su nombre de trabajo Merge Agent, que se desplazará el proceso afectado cada five days. Cuando se detiene el proceso del agente de mezcla (Replmerg.exe), se liberará cualquier memoria perdida dentro del espacio de memoria del proceso.

Para obtener más información acerca del uso del - conmutador continuo en el agente de mezcla, consulte el siguiente sitio Web de Microsoft Developer Network (MSDN):
http://msdn.microsoft.com/en-us/library/ms147839.aspx

sp_stop_jobhttp://msdn.microsoft.com/en-us/library/ms182793(SQL.90).aspx

sp_start_jobhttp://msdn.microsoft.com/en-us/library/ms186757(SQL.90).aspx

Método 2

Si utiliza al agente de mezcla desde un trabajo, podría configurar manual lógica de bucle dentro del trabajo mediante los pasos adicionales en lugar de basarse en el parámetro continuo. En lugar del proceso de agente de un combinación bucle continuamente internamente para siempre, de programar al agente de mezcla como un paso de trabajo que se repite con frecuencia, como una vez cada minuto. El proceso se cerrará entre reintentos y esto libera la memoria perdida.
Editar a trabajo para que repiten los pasos en un bucle con una pausa entre repite el agente de mezcla.
  1. Después de paso [3] "Detectar cierre del agente no registradas,"Agregar un nuevo paso [4] denominado"bucle indefinido de Reintentar." Establezca el tipo en TSQL y el comando para "retraso waitfor ' 0: 00: 05 '", este retraso TSQL proporcionará una pausa de segundo 5 que puede configurar como un intervalo de sondeo de forma que el agente de mezcla se pausa brevemente entre ejecuciones y no se ejecute constantemente. En la ficha avanzada, especifique el "éxito acción" como "Ir al paso [2] ejecutar agente" y "Error de acción"como"Ir al paso agente ejecutar [2]."
  2. Editar [2] paso Ejecutar agente de para asegurarse de que se alcanza el bucle paso [4]. En la ficha avanzada del paso [2], establezca la acción de éxito en "Ir al paso: [4] bucle indefinido de reintento" y establezca la acción de un error en "Ir al paso siguiente."
  3. Modificar paso [3] "Detectar el agente no registrada apagado" para asegurarse de que se alcanza el bucle en el paso [4]. En la ficha avanzada del paso [3], establezca la acción de éxito on, "Ir al paso siguiente". También puede decidir si desea que el paso [3] error de acción que se va a establecer como "Ir al paso siguiente"o "salir de trabajo informa de un error." Si está configurado para salir, mostrará el error de trabajo en Monitor de duplicación y el Monitor de trabajo. Si está configurado en caso de error para ir al cuarto paso del bucle, el agente de mezcla puede volver a ejecutar indefinidamente y registran los errores indefinidamente.

Método 3

De forma similar si utiliza una aplicación RMO para llamar al método MergeSynchronizationAgent.Synchronize() que sincroniza la base de datos del suscriptor en un bucle, detenga y reinicie el proceso periódicamente para liberar cualquier memoria que se pierde debido a este problema de.
Para obtener más información acerca de este objeto y el método, consulte el siguiente sitio Web de Microsoft Developer Network (MSDN): http://msdn.microsoft.com/en-us/library/microsoft.sqlserver.replication.mergesynchronizationagent.synchronize(SQL.90).aspx

Referencias

Para obtener más información acerca de cómo utilizar el continuo switch - en el agente de mezcla, visite el siguiente sitio Web de Microsoft Developer Network (MSDN):
http://msdn.microsoft.com/en-us/library/ms147839.aspx

Para obtener más información acerca del procedimiento almacenado sp_stop_job, visite el siguiente sitio Web de Microsoft Developer Network (MSDN):
http://http://msdn.microsoft.com/en-us/library/ms182793(SQL.90).aspx

Para obtener más información acerca del procedimiento almacenado sp_start_job, visite el siguiente sitio Web de Microsoft Developer Network (MSDN):
http://msdn.microsoft.com/en-us/library/ms186757(SQL.90).aspx

Para obtener más información acerca de cómo obtener el Service Pack 3 de SQL Server 2005, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
913089Cómo obtener el service pack más reciente para SQL Server 2005
Para obtener más información acerca de las nuevas características de SQL Server 2005 Service Pack 3 (SP3) y las mejoras de SQL Server 2005 SP3, visite el siguiente sitio Web de Microsoft:
http://go.microsoft.com/fwlink/?LinkId=131442
Para obtener más información acerca del esquema de nomenclatura para las actualizaciones de SQL Server, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
822499Nuevo esquema de nomenclatura para los paquetes de actualización de software de Microsoft SQL Server
Para obtener más información acerca de la terminología relativa a las actualizaciones de software, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
824684Descripción de la terminología estándar utilizada para describir las actualizaciones de software de Microsoft

Propiedades

Id. de artículo: 974660 - Última revisión: lunes, 2 de noviembre de 2009 - Versión: 3.2
La información de este artículo se refiere a:
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Workgroup Edition
  • Microsoft SQL Server 2005 Standard X64 Edition
  • Microsoft SQL Server 2005 Enterprise X64 Edition
  • Microsoft SQL Server 2005 Enterprise Edition for Itanium Based Systems
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2008 Web
  • Microsoft SQL Server 2008 Workgroup
Palabras clave: 
kbmt kbsurveynew kbexpertiseadvanced kbqfe kbfix KB974660 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 974660

Enviar comentarios

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com