REVISIÓN: Combinación de replicación no convergencia se produce con los suscriptores de SQL Server CE

Seleccione idioma Seleccione idioma
Id. de artículo: 867879 - Ver los productos a los que se aplica este artículo
Nº de error: 471602 (SHILOH_BUGS)
Microsoft distribuye correcciones de Microsoft SQL Server 2000 como un archivo descargable. Como las revisiones son acumulativas, cada versión nueva contiene todas las revisiones y revisión de todas las revisiones de seguridad se incluían con la anterior de SQL Server 2000.
Expandir todo | Contraer todo

En esta página

Síntomas

Cuando se publican dos tablas que cumplen las condiciones siguientes, las filas correspondientes de la tabla secundaria que están asociados con el primario "próximo en la partición" no se replican los cambios en los suscriptores de Microsoft SQL Server CE:
  • La tabla primaria tiene un filtro dinámico del subconjunto.
  • La tabla secundaria se une a la tabla primaria utilizando un filtro de combinación.
  • Los suscriptores a los artículos son SQL Server CE los suscriptores.
  • Actualizaciones en la tabla primaria y la tabla secundaria que salen de la partición, seguido por otras actualizaciones a la tabla primaria que hacen que la fila para regresar a la partición de la fila.
Este problema no ocurre con los suscriptores de SQL Server. Consulte la sección "Más información" para obtener un ejemplo del problema en detalle.

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 más información, 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 (o atributos de último archivo) mostrados en la siguiente tabla. Las fechas y las horas de estos archivos se muestran en 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
   ------------------------------------------------------------------
   19-Jun-2004  00:51  2000.80.952.0    664,128  Autoplt.dll
   19-Jun-2004  00:51  2000.80.952.0     78,400  Console.exe
   19-Jun-2004  00:51  2000.80.952.0    315,968  Custtask.dll
   19-Jun-2004  00:51  2000.80.952.0     33,340  Dbmslpcn.dll
   08-Apr-2004  21:42                   786,432  Distmdl.ldf
   08-Apr-2004  21:42                 2,359,296  Distmdl.mdf
   10-Oct-2003  18:48                       180  Drop_repl_hotfix.sql
   19-Jun-2004  00:51  2000.80.952.0  1,905,216  Dtspkg.dll
   19-Jun-2004  00:52  2000.80.952.0    528,960  Dtspump.dll
   19-Jun-2004  00:52  2000.80.952.0  1,557,052  Dtsui.dll
   19-Jun-2004  00:52  2000.80.952.0    639,552  Dtswiz.dll
   10-Oct-2003  18:48                   747,927  Instdist.sql
   10-Oct-2003  18:48                     1,581  Inst_repl_hotfix.sql
   19-Jun-2004  00:51  2000.80.952.0    352,828  Isqlw.exe
   19-Jun-2004  00:51  2000.80.952.0     82,492  Itwiz.exe
   19-Jun-2004  00:52  2000.80.952.0     90,692  Msgprox.dll
   19-May-2004  23:43  8.11.40209.0     209,408  Mssdi98.dll
   19-Jun-2004  00:52  2000.80.952.0     62,024  Odsole70.dll
   19-Jun-2004  00:52  2000.80.952.0     25,144  Opends60.dll
   19-Jun-2004  00:51  2000.80.952.0     57,904  Osql.exe
   19-Jun-2004  00:52  2000.80.952.0    279,104  Pfutil80.dll
   10-Oct-2003  18:37                   550,780  Procsyst.sql
   08-Apr-2004  21:42                    12,305  Qfe469315.sql
   08-Apr-2004  21:42                    19,195  Qfe469571.sql
   15-Jun-2004  18:11                 1,105,167  Replmerg.sql
   19-Jun-2004  00:52  2000.80.952.0    221,768  Replprov.dll
   19-Jun-2004  00:52  2000.80.952.0    307,784  Replrec.dll
   15-Jun-2004  15:43  2000.80.952.0    159,813  Replres.rll
   10-Oct-2003  18:48                 1,087,150  Replsys.sql
   10-Oct-2003  18:48                   986,603  Repltran.sql
   19-Jun-2004  00:52  2000.80.952.0    287,304  Rinitcom.dll
   19-Jun-2004  00:52  2000.80.952.0     78,416  Sdiclnt.dll
   19-Jun-2004  00:52  2000.80.952.0     66,112  Semmap.dll
   19-Jun-2004  00:52  2000.80.952.0     57,916  Semnt.dll
   19-Jun-2004  00:52  2000.80.952.0    492,096  Semobj.dll
   15-Jun-2004  16:18  2000.80.952.0    172,032  Semobj.rll
   19-Jun-2004  00:51  2000.80.952.0     53,832  Snapshot.exe
   12-Mar-2004  03:10                   117,834  Sp3_serv_uni.sql
   19-Jun-2004  00:51  2000.80.952.0     28,672  Sqlagent.dll
   19-Jun-2004  00:51  2000.80.952.0    311,872  Sqlagent.exe
   19-Jun-2004  00:51  2000.80.952.0    168,001  Sqlakw32.dll
   19-Jun-2004  00:52  2000.80.952.0     33,344  Sqlctr80.dll
   19-Jun-2004  00:52  2000.80.952.0  4,215,360  Sqldmo.dll
   19-Jun-2004  00:51                    25,172  Sqldumper.exe
   15-Jun-2004  15:26  2000.80.952.0     28,672  Sqlevn70.rll
   19-Jun-2004  00:52  2000.80.952.0    180,792  Sqlmap70.dll
   19-Jun-2004  00:52  2000.80.952.0    188,992  Sqlmmc.dll
   15-Jun-2004  16:25  2000.80.952.0    479,232  Sqlmmc.rll
   19-Jun-2004  00:52  2000.80.952.0    401,984  Sqlqry.dll
   19-Jun-2004  00:52  2000.80.952.0     57,920  Sqlrepss.dll
   19-Jun-2004  00:52  2000.80.952.0  7,581,777  Sqlservr.exe
   19-Jun-2004  00:52  2000.80.952.0    590,396  Sqlsort.dll
   19-Jun-2004  00:52  2000.80.952.0     45,644  Sqlvdi.dll
   19-Jun-2004  00:52  2000.80.952.0    106,588  Sqsrvres.dll
   19-Jun-2004  00:52  2000.80.952.0     33,340  Ssmslpcn.dll
   19-Jun-2004  00:52  2000.80.952.0     82,492  Ssnetlib.dll
   19-Jun-2004  00:52  2000.80.952.0     25,148  Ssnmpn70.dll
   19-Jun-2004  00:52  2000.80.952.0    123,456  Stardds.dll
   19-Jun-2004  00:52  2000.80.952.0    158,240  Svrnetcn.dll
   19-Jun-2004  00:51  2000.80.952.0     76,416  Svrnetcn.exe
   19-Jun-2004  00:52  2000.80.952.0     53,808  Ums.dll
   19-Jun-2004  00:52  2000.80.952.0     98,872  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

Para obtener más información, 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

Pasos para reproducir el problema

  1. En SQL Server, ejecuta el código siguiente para configurar la base de datos, las tablas y duplicación de mezcla:
    create database cesimplerepro
    GO
    use cesimplerepro
    GO
    create table main (mainid int not null primary key, id_user int)
    GO
    create table child (childid int not null primary key, id_user int, mainid int foreign key references main(mainid))
    GO
    insert into main (mainid, id_user) values (3, 5)
    GO
    insert into child (childid, id_user, mainid) values (1, 10, 3)
    GO
    exec sp_replicationdboption @dbname = N'cesimplerepro', @optname = N'merge publish', @value = N'true'
    GO
    -- Add the merge publication.
    exec sp_addmergepublication @publication = N'cesimplerepro',  @retention = 14, @sync_mode = N'character', @allow_push = N'true', @allow_pull = N'true', @allow_anonymous = N'true', @enabled_for_internet = N'false', @centralized_conflicts = N'true', @dynamic_filters = N'true', @snapshot_in_defaultfolder = N'true', @compress_snapshot = N'false', @ftp_port = 21, @ftp_login = N'anonymous', @conflict_retention = 14, @keep_partition_changes = N'true', @allow_subscription_copy = N'false', @allow_synctoalternate = N'false',@add_to_active_directory = N'false', @max_concurrent_merge = 0, @max_concurrent_dynamic_snapshots = 0
    GO
    exec sp_addpublication_snapshot @publication = N'cesimplerepro',@frequency_type = 4, @frequency_interval = 1, @frequency_relative_interval = 1, @frequency_recurrence_factor = 0, @frequency_subday = 1, @frequency_subday_interval = 5, @active_start_date = 0, @active_end_date = 0, @active_start_time_of_day = 500, @active_end_time_of_day = 235959
    GO
    exec sp_grant_publication_access @publication = N'cesimplerepro', @login = N'BUILTIN\Administrators'
    GO
    exec sp_grant_publication_access @publication = N'cesimplerepro', @login = N'distributor_admin'
    GO
    exec sp_grant_publication_access @publication = N'cesimplerepro', @login = N'sa'
    GO
    -- Add the merge articles.
    exec sp_addmergearticle @publication = N'cesimplerepro', @article = N'main', @source_owner = N'dbo', @source_object = N'main', @type = N'table', @description = null, @column_tracking = N'true', @pre_creation_cmd = N'drop', @creation_script = null, @schema_option = 0x000000000000CFF1, @article_resolver = null, @subset_filterclause = N'ID_User = 5', @vertical_partition = N'false', @destination_owner = N'dbo', @auto_identity_range = N'false', @verify_resolver_signature = 0, @allow_interactive_resolver = N'false', @fast_multicol_updateproc = N'true', @check_permissions = 0
    GO
    exec sp_addmergearticle @publication = N'cesimplerepro', @article = N'child', @source_owner = N'dbo', @source_object = N'child', @type = N'table', @description = null, @column_tracking = N'true', @pre_creation_cmd = N'drop', @creation_script = null, @schema_option = 0x000000000000CFF1, @article_resolver = null, @subset_filterclause = null, @vertical_partition = N'false', @destination_owner = N'dbo', @auto_identity_range = N'false', @verify_resolver_signature = 0, @allow_interactive_resolver = N'false', @fast_multicol_updateproc = N'true', @check_permissions = 0
    GO
    -- Add the article subset filter.
    exec sp_addmergefilter @publication = N'cesimplerepro', @article = N'Child', @filtername = N'child_main', @join_articlename = N'main', @join_filterclause = N'main.mainid = Child.mainid', @join_unique_key = 0
    GO
  2. Ejecute al agente de instantáneas y, a continuación, descargar la instantánea en un suscriptor de SQL Server CE.
  3. Ejecutar las consultas siguientes en el suscriptor:
    update main set id_user = 0  -- Take this row out of the partition.
    update child set id_user = 10 -- This is a dummy update on the child table.
    
  4. Sincronizar los cambios al publicador. Observe que el suscriptor SQL Server CE no tiene filas de la tabla principal y la tabla secundaria porque ya no se satisface el filtro.
  5. Ejecutar la consulta siguiente en Publisher:
    Update main set id_user = 5 -- Satisfies the filter clause again. The row will get into partition on the next synch.
  6. Sincronizar los cambios a SQL Server CE suscriptor.

    En el suscriptor, verá una fila de la tabla principal. Este comportamiento es correcto. Pero verá que las filas de la tabla secundaria. Esto es incorrecto.

Propiedades

Id. de artículo: 867879 - Última revisión: viernes, 02 de noviembre de 2007 - Versión: 2.3
La información de este artículo se refiere a:
  • 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
Palabras clave: 
kbmt kbsqlserv2000presp4fix kbfix kbbug kbhotfixserver kbqfe KB867879 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): 867879

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