CORRECÇÃO: Mala replicação não-convergência ocorre com os assinantes do SQL Server CE

Traduções deste artigo Traduções deste artigo
ID do artigo: 867879 - Exibir os produtos aos quais esse artigo se aplica.
Bug #: 471602 (SHILOH_BUGS)
A Microsoft distribui correções do Microsoft SQL Server 2000 como um arquivo para download. Como as correções são cumulativas, cada versão nova contém todos os hotfixes e todas as as correções de segurança que foram incluídas com o SQL Server 2000 anterior corrigir lançamento.
Expandir tudo | Recolher tudo

Neste artigo

Sintomas

Quando duas tabelas são publicadas que atendam às seguintes condições, as linhas correspondentes da tabela filho que estão associadas a pai "próximo em uma partição" as alterações não são replicadas para os assinantes do Microsoft SQL Server CE:
  • A tabela pai tem um filtro de subconjunto dinâmico.
  • A tabela filho é associada a tabela pai usando um filtro de associação.
  • Os assinantes para os artigos são SQL Server CE assinantes.
  • As atualizações da tabela pai e a tabela filho fazer com que a linha vá fora da partição, seguida de outras atualizações para a tabela pai que fazer com que a linha voltar em uma partição.
Esse problema não ocorre com os assinantes do SQL Server. Consulte a seção "Mais informações" para obter um exemplo do problema em detalhes.

Resolução

Informações sobre o service pack

Para resolver esse problema, obtenha o service pack mais recente para o Microsoft SQL Server 2000. Para obter mais informações, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
290211Como obter o SQL Server 2000 service pack mais recente

Informações sobre o hotfix

A versão em inglês deste hotfix tem atributos de arquivo (ou atributos de arquivo posteriores) listados na tabela a seguir. As datas e horas desses arquivos estão listadas no horário de universal coordenado (UTC). Quando você exibe as informações do arquivo, ele é convertido para a hora local. Para encontrar a diferença entre o UTC e a hora local, use a guia fuso horário na ferramenta Data e hora no painel de controle.
   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

Observação Devido às dependências do arquivo, o hotfix mais recente ou o recurso que contém esses arquivos também pode conter arquivos adicionais.

Situação

A Microsoft confirmou que este é um problema nos produtos da Microsoft listados na seção "Aplica-se a". Esse problema foi corrigido primeiro no Microsoft SQL Server 2000 Service Pack 4.

Mais Informações

Para obter mais informações, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
824684Descrição da terminologia padrão que é usada para descrever as atualizações de software

Etapas para reproduzir o problema

  1. No SQL Server, executar o código a seguir para configurar o banco de dados, tabelas e replicação de mesclagem:
    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. Execute o Snapshot Agent e baixe o instantâneo para um assinante do SQL Server CE.
  3. Executar as seguintes consultas no assinante:
    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. Sincronize as alterações para o publisher. Observe que o assinante do SQL Server CE não possui nenhuma linha para a tabela principal e a tabela filho, porque o filtro não é satisfeito.
  5. Execute a seguinte consulta no Publisher:
    Update main set id_user = 5 -- Satisfies the filter clause again. The row will get into partition on the next synch.
  6. Sincronizar as alterações para o SQL Server CE assinante.

    No assinante, você verá uma linha para a tabela principal. Esse comportamento está correto. Mas você não verá as linhas para a tabela filho. Isso é incorreto.

Propriedades

ID do artigo: 867879 - Última revisão: sexta-feira, 2 de novembro de 2007 - Revisão: 2.3
A informação contida neste artigo aplica-se 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
Palavras-chave: 
kbmt kbsqlserv2000presp4fix kbfix kbbug kbhotfixserver kbqfe KB867879 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 867879

Submeter comentários

 

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