none
manter ambientes de homologação, teste e produção RRS feed

  • Pergunta

  • Boa tarde,

    Na empresa que entrei agora estou tentando regularizar os ambientes da empresa na parte de banco de dados teste, homolog e prod.

    Só que temos os objetos de banco de dados que fazem consulta em outro banco de dados na mesma instancia. E com isso estou encontrando dificuldades, por que alterar procedure por procedure não iria funcionar por que quando eu fosse atualizar por exemplo um ambiente de teste com usando o backup de Produção, iria voltar o problema das procedures novamente.

    Tentei usar o synonyms mas como as tabelas tem schemas exemplo rh.departamento, não consigo usar o synonym por que ele exige que eu use  na consulta [].

    Alguém teria alguma dica ou ideia de como eu poderia arrumar esse meu cenário.

    obrigado

    quinta-feira, 28 de março de 2013 15:47

Todas as Respostas

  • Adalvitor,

    Não entendi seu problema, poderia exemplificar com codigos um dos problemas enfrentados?


    Fabrizzio A. Caputo
    MCT
    Certificações:
    Oracle OCA 11g
    MCITP SQL Server 2008 Implementation and Maintenance
    MCITP SQL Server 2008 Developer
    ITIL V3 Foundation
    Blog Pessoal: www.fabrizziocaputo.wordpress.com
    Twitter: @FabrizzioCaputo
    Email: fabrizzio.antoniaci@gmail.com

    quinta-feira, 28 de março de 2013 15:52
    Moderador
  • Tenho procedures que em ambientes produção que no seu codigo um exemplo abaixo.

    select * from CES.informacao.Cliente

    Mas no ambiente de teste tem um banco de dados chamado CES_teste, a procedure com o código acima do banco de produção não funciona em teste por que o nome do banco é diferente.

    E assim será para o outro ambiente o de homologação, o programador quer que eu troque CES por CES_teste, por exemplo.

    quinta-feira, 28 de março de 2013 16:06
  • Adalvitor,

    Quais as diferenças existentes entre estes ambientes? As versões do SQL Server instaladas em cada ambiente são as mesmas?


    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]

    quinta-feira, 28 de março de 2013 16:30
    Moderador
  • Adaviltor,

    Você usa uma mesma instância para os 3 ambientes (dsv, hlg e prd)?

    Uma alternativa, seria a utilização de 3 instâncias (idealmente - em minha opinião - 3 servidores distintos, para que uma execução em dsv não impacte no ambiente de produção)... com isso, você pode restaurar as bases normalmente sem precisar recriar nenhum processo. E vai garantir que um ambiente não impacte em outro.

    Espero que te ajude.

    []'s

    • Sugerido como Resposta Renato Siqueira quinta-feira, 28 de março de 2013 23:41
    quinta-feira, 28 de março de 2013 16:56
  • São versões diferentes é 2000 e 2005.

    tentar descrever como esta aqui.

    hoje

    banco1_prod - banco2 - banco3

    como deveria

    banco1_prod - banco2_prod - banco3_prod

    quinta-feira, 28 de março de 2013 17:47
  • O que eu precisava realmente era poder trocar nas procedures do ambiente teste e homologação os nomes que fazem referencia a base de produção.
    quinta-feira, 28 de março de 2013 18:10
  • Adalvitor,

    Alguma mensagem de erro esta sendo retornada no momento do processoamento do SQL Server?


    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]

    quinta-feira, 28 de março de 2013 18:12
    Moderador
  • Junior

    Mensagem de erro aparece na aplicação, quando executa alguma procedure que faz referencia ao banco que hoje esta CES_homolog só que na proc esta esta CES, ambiente de produção.

    Eu posso mudar isso na mão, mas além de ser muitas as procedures que fazem isso ainda tem o problema de quando eu atualizar ela com o backup da base de produção voltara a dar o mesmo erro.

    quinta-feira, 28 de março de 2013 18:17
  • Adalvitor, o Logan ofereceu a melhor alternativa para a montagem do seu ambiente.

    É realmente preciso renomear as tabelas de acordo com o ambiente? Você usa apenas uma instância?

    Se não para as duas perguntas acima, é recomendável que apenas faça a restauração dos bancos de acordo com a demanda no DEV/HOM e separe por instâncias. Isso trás um trabalho absurdo para os desenvolvedores e DBA's de renomear objeto por objeto, principalmente quando existe muita programação embutida via SP, processos de ETL (dor de cabeça ampliada), etc....

    Imagine que um banco em desenvolvimento teria praticamente todos os seus objetos renomeados ao subir na homologação (um esforço desnecessário),  e mais outro a subir para a produção... É perda de tempo, aumenta chance de erros, complica o desenvolvimento... etc


    -


    quinta-feira, 28 de março de 2013 23:41