none
Executar Replicação através do SQLCMD RRS feed

  • Pergunta

  • Bom dia pessoal

    Estou executando uma stored procedure que faz integração de dados entre dois sistemas, até aqui perfeito o problema mesmo que estou encontrando é que como existe à replicação do tipo merge entre duas filiais se a replicação não for executada antes da integração esta ocorrendo em algumas situações erro que após a sincronização entre as filias os erros desaparecem e é concluido com sucesso a integração, pois bem gostaria de saber se alguém ja executou via sqlcmd a sincronização de uma replicação?

    terça-feira, 25 de junho de 2013 13:18

Respostas

  • Pessoal é so executar da seguinte forma:

    SQLCMD -S NOMEDOSERVIDOR -U USUARIO -P SENHA -Q "EXEC [BANCO].dbo.NOMEDAPROCEDURE"

    • Marcado como Resposta eder.luca terça-feira, 6 de agosto de 2013 21:03
    terça-feira, 6 de agosto de 2013 21:03

Todas as Respostas

  • Eder,

    Sinceramente não consegui entender o que você esta querendo?

    Você falou de uma Stored Procedure que faz integração de dados, mas esta utilizando um ambiente com replicação Merge, até ai tudo bem.

    Agora você quer executar via sqlcmd os jobs que realizam a sincronização dos dados? É isso?


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]

    terça-feira, 25 de junho de 2013 16:48
  • Sim o que acontece quando executei essa stored procedure via sqlcmd duas tabelas integraram as informações corretamente porem um deu o seguinte erro:

    Msg 548, Level 16, State 2, Server , Procedure  Line 123

    The insert failed. It conflicted with an identity range check constraint in data

    base 'PHARMACY', replicated table 'dbo.FN_FORNECEDORES', column 'CODIGO'. If the

     identity column is automatically managed by replication, update the range as fo

    llows: for the Publisher, execute sp_adjustpublisheridentityrange; for the Subsc

    riber, run the Distribution Agent or the Merge Agent.

    The statement has been terminated.

    Msg 548, Level 16, State 2, Server SRV-WIC, Procedure INTEGRADUALMEDPHARMACY, Li

    ne 147

    The insert failed. It conflicted with an identity range check constraint in data

    base 'PHARMACY', replicated table 'dbo.FN_FORNECEDORES', column 'CODIGO'. If the

     identity column is automatically managed by replication, update the range as fo

    llows: for the Publisher, execute sp_adjustpublisheridentityrange; for the Subsc

    riber, run the Distribution Agent or the Merge Agent.

    The statement has been terminated.

    Após os erros reportados acima eu realizei a sincronização da replicação e fiz uma nova tentativa e os dados foram integrados com êxito portanto eu gostaria de executar via sqlcmd à sincronização da replicação e após o termino a integração para não ocorrer mais esse tipo de problema.

    terça-feira, 25 de junho de 2013 17:29
  • Pessoal é so executar da seguinte forma:

    SQLCMD -S NOMEDOSERVIDOR -U USUARIO -P SENHA -Q "EXEC [BANCO].dbo.NOMEDAPROCEDURE"

    • Marcado como Resposta eder.luca terça-feira, 6 de agosto de 2013 21:03
    terça-feira, 6 de agosto de 2013 21:03