Carregando ...
Desculpe, ocorreu um erro ao carregar o conteúdo.

33235RES: [mssql-l] criar store procedures em vários banc os diferentes

Expandir mensagens
  • Lucas - Terra
    11 de jan 06h30min

      Olá Wolney.

       

      A)     Os banco de dados fazem parte da mesma instancia SQL

      B)      No meu sript eu sempre drop e recrio a store procedure

      C)      Os objetos já tem permissão de acesso por contas do SQL server. 

      Sua ideia foi PERFEITA!! 

      Eu tenho um agravante, pois meus bancos estão em um servidor da LocaWeb , onde tenho uma série de restrições em relações a comandos posso executar, mas a principio,  parece que consigo executar comandos  OSQL. Vou fazer  mais alguns testes  nas bases verdadeiras para me certificar disso.

       

      Fiquei somente com algumas dúvida:

      a)      O retorno do comando é uma série de números sequenciais (1<. 2>, 3>....) . Estes números indicam as linhas processadas de cada Sp/trigger criada?

      b)      Existe alguma forma de interromper o script se ocorrer algum erro? Nos testes que fiz, quando acontece um erro o script segue criando as outras SP’s  e isso dificulta identificar em qual Store Procedure aconteceu o erro.

      c)       Para facilitar, gostaria de executar o OSQL de dentro do Management Studio. Pensei em utilizar o xp_cmdshell , porém este é um dos comandos que a LocaWeb não permite a execução. Você tem alguma outra sugestão que permita isso ?

      Mais um vez obrigado pela ajuda, resolveu 90% de meu problema.

       

      Abraços

       

      Lucas Moraes

      Gerente de Projetos

      (27) 9-9961-8200 (Tim)

      (27) 3345-7094

       

      cid:image002.jpg@01D03985.805593B0

       

      De: mssql-l@... [mailto:mssql-l@...]
      Enviada em: terça-feira, 10 de janeiro de 2017 10:15
      Para: mssql-l@...
      Assunto: RES: [mssql-l] criar store procedures em vários bancos diferentes

       

       

      Olá Lucas, bom dia.

       

      Sim, existe uma forma ( ou varias formas ) de se fazer isso.

      Mas antes tenho algumas dúvidas.

       

      1.       Esses banco de dados estão em instâncias diferentes ou todos os banco na mesma instância?

      2.       Esses objetos que você deseja criar, pode ocorrer deles já existirem nos bancos de dados destinos.

      3.       Se sim, esses objetos já devem ter permissões de acesso por contas do SQL Server ou Windows, correto?

       

      Voce pode usar o comando OSQL pela linha de comando.  Exemplo:

       

      OSQL –S DBServer  –E  -d DBName –i c:\script.sql –o\DBname

      wh.log

       

      Para maiores detalhes do comando

       

      OSQL /?

       

      Como você tem 30 banco de dados ( e tem o nome deles a instância que eles estão ), o que sugiro é gerar um arquivo de lote com a execução do comando OSQL para cada banco.

      Se você tem os banco de dentro de um única instância, pode gerar o OSQL pelo comando abaixo :

       

      select 'OSQL –S DBServer  –E  -d '+name+' –i c:\script.sql –o\'+name+'.log ' 

      from sys.databases

      where name not in ('master','model','msdb','tempdb')

       

      Outro pontos a observar:

       

      1.       Os objetos dentro  do script deve estar separados pelo instrução GO

      2.       Voce deve tomar o cuidado de verificar se o objeto não existe no banco de dados. Se você dropar o objeto e criar novamente, as permissões de acesso concedido ao objetos deverão ser refeitas.

       

       

      Acho que é isso!!

       

      Wolney Marconi Maia
      http://imagem.imprensaoficial.com.br/mailing/email_spacer.png
      Rede e Infraestrutura - TI
      http://imagem.imprensaoficial.com.br/mailing/email_spacer.png11-2799-9892

      Só imprima se realmente for necessário, pense em sua responsabilidade com o meio ambiente.
O conteúdo desse e-mail ou de seus anexos é confidencial e restrito ao destinatário da mensagem.
Se, por engano, você recebeu esse e-mail, por favor, notifique o remetente, não faça cópias nem distribua seu conteúdo.

       

       

      De: mssql-l@... [mailto:mssql-l@...]
      Enviada em: segunda-feira, 9 de janeiro de 2017 16:03
      Para: mssql-l@...
      Assunto: RES: [mssql-l] criar store procedures em vários bancos diferentes

       

       

      Este grupo ainda esta ativo??

       

      Lucas Moraes

      Gerente de Projetos

      (27) 9-9961-8200 (Tim)

      (27) 3345-7094

       

      cid:image002.jpg@01D03985.805593B0

       

      De: mssql-l@... [mailto:mssql-l@...]
      Enviada em: quarta-feira, 4 de janeiro de 2017 17:56
      Para: mssql-l@...
      Assunto: [mssql-l] criar store procedures em vários bancos diferentes

       

       

      Boa Tarde Pessoal,

       

        Tenho um arquivo geral com todas as store procedures e trigger que utilizo no banco de dados,  porém, agora necessito criar estas mesmas store procedures em vários bancos diferentes (mais de 30 bancos).

       

        Alguém tem alguma dica de como fazer para rodar este arquivo e criar as SP em todos os bancos sem ter que sair alterando o banco um a um?

       

      Atenciosamente

       

      Lucas Moraes

      Gerente de Projetos

      (27) 9-9961-8200 (Tim)

      (27) 3345-7094

       

      cid:image002.jpg@01D03985.805593B0

       

    • Mostrar todas as 6 mensagens neste tópico