REVISIÓN: Los usuarios pueden controlar el proceso de compensación de cambios en la duplicación de mezcla

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): 828637
Este artículo se ha archivado. Se ofrece "tal cual" y no se volverá a actualizar.
Síntomas
Cuando se utiliza la duplicación de mezcla, el agente de mezcla pueden producirse errores de sincronización si un cambio de inserción, un cambio de actualización o un cambio de eliminación no puede aplicarse en una réplica de destino por varias razones, incluidas una infracción de clave principal en el publicador o en el suscriptor. El agente de mezcla siempre envía un cambio de compensación a la réplica de origen para deshacer el cambio error. El agente de mezcla se ejecuta el proceso de compensación de cambios para asegurarse de que los datos se mantienen en un estado coherente y converger en todas las réplicas. Sin los cambios de compensación, datos pueden variar entre réplicas si se produce un error, como una infracción de clave principal. Si los datos se varían entre réplicas, se produce la convergencia de datos.

Antes de este hotfix, había forma de permitir que los usuarios para controlar el proceso de cambio compensación. El proceso de compensación de cambios se controla internamente el agente de mezcla. Dado que este proceso se controla internamente el agente de mezcla, era difícil solucionar por qué se ha producido ciertos conflictos. Además, porque la fila en conflicto es eliminará o deshacer en todas las réplicas, los datos de la fila se quitan de la topología completa. Para ayudar a solucionar estos problemas, Microsoft ha agregado una nueva propiedad de nivel de artículo para duplicación que permite a los usuarios controlar el proceso de cambio compensación de mezcla.
Solución

Información de Service Pack

Para resolver este problema, consiga el Service Pack más reciente para Microsoft SQL Server 2000. Para obtener información adicional, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
290211Cómo obtener el Service Pack más reciente de SQL Server 2000

Información de revisiones

La versión en inglés de este hotfix tiene los atributos de archivo enumerados en la siguiente tabla u otros posteriores. Las fechas y horas de estos archivos aparecen en la hora universal coordinada (UTC). La información de los archivos se convertirá a la hora local cuando la vea. Para averiguar la diferencia entre hora UTC y la hora local, utilice la ficha zona horaria de la herramienta fecha y hora en el panel de control.
   Date         Time   Version            Size    File name   ----------------------------------------------------------------------   31-May-2003  18:45  2000.80.818.0      78,400  Console.exe         25-Jun-2003  01:01  2000.80.818.0      33,340  Dbmslpcn.dll        25-Apr-2003  02:12                    786,432  Distmdl.ldf   25-Apr-2003  02:12                  2,359,296  Distmdl.mdf   30-Jan-2003  01:55                        180  Drop_repl_hotfix.sql   26-Aug-2003  20:16  2000.80.854.0     528,960  Dtspump.dll         23-Jun-2003  22:40  2000.80.837.0   1,557,052  Dtsui.dll           23-Jun-2003  22:40  2000.80.837.0     639,552  Dtswiz.dll          24-Apr-2003  02:51                    747,927  Instdist.sql   03-May-2003  01:56                      1,581  Inst_repl_hotfix.sql   08-Feb-2003  06:40  2000.80.765.0      90,692  Msgprox.dll         01-Apr-2003  02:07                      1,873  Odsole.sql   05-Apr-2003  01:46  2000.80.800.0      62,024  Odsole70.dll        07-May-2003  20:41  2000.80.819.0      25,144  Opends60.dll        02-Apr-2003  21:48  2000.80.796.0      57,904  Osql.exe            02-Apr-2003  23:15  2000.80.797.0     279,104  Pfutil80.dll        04-Aug-2003  18:17                    550,780  Procsyst.sql   22-May-2003  22:57                     19,195  Qfe469571.sql   06-Sep-2003  01:36                  1,090,932  Replmerg.sql   06-Sep-2003  07:18  2000.80.858.0     221,768  Replprov.dll        06-Sep-2003  07:18  2000.80.858.0     307,784  Replrec.dll         06-Sep-2003  00:00                  1,087,150  Replsys.sql   13-Aug-2003  16:28                    986,603  Repltran.sql   29-Jul-2003  20:13  2000.80.819.0     492,096  Semobj.dll          31-May-2003  18:27  2000.80.818.0     172,032  Semobj.rll   05-Aug-2003  21:06                    127,884  Sp3_serv_uni.sql   01-Jun-2003  01:01  2000.80.818.0   4,215,360  Sqldmo.dll          07-Apr-2003  17:44                     25,172  Sqldumper.exe       19-Mar-2003  18:20  2000.80.789.0      28,672  Sqlevn70.rll   02-Jul-2003  00:18  2000.80.834.0     180,736  Sqlmap70.dll        03-Sep-2003  02:56  2000.80.857.0     188,992  Sqlmmc.dll          02-Sep-2003  23:03  2000.80.857.0     479,232  Sqlmmc.rll   08-Feb-2003  06:40  2000.80.765.0      57,920  Sqlrepss.dll        06-Sep-2003  07:19  2000.80.858.0   7,598,161  Sqlservr.exe        25-Jul-2003  21:44  2000.80.845.0     590,396  Sqlsort.dll         08-Feb-2003  06:40  2000.80.765.0      45,644  Sqlvdi.dll          25-Jun-2003  01:01  2000.80.818.0      33,340  Ssmslpcn.dll        01-Jun-2003  01:01  2000.80.818.0      82,492  Ssnetlib.dll        01-Jun-2003  01:01  2000.80.818.0      25,148  Ssnmpn70.dll        01-Jun-2003  01:01  2000.80.818.0     158,240  Svrnetcn.dll        31-May-2003  18:59  2000.80.818.0      76,416  Svrnetcn.exe        30-Apr-2003  23:52  2000.80.816.0      45,132  Ums.dll             02-Jul-2003  00:19  2000.80.834.0      98,816  Xpweb70.dll      
Nota Debido a la interdependencia entre archivos, el más reciente revisión o característica que contiene estos archivos quizás contenga también archivos adicionales.
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".Este problema se corrigió por primera vez en Pack 4 de Microsoft SQL Server 2000.
Más información
Este hotfix agrega una nueva propiedad de nivel del artículo compensate_for_errors para publicaciones de mezcla. Puede establecer esta propiedad en true o false. El valor predeterminado para esta propiedad es true. El valor predeterminado significa que la duplicación de mezcla continúa emitir los cambios de compensación como presenta en todas las versiones anteriores y los service packs. Cuando esta propiedad está establecida en true y un cambio de insertar un cambio de actualización, o puede aplicar un cambio de eliminación en una réplica de destino por varias razones (una infracción de clave principal ocurre en el publicador o suscriptor, por ejemplo), el agente de mezcla envía un cambio de compensación a la réplica de origen para deshacer el cambio.

Cuando la propiedad compensate_for_errors está establecida en false y no se aplica un cambio en una réplica de destino, las acciones de compensación no se emiten y el cambio permanece como un conflicto hasta que el Administrador de la base de datos resuelve la condición de error. El agente de mezcla intenta replicar la fila en cada sincronización posterior ejecutar hasta que se resuelva la condición de error.

Nivel inferior agentes de suscripción, especialmente los suscriptores de extracción que no tienen este hotfix instalado, continúan se comportan como si la propiedad compensate_for_errors se estableciese en true, incluso si ha instalado esta revisión en el publicador y la propiedad compensate_for_errors está establecida en false en el publicador. Por lo tanto, los usuarios deben actualizar todos los suscriptores a esta revisión si desean utilizar la funcionalidad suministrada por la nueva propiedad de compensate_for_errors . Esta actualización ayuda a garantizar un comportamiento coherente a través de la topología.

Para Microsoft SQL Server 2000 Windows CE Edition conflictos de descarga de suscriptores, se comportan igual que en todos los anteriores de SQL Server libera, independientemente de la configuración de la propiedad compensate_for_errors . Sin embargo, el valor de la propiedad compensate_for_errors determina si los cambios de compensación se generan durante la carga de errores y conflictos de suscriptores de SQL Server CE a un publicador de SQL Server (cuando tanto el publicador y el equipo que ejecuta Servicios de Internet Information Server (IIS) se hayan actualizado a esta revisión).

Esta propiedad se expone en el procedimiento sp_addmergearticle almacenado y el procedimiento sp_changemergearticle almacenado como un nuevo parámetro denominado @ compensate_for_errors . Esta propiedad no está expuesta en el Administrador corporativo de SQL Server. Esta propiedad puede cambiarse para artículos existentes sin que se reinicialicen. El uso típico de esta propiedad es:
exec sp_addmergearticle @publication = N'mypubl1', @article = N'authors', @source_owner = N'dbo', @source_object = N'authors', @compensate_for_errors='false'orexec sp_changemergearticle  @publication='mypubl1',@article='authors', @property='compensate_for_errors',@value='false'

Inclusiones en el tema en libros en pantalla de SQL Server 2000 "sp_addmergearticle"

sp_addmergearticle [@compensate_for_errors = ]		  'compensate_for_errors'
La propiedad de compensate_for_errors controla si las acciones de compensación se toman cuando se detectan errores durante la sincronización. El @ compensate_for_errors parámetro está definido como de tipo nvarchar (5) y tiene un valor predeterminado de true. De forma predeterminada, un cambio que no puede aplicarse un suscriptor o en un publicador durante la sincronización siempre conduce a acciones de compensación para invertir el cambio. Sin embargo, un suscriptor configurado incorrectamente que genera un error puede provocar cambios en otros suscriptores y editores que se invertirá incorrectamente. Establecer la propiedad compensate_for_errors false deshabilita estas acciones de compensación.

Nota Establecer la propiedad de compensate_for_errors en false puede causar que no convergencia.

Inclusiones en el tema los libros en pantalla "sp_changemergearticle"

sp_changemergearticle [ @publication = ] 'publication' , [ @article = ] 'article' [ , [		  @property = ] 'property' ] [ , [ @value =] 'value' ]
propiedad valores Descripción
compensate_for_errors Es TrueAcciones de compensación se realizan cuando se producen errores durante la sincronización. Éste es el comportamiento predeterminado.
compensate_for_errors False No se realizan las acciones de compensación

Nota Establecer la propiedad de compensate_for_errors en false puede causar que no convergencia.

La instrucción select siguiente determina si la propiedad compensate_for_errors está establecida en true o false:
select CASE compensate_for_errors WHEN 0 THEN ‘FALSE’ ELSE ‘TRUE’ END from sysmergearticles where name = ‘NameOfTheArticle’
como la propiedad compensate_for_errors es una propiedad compartida para un artículo concreto, su valor debe para ser coherente si el artículo pertenece a varias publicaciones (como con escenarios de republicador y asociados de sincronización alternativo). Esta condición se aplica la mayor parte del tiempo. Sin embargo, es responsabilidad del usuario para asegurarse de que la propiedad compensate_for_errors tiene el mismo valor para un artículo concreto en todas las publicaciones que comparten el artículo. De nuevo, esto garantiza un comportamiento coherente a través de la topología.

Nota Si tiene que restaurar una copia de seguridad de una base de datos replicada que hizo antes de esta revisión se aplicara a la instancia de SQL Server, ejecute el procedimiento sp_vupgrade_replication almacenados con los parámetros necesarios con la instancia de SQL Server para utilizar la base de datos restaurado en la replicación.

Para obtener información adicional, 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: 828637 - Última revisión: 02/27/2014 02:16:53 - Revisión: 5.3

Microsoft SQL Server 2000 Developer Edition, Microsoft SQL Server 2000 Standard Edition, Microsoft SQL Server 2000 Enterprise Edition, Microsoft SQL Server 2000 Personal Edition, Microsoft SQL Server 2000 Workgroup Edition, Microsoft SQL Server 2000 Desktop Engine (Windows), Microsoft SQL Server 2000 Enterprise Edition 64-bit

  • kbnosurvey kbarchive kbmt kbhotfixserver kbqfe kbqfe kbsqlserv2000presp4fix kbfix kbbug KB828637 KbMtes
Comentarios