CORRECÇÃO: O serviço de distribuição poderá falhar depois de adicionar ou largar uma coluna para um artigo publicado

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 revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática… erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.

Clique aqui para ver a versão em Inglês deste artigo: 837231
Este artigo foi arquivado. Este artigo é oferecido "tal como está" e deixará de ser actualizado.
N.º de bugs: 471158 (SQL Server 8.0)
Correcções para o Microsoft SQL Server 2000 são distribuídas como um ficheiro transferível. Uma vez que as correcções são cumulativas, cada nova versão contém todas as correcções e todas as correcções de segurança incluídas com o SQL Server 2000 anteriores corrigir lançamento.
Sintomas
Quando adicionar uma coluna para um artigo publicado ou largar uma coluna de um artigo publicado e o artigo está a participar numa replicação transaccional, o Distribution Agent correspondente pode não funcionar com êxito. Poderá receber uma mensagem de erro semelhante à seguinte:
Não fechada aspas antes da cadeia de caracteres ' Column Name '.
Este problema poderá ocorrer quando se verificam as seguintes condições:
  • O artigo está configurado para utilizar comandos de SQL para replicar o comando INSERT, o comando UPDATE ou o comando DELETE para os subscritores correspondentes.
  • Alterações, tais como inserções, actualizações ou eliminações efectuadas no artigo no Editor ainda não são aplicadas na linha de subscritores.
Resolução

Informações sobre Service Packs

Para resolver este problema, obtenha o service pack mais recente do Microsoft SQL Server 2000. Para obter informações adicionais, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
290211Como obter o SQL Server 2000 service pack mais recente

Informações sobre a correcção

A versão inglesa desta correcção tem os atributos de ficheiro (ou posteriores) listados na seguinte tabela. As datas e horas destes ficheiros são indicadas no formato de universal hora (UTC) coordenada Coordinated. Quando visualiza as informações do ficheiro, é convertido para a hora local. Para determinar a diferença entre a UTC e a hora local, utilize o separador fuso horário na ferramenta Data e hora no painel de controlo.
   Date         Time   Version        Size       File name    ---------------------------------------------------------    31-May-2003  18:45  2000.80.818.0     78,400  Console.exe    28-Oct-2003  04:21  2000.80.873.0    315,968  Custtask.dll    30-Jan-2004  16:29  2000.80.911.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    12-Sep-2003  03:26  2000.80.859.0  1,905,216  Dtspkg.dll    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    30-Jan-2004  16:29  2000.80.911.0     90,692  Msgprox.dll    01-Apr-2003  02:07                     1,873  Odsole.sql    30-Jan-2004  16:29  2000.80.911.0     62,024  Odsole70.dll    30-Jan-2004  16:29  2000.80.911.0     25,144  Opends60.dll    30-Jan-2004  16:28  2000.80.911.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    12-Sep-2003  00:37                    12,305  Qfe469315.sql    22-May-2003  22:57                    19,195  Qfe469571.sql    30-Jan-2004  01:16                 1,090,380  Replmerg.sql    30-Jan-2004  16:29  2000.80.911.0    221,768  Replprov.dll    30-Jan-2004  16:29  2000.80.911.0    307,784  Replrec.dll    29-Jan-2004  23:24  2000.80.911.0    159,813  Replres.rll    06-Sep-2003  00:00                 1,087,150  Replsys.sql    13-Aug-2003  16:28                   986,603  Repltran.sql    30-Jan-2004  16:29  2000.80.911.0    287,304  Rinitcom.dll    30-Jan-2004  16:29  2000.80.911.0     57,916  Semnt.dll    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    02-Jan-2004  19:42  2000.80.904.0     53,832  Snapshot.exe    09-Dec-2003  20:07                   117,834  Sp3_serv_uni.sql    05-Feb-2004  00:46  2000.80.913.0     28,672  Sqlagent.dll    05-Feb-2004  00:47  2000.80.913.0    311,872  Sqlagent.exe    19-Feb-2004  18:02  2000.80.916.0    168,001  Sqlakw32.dll    30-Jan-2004  16:29  2000.80.911.0  4,215,360  Sqldmo.dll    07-Apr-2003  17:44                    25,172  Sqldumper.exe    29-Jan-2004  23:17  2000.80.911.0     28,672  Sqlevn70.rll    05-Mar-2004  17:13  2000.80.922.0    180,792  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    22-Oct-2003  00:08  2000.80.871.0    401,984  Sqlqry.dll    30-Jan-2004  16:29  2000.80.911.0     57,920  Sqlrepss.dll    09-Mar-2004  19:54  2000.80.922.0  7,614,545  Sqlservr.exe    30-Jan-2004  16:29  2000.80.911.0    590,396  Sqlsort.dll    30-Jan-2004  16:29  2000.80.911.0     45,644  Sqlvdi.dll    30-Jan-2004  16:29  2000.80.911.0    106,588  Sqsrvres.dll   30-Jan-2004  16:29  2000.80.911.0     33,340  Ssmslpcn.dll   30-Jan-2004  16:29  2000.80.911.0     82,492  Ssnetlib.dll    30-Jan-2004  16:29  2000.80.911.0     25,148  Ssnmpn70.dll    28-Oct-2003  04:21  2000.80.873.0    123,456  Stardds.dll    30-Jan-2004  16:29  2000.80.911.0    158,240  Svrnetcn.dll    30-Jan-2004  16:29  2000.80.911.0     76,416  Svrnetcn.exe    30-Apr-2003  23:52  2000.80.816.0     45,132  Ums.dll    30-Jan-2004  16:29  2000.80.911.0     98,872  Xpweb70.dll
Nota Devido a dependências de ficheiros, a correcção mais recente ou funcionalidade que contém estes ficheiros pode também conter ficheiros adicionais.
Como contornar
Para contornar este problema, tem de configurar o artigo para utilizar os procedimentos armazenados para replicar o comando INSERT, o comando UPDATE ou o comando DELETE para os subscritores correspondentes. Para o fazer, siga estes passos no Editor:
  1. Execute o seguinte código para apresentar todas as subscrições para o artigo:
    USE Publication DatabaseGOEXEC sp_dropsubscription 	@publication=N'Publication Name', 	@subscriber = N'all', 	@article = N'Article Name', 	@destination_db = N'all'GO
  2. Execute o seguinte código para eliminar o artigo da publicação transaccional actual:
    USE Publication DatabaseGOEXEC sp_droparticle 	@publication = N'Publication Name', 	@article = 'Article Name',	@force_invalidate_snapshot = 1GO
  3. Adicione o artigo publicação transaccional actual para que o artigo utiliza procedimentos armazenados para replicar o comando INSERT, o comando UPDATE ou o comando DELETE para os subscritores correspondentes. To do this, run the following code:
    USE Publication DatabaseGOEXEC sp_addarticle 	@publication = N'Publication Name', 	@article = N'Article Name', 	@source_owner = N'dbo', 	@source_object = N'Source Table Name', 	@destination_table = N'Destination Table Name', 	@type = N'logbased', 	@creation_script = null, 	@description = null, 	@pre_creation_cmd = N'drop', 	@schema_option = 0x00000000000000F3, 	@status = 16, 	@vertical_partition = N'false', 	@ins_cmd = N'sp_MSins_Article Name', 	@del_cmd = N'sp_MSdel_Article Name', 	@upd_cmd = N'sp_MSupd_Article Name', 	@filter = null, 	@sync_object = null, 	@auto_identity_range = N'false'GO
    Note Make sure that you modify the following parameters before you run the Transact-SQL statements:
    • @ publicação : nome da publicação actual
    • @ artigo : nome do novo artigo
    • @ source_object : nome da tabela subjacente é representada pelo novo artigo
    • @ destination_table : nome da tabela de destino que será criada no subscritor
    • @ ins_cmd : CALL sp_MSins_ Article Name
    • @ del_cmd : CALL sp_MSdel_ Article Name
    • @ upd_cmd : MCALL sp_MSupd_ Article Name
    • @ force_invalidate_snapshot : 1, se já for gerado um instantâneo da publicação
    Além disso, se o artigo contém uma coluna de identidade e desejar que o SQL Server para gerir o processamento de intervalo de identidade, tem de definir o parâmetro @ auto_identity_range como true .
  4. Adicione subscrições o artigo é adicionado à publicação transaccional:
    • Para cada subscrição de emissão que subscreve publicação transaccional actual, execute instruções de Transact-SQL semelhantes à seguinte no SQL Query Analyzer no Editor na base de dados de publicação:
      USE Publication DatabaseGOEXEC sp_addsubscription 	@publication = N'Publication Name', 	@article = N'Article Name', 	@subscriber = N'Subscriber Name', 	@destination_db = N'Destination Database', 	@sync_type = N'automatic', 	@update_mode = N'read only', 	@offloadagent = 0, 	@dts_package_location = N'distributor'GO
      NOTA: Certifique-se de que modificar os parâmetros seguintes antes de executar as instruções de Transact-SQL:
      • @ publicação : nome da publicação actual
      • @ artigo : nome do novo artigo
      • @ subscritor : nome do subscritor
      • @ destination_db : nome da base de dados destino que contém a subscrição
      Além disso, certifique-se de que os parâmetros que podem alterar as propriedades da subscrição existentes não são modificados.
    • Para adicionar subscrições para o artigo nas subscrições de solicitação para todos os subscritores existentes à publicação transaccional, execute instruções de Transact-SQL semelhantes à seguinte no SQL Query Analyzer no Editor na base de dados de publicação:
      USE Publication DatabaseGOEXEC sp_refreshsubscriptions 	@publication = N'Publication Name'GO
  5. Execute o agente de Snapshot que corresponde à publicação transaccional actual com o distribuidor.
  6. Execute o Distribution Agent corresponde para cada subscrição que subscreve à publicação transaccional actual.
Ponto Da Situação
A Microsoft confirmou que este é um problema nos produtos da Microsoft listados na secção "Aplica-se a".

Este problema foi corrigido pela primeira vez no Microsoft SQL Server 2000 Service Pack 4.
Referências
Para obter informações adicionais, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
824684Descrição da terminologia padrão utilizada para descrever actualizações de software da Microsoft

Aviso: Este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 837231 - Última Revisão: 01/17/2015 07:03:23 - Revisão: 2.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 KB837231 KbMtpt
Comentários