locked
Replicação parou de funcionar RRS feed

  • Pergunta

  • Pessoal,

    A replicação no meu SQL2000 estava funcionando normalmente ( tipo merge ) Ocorre que desde o dia 17 de setembro ela parou de funcionar e ao tentar iniciar manualmente a replicação  dava um erro "Cannot load pxstar.dll  ( nào lembro se era essa a dll mas era parecido com isso ).  Apos visitar um forum na internet fui orientado a reaplicar o SP4. Durante a execução do SP4 deu um erro: após a mensagem  "setup is initializing the server for upgrade process" aparece "error running script: replsys.sql"  e agora sumiu toda a replicação do SQL, tá zerado!!

    Esse não seria meu maior problema se o sistema que roda no SQL não estivesse travando inclusive localmente! Agora ao tentar executar o sistema, dá vários erros de store procedure, um deles é "could not...dbo.sp.msrplnick"

    Minhas dúvidas:

    1) Como solucionar este problema de não executar nem mesmo o sistema localmente
    2) Reinstalar do zero o SQL 2000 e reaplicar o SP4 resolve o problema?
    3) A base de dados do meu sistema foi afetada?

    Espero contar com a colaboração dos colegas, visto que não sou especialista em SQL


    Grande abraço!


    sexta-feira, 17 de outubro de 2008 20:45

Todas as Respostas

  • Bom dia.

     

    você tinha nesse servidor um antivirus e desinstalou? Era o symantec? Tudo que você relatou leva a crer que foi isso. Instalar e desisntalar antivirus causa esse problema sim.

    Passos para uma possível recuperação:

     

    - Com o serviço do sql server parado, copie a pasta data por completo, com todo o seu conteúdo para um outro local. Você vai utiliza-la para sobrescrever a nova instalação... Já entendeu que vai instalar o sql server e aplicar o Sp4, né.

    Não altere o caminho da instalação da pasta data. Se a atual instalação a pasta data está c:\program files\ microsoft sql server\mssql\data, quando você foi instalar novamente tem que ser com o mesmo path da anterior, ok. Isso é o que mais importa. Não troque o nome do servidor, beleza.

    -Depois de instalado e aplicado o sp4, tudo novinho, pare o serviço do sql server, altere o nome da pasta DATA da nova instalação e copie a antiga pasta DATA para o mesmo local. Inicie o serviço do sql server.

     

    Se levantar o serviço, abra o Enterprise Manager e verá tudo como estava, da ultima vez que você viu.

     

    Bom, se a base do seu sistema foi afetada só vamos saber depois disso tudo aí. Torcer para que o programa que removeu a dll não tenha corrompido as bases de dados.

     

    Aguardo retorno com o seu histórico.

     

    sábado, 18 de outubro de 2008 06:51
  • Caro Marcos


    EFetuei todos os passos porém o serviço subiu sem a replicação. Tudo bem, eu recomecei e fiz outra replicação. Durante  envio do primeiro snapshot ele deu o erro abaixo


    The schema script '\\ANDROID\c$\arquivos de programas\MSSQL\ReplData\unc\ANDROID_MULTICLUBE_MULTICLUBE1\20081020100617\TBTIT_PAC_272.dri' could not be propagated to the subscriber.
    (Source: Merge Replication Provider (Agent); Error number: -2147201001)
    ---------------------------------------------------------------------------------------------------------------
    ALTER TABLE statement conflicted with TABLE FOREIGN KEY constraint 'FK_TBTIT_PAC_TB_TITULO'. The conflict occurred in database 'multiclubesp', table 'TB_TITULO'.
    (Source: ILHA (Data source); Error number: 547)
    ---------------------------------------------------------------------------------------------------------------


    O que pode ser ?

    segunda-feira, 20 de outubro de 2008 14:02
  • Oi doutor, boa tarde.

     

    Quando você gera o scripts do database, a primeira parte do scripts são as deleções das constraints. Delete todas as constraints execute o snapshot e depois aplique todas as Fk´s e coloque na clausula ] WITH NOCHECK ADD, OK..

     

    segunda-feira, 20 de outubro de 2008 16:49
  • Marcos

    É possível você reescrever de uma maneira mais didática? Smile

    Tendo como parâmetro que esta replicação estava funcionando normalmente e parou de repente. Quando fui reinstalar o SP4 aconteceu o pior, a replicação sumiu. Daí fiz o que você orientou só que mesmo assim a replicação nao voltou. Então fiz uma replicação merge do começo com a mesma base e no subscriber eu usei a mesma base que estava sendo usada anteriormente. Agora está dando este erro de conflito.

    Como informação adicional, eu instalei um SQL no meu micro que nunca esteve envolvido neste processo todo só que deu o mesmo erro durante a replicação, o que me leva a crer que o problema está na base do publisher. Pior é que quando eu excluo a publicação o sistema pára de funcionar ( o sistema que usa essa base ) começa a dar vários erros de store procedure...


    segunda-feira, 20 de outubro de 2008 18:02
  • Oi Doutor, desculpe então pela informação anterior.

     

    Bom. O snapshot ta inserindo dados nas tabelas dos assinantes. Pelo jeito você escolheu sincronyze.

    As tabelas dos assinantes estão vazias? Se estiverem você necessita dropar as constraints. A foreing key é uma constraint. Onde você consegue essa relação de constraints? Bom. clica no database com botão direito, no menu>>todas as tarefas>>generate sql script.

    Ali você terá o script de todos os objetos do database. selecione todas as tabelas e depois vá na guia Options. Marque a opção Script Primary Keys, Foreign keys, defaults, and check constraints. Depois disso, clique me preview para gerar os scritps dos seus objetos.

    Pegue a primeira parte, onde deleta as constraints (só as constraints) e aplique no assinante.

    Após a sincronização você irá aplicar novamente as foreign keys. O script delas tem um parâmentro:

     

    Alter table [CostumerCostumerDemo] ADD

     

    troque o ADD por WITH NOCHECK ADD, assim que informa para verificar integridade a partir de agora em diante.

     

    Qualquer coisa to no msn. Abraços.

    segunda-feira, 20 de outubro de 2008 18:15
  • Marcos

    Vou tentar fazer isso depois com mais calma. Qual seu MSN ?

    Pergunta:

    1) Por que está dando esse erro agora?
    2) Por que está dando esse erro em um SQL novo, zerado, que nunca foi assinante de nada...?
    3) Por que meu sistema pára de funcionar ( erros de store procedure ) se eu excluir a replicação ?

    Abraço e obrigado por tudo.

    P.S.: Vc está em São Paulo - SP ?
    segunda-feira, 20 de outubro de 2008 18:24
  • marcoscaval@hotmail.com

     

    Resposta

     

    1)  A FK ta fazendo o trabalho dela. Verificando as relações entre as tabelas.

    2) O snapshot tem parâmetros quando você cria a publicação. Dropar tabela e recriar, criar índices, truncar... Por isso ta dando esse erro.

    3) Isso só investigando mais. vendo os logs do sql server.

     

    Moro longe demais... Big Smile em João Pessoa, Paraíba.

     

    segunda-feira, 20 de outubro de 2008 18:29
  • Marcos


    Eu tive que formatar meu servidor cara !! Estava uma loucura e travou de vez. Consequentemente tive que reinstalar o SQL e SP4. Tudo estava indo bem até que a aplicação começou a apresentar umas mensagens de erro do nada. Li alguma coisa sobre a versão Personal Edition que não funciona bem acima de 5 acessos simultaneos, como estou com 30 acessos acredito que possa ser esta a causa do problema. O que voce acha ?

    A unica coisa estranha é que antes de acontecer tudo isso, quando estava até mesmo replicando direitinho, não dava nenhum problema mesmo com o SQL PErsonal Edition


    terça-feira, 28 de outubro de 2008 13:15
  • Abelinki, bom dia!

     

    Acesse este link tem um material completo sobre replicação, otimização e calculos necessarios para o melhor desempenho de suas replicações:

     

    http://64.233.169.104/search?q=cache:iSdlT7nv-HsJ:www.technetbrasil.com.br/Downloads/ArtigosTecnicos/sql/ot_trans.doc+especifica%C3%A7%C3%A3o+SQL+PErsonal+Edition&hl=pt-BR&ct=clnk&cd=10&gl=br

     

    terça-feira, 28 de outubro de 2008 13:29
  •  

    Oi doutor,

     

    Dessas limitações que você ta falando, são do MSDE. A Personal Edition ainda é uma versão maior que ela, sem dúvida.

    Pode me passar essas mensagens de erro por favor.

    A versão MSDE têm uma limitação onde a base (mdf) não pode passar de 2 gigas.

    Aguardo retorno.

    terça-feira, 28 de outubro de 2008 13:38