Estou tentando configurar uma caixa de areia para os desenvolvedores de relatórios trabalharem. Meu plano atual é "redefinir" o banco de dados todas as noites, mas não tenho certeza de como fazê-lo. O que quero dizer com redefinição é que quero eliminar essencialmente todas as tabelas, visualizações, procedimentos armazenados etc. de todos os bancos de dados, exceto um, no servidor. Suponho que outra opção seria soltar e recriar o banco de dados também, mas tenho certeza de que isso significaria recuperar o acesso a todos os grupos / pessoas do AD apropriados também.
Realmente não sei qual seria a melhor maneira de fazer isso, então espero que alguns de vocês possam fornecer boas idéias / sugestões. Obrigado.
Para maior clareza, queremos essencialmente fazer isso com nosso banco de dados: http://try.discourse.org/t/this-site-is-a-sandbox-it-is-reset-every-day/57 . A única diferença é que não queremos recriar nossos usuários todos os dias.
Versão: SQL Server 2008
Edition: Desenvolvedor e Empresa
fonte
Como você tem uma instância com o mecanismo Enterprise Edition, eu usaria instantâneos de banco de dados .
Isso permitirá reverter rápida e facilmente todas as alterações feitas durante o dia, sem a necessidade de restaurar todo o banco de dados.
Observe que, se os desenvolvedores planejam fazer grandes carregamentos de dados (parece que não são?), Isso pode não ser apropriado.
fonte
Deixe-me adicionar alguns centavos para ver se isso ajuda você:
Na minha empresa, estamos enfrentando a mesma situação que todas as noites os desenvolvedores desejam atualizar os bancos de dados que estão usando durante o dia. Isto significa que temos um conjunto de bancos de dados que de Dev não tocam - digamos Um e outro conjunto de bancos de dados que são exata copiar A, mas eles fazem o seu coisas, mas quer ficar atualizado a cada noite - Vamos dizer que B . Isso acontece em 1 instância de servidor único.
O que eu implementei é um processo de restauração noturna para conseguir isso. Abaixo está como funciona:
Crie uma tabela de drivers com uma lista de bancos de dados que precisam ser restaurados todas as noites (como você mencionou).
Tabela: nightly_restore (OriginalDB, RestoreDB, backuplocation, enabled_YN, Results, PASS_FAIL)
Em seguida, você pode escrever algum TSQL que percorrerá a lista de bancos de dados da tabela acima e, em seguida, executará as restaurações e registrará qualquer sucesso ou falha em Resultados e um pouco 1 = Aprovado ou 0 = Reprovado. Enabled_YN determinará se esse banco de dados precisa ser restaurado ou não.
Se houver mais bancos de dados que serão adicionados no futuro, basta inserir os da tabela e definir o bit enabled_YN como Y (ativado).
Dessa forma, o processo será mais flexível e gerenciável.
Se você quiser o SQL que eu escrevi (tenho certeza de que poderá escrevê-lo :-)), basta me enviar um ping ou adicionar um comentário e eu o compartilharei.
HTH
fonte