sql server: como carregar vistas quebradas

1

Eu tenho um servidor de banco de dados legado com muitas visualizações instaladas sem vinculação de esquema. Com o tempo, essas visualizações caíram em desuso e algumas se referem a objetos que não existem mais, ou a colunas cujos nomes foram alterados.

Para testar um script de atualização, gostaria de instalar os objetos de esquema em um banco de dados de teste vazio. No entanto, muitas das visualizações não podem ser carregadas porque estão em estado de abandono.

É possível obter o SQL Server para carregar modos de exibição que se referem a objetos inexistentes para que eu possa testar meus scripts de reparo?

Eu posso fazer isso usando backup e restauração, mas não quero carregar o conjunto de dados que é grande e leva horas para carregar.

    
por Martin 26.11.2010 / 13:33

2 respostas

1

Você poderia fazer backup e reconfigurar o banco de dados para um novo nome uma vez, excluir os dados em todas as tabelas, forçar um re-índice e um encolhimento total do banco de dados e fazer backup do resultado para restauração no início de cada execução de teste.

Isso lhe daria um pequeno banco de dados sem dados com a mesma estrutura, incluindo as visões e procedimentos quebrados. Você ainda precisa fazer o backup e a restauração de todo o lote, mas apenas uma vez, pois as restaurações subseqüentes serão da cópia apagada e encolhida. A operação de exclusão também demorará um pouco, mas novamente só precisará ser feita uma vez (a reindexação e a redução devem ser muito rápidas).

    
por 29.11.2010 / 20:48
1

Eu não acho que você será capaz disso. Por que não adicionar a criação da vista aos scripts de teste? Se todo o script for executado com sucesso, sua alteração no esquema resolverá o problema.

Acho que versões anteriores do SQL Server permitiam a modificação direta da tabela syscomments que possivelmente teria funcionado, mas não mais.

    
por 29.11.2010 / 19:17