
Tenho um servidor SQL (MS SQL 2005) em meu ambiente de desenvolvimento. Eu tenho um conjunto de testes unitários para algum código .net que irá se conectar ao banco de dados e realizar algumas operações. Se o código em teste funcionar corretamente, o banco de dados deverá estar no mesmo estado (ou semelhante) de antes dos testes.
No entanto, gostaria de poder reverter o banco de dados ao seu estado anterior à execução dos testes. Uma maneira de fazer isso seria usar transações programaticamente para reverter cada operação de teste, mas isso é difícil e complicado de programar; isso poderia facilmente levar a erros no código de teste.
Gostaria de poder executar meus testes com segurança, sabendo que, se eles destruírem minhas tabelas, poderei restaurá-las rapidamente?
Qual é uma boa maneira de salvar um instantâneo de um dos meus bancos de dados com suas tabelas para que eu possa restaurar facilmente o banco de dados ao estado anterior ao teste?
Responder1
Responder2
se você tivesse o sql server 2008, então você poderia fazer uminstantâneo, execute todos os seus testes e restaure o banco de dados de volta ao ponto do instantâneo com:
RESTORE DATABASE <database_name> FROM DATABASE_SNAPSHOT