No passado, consegui isso certificando-me de que meu banco de dados está no controle de origem, bem como o código do aplicativo - o banco de dados pode ser reconstruído para qualquer versão dos scripts.
Se você quiser adicionar dados ao vivo, as coisas ficam mais difíceis, mas talvez você consiga uma solução usando algo como o Redgate SQL Backup para recuperar objetos específicos e ter uma coleção sólida de scripts para gerenciar outros aspectos do SQL Server. Você ainda precisa voltar para sua ferramenta de script favorita (por exemplo, o Powershell) para cuidar de contas de servidor e quaisquer outros bits que sejam vitais e não sejam recuperados como parte de seus planos de recuperação de infra-estrutura de nível inferior.
Fácil o suficiente para configurar isso, mas você precisa de um bom processo de controle de alterações para garantir que todos os seus scripts sejam mantidos atualizados.