none
Replicação de dados - Inactived Subscription(s) RRS feed

  • Pergunta

  • Olá Pessoal,

    estou com um problema relacionado a replicação transacional, a mensagem é a seguinte:

    "The subscription(s) have been marked inactive and must be reinitialized. NoSync subscriptions will need to be dropped and recreated."

    Isto aconteceu devido a replicação dos dados não ter conseguido executar dentro do limite de tempo esperado e marcou-a como inativa.

    Gostaria de saber se podem me ajudar a solucionar este problema.

    SQL Server 2000 32bits - SP4 (Servidor 64bits)

    Os demais artigos estão sendo replicados de forma correta.

    Abs,
    Daniel Santana


    Eng_DSantana
    quinta-feira, 20 de agosto de 2009 19:13

Respostas

  • Pedro, 

    procurando em fóruns e artigos publicados, consegui resolver o meu problema de replicação.

    solução: 
    update para o status = 2 na tabela MSsubscriptions do database Distribution. 

    No meu caso a tabela syssubscriptions tinha os artigos com status = 2 porém na MSsubscriptions o status estava com valor = 0.

    Fiz o update para status = 2 na tabela MSsubscriptions do database Distribution e forcei o sincronismo manualmente.

    Muito obrigado a você e ao Demétrio que contribuiram com informações e questionamentos.

    Abs, 




    Eng_DSantana
    quinta-feira, 10 de setembro de 2009 14:02

Todas as Respostas

  • Santana, Como esta o status dos jobs utilizados por esta replicação?
    Pedro Antonio Galvão Junior - MVP - Windows Server System - SQL Server/Coordenador de Projetos/DBA
    sexta-feira, 21 de agosto de 2009 13:41
    Moderador
  • Santana,

    Seu assinante expirou. Reinicialize o subscriber ou execute o seguinte comando:

    update syssubscriptions set status = 2 where artid = --seu assinante

    Par evitar isso, sete a opção Subscriber never expire como true.

    Abraços

    Demétrio Silva
    sexta-feira, 21 de agosto de 2009 13:47
  • Pedro,
    Apenas o job referente ao artigo mencionado está gerando erro, os demais jobs da replicação estão OK.
    O step que não performa é o step 2: Run agent
    Type: Replication Distributor
     

    Mensagem de erro: The subscription(s) have been marked inactive and must be reinitialized. NoSync subscriptions will need to be dropped and recreated.  The step failed.


    Eng_DSantana
    sexta-feira, 21 de agosto de 2009 14:56
  • Eng_DSantana,

    Você tentou fazer o que eu disse? Isso está acontecendo porque este subscriber expirou

    Abraços
    Demétrio Silva
    sexta-feira, 21 de agosto de 2009 15:19
  • Demétrio, 

    o status do artigo já está com o valor = 2;
    Ao foçar o sincronismo manual a mensagem de erro é emitida.

    Abs, 


    Eng_DSantana
    sexta-feira, 21 de agosto de 2009 15:49
  • Estranho,

    Jé tentou reiniciar o assinante?

    Abraços
    Demétrio Silva
    sexta-feira, 21 de agosto de 2009 15:57
  • Demétrio, 
    reiniciar o assinante? Como seria o procedimento? 

    Abs, 

    Eng_DSantana
    sexta-feira, 21 de agosto de 2009 16:53
  • Santana,

    Na máquina que esta sendo utilizada para receber os dados deste replicação é considerada assinante, sendo que, existem alguns jobs utilizadas por esta máquina e também na máquina que envio os mesmo, então faça o que o Demétrio indicou e veja o resultado.
    Pedro Antonio Galvão Junior - MVP - Windows Server System - SQL Server/Coordenador de Projetos/DBA
    sábado, 22 de agosto de 2009 00:59
    Moderador
  • Pessoal, 
    não respondi antes por estar envolvido com outras assuntos mas segue o status:

    chequei na tabela syssubscriptions  e não existe registros com status <> 2;
    alterei o subscription expiration para "subscriptions never expire"
    executei o "reinicialize all subscriptions" e posteriormente startei o snapshot e o sincronismo e recebi a mesma mensagem de erro;
    restartei o sql agent do subscriber e posteriormente startei o snapshot e o sincronismo e recebi a mesma mensagem de erro;
    restartei o serviço do sql server no subscriber e forcei o sincronismo no publisher e a mesma mensagem de erro foi recebida;
    restartei o servidor (subscriber) e forcei o sincronismo e a mesma mensagem de erro foi recebida;

    Teria alguma outra tentativa para sanar o problema?
    Obrigado mais uma vez.
    Abs,


    Eng_DSantana
    quarta-feira, 9 de setembro de 2009 14:39
  • Santana,

    Pelo jeito o que teriamos que fazer é configurar novamente uma nova replicação.
    Pedro Antonio Galvão Junior - MVP - Windows Server System - SQL Server/Coordenador de Projetos/DBA
    quarta-feira, 9 de setembro de 2009 20:11
    Moderador
  • Pedro,

    já deletei a publicação, criei uma nova publicação apontando para a mesma tabela mas a mesma mensagem volta a aparecer. 

    Pelo que pude observar, acredito ser algum parâmetro que precisaria ser mudado retirando o status de "Inactive" e provavelmente em alguma tabela do sistema (o campo status da syssubscriptions já foi visto).

    O interessante é que este publisher, replica dados para outros subscribers e para o que foi reiniciado também e estão funcionando. 

    O problema é quando fica com a flag de "Inactive". Acredito que exista alguma forma de mudar este status de "Inactive".
    Você saberia me dizer todas as tabelas envolvidas na replicação(tabelas de subscriber, distributor e publisher)? 
    Desta forma eu iria fazer o "delete" manual para todos os registros que fossem referentes a publicação com o status de Inactive antes de recriá-la novamente.

    Abs,

    Eng_DSantana
    quinta-feira, 10 de setembro de 2009 11:33
  • Santana,

    Mas em qual componente da replicação esta aparecendo este status?
    Pedro Antonio Galvão Junior - MVP - Windows Server System - SQL Server/Coordenador de Projetos/DBA
    quinta-feira, 10 de setembro de 2009 12:29
    Moderador
  • Pedro, 
    esta msg é exibida no "Distribution Agent"


    Eng_DSantana
    quinta-feira, 10 de setembro de 2009 12:42
  • Pedro, 

    procurando em fóruns e artigos publicados, consegui resolver o meu problema de replicação.

    solução: 
    update para o status = 2 na tabela MSsubscriptions do database Distribution. 

    No meu caso a tabela syssubscriptions tinha os artigos com status = 2 porém na MSsubscriptions o status estava com valor = 0.

    Fiz o update para status = 2 na tabela MSsubscriptions do database Distribution e forcei o sincronismo manualmente.

    Muito obrigado a você e ao Demétrio que contribuiram com informações e questionamentos.

    Abs, 




    Eng_DSantana
    quinta-feira, 10 de setembro de 2009 14:02