Usuário com melhor resposta
Executar um script em multiplas base de dados

Pergunta
-
Olá Galera,
Como rodar um script em várias base de dados ao mesmo tempo, sem ter que ficar trocando base por base.
Geralmente preciso fazer isso, pois tenho 56 bases de dados diferentes (uma pra cada cliente) e tenho que rodar procedures iguais para cada base.
Att.,
Arnaldo Junior
Respostas
-
Dependendo do seu script consegue sim.
Acho que os links abaixo podem te ajudar a ter uma ideia de como fazer
http://www.codeproject.com/Articles/459536/SQL-Server-Applying-Filter-on-sp-MSforeachDB
http://sqlblog.com/blogs/aaron_bertrand/archive/2010/12/29/a-more-reliable-and-more-flexible-sp-msforeachdb.aspx
Mariana Del Nero /* Se a resposta foi útil, não esqueça de marcá-la */
- Marcado como Resposta arnaldo_junior terça-feira, 24 de fevereiro de 2015 15:32
Todas as Respostas
-
Arnaldo Junior,
Você pode usar a sp_MSForEachDB que é uma procedurenão documentada, mas que executa o script para cada um dos databases na sua instância.
Exemplo: tenho vários databases com a mesma estrutura e quero obter o count de uma tabela.
EXEC sp_MSForEachDB 'USE ?; SELECT COUNT(*) FROM MinhaTabela'
Espero que ajude!
Mariana Del Nero /* Se a resposta foi útil, não esqueça de marcá-la */
-
-
Dependendo do seu script consegue sim.
Acho que os links abaixo podem te ajudar a ter uma ideia de como fazer
http://www.codeproject.com/Articles/459536/SQL-Server-Applying-Filter-on-sp-MSforeachDB
http://sqlblog.com/blogs/aaron_bertrand/archive/2010/12/29/a-more-reliable-and-more-flexible-sp-msforeachdb.aspx
Mariana Del Nero /* Se a resposta foi útil, não esqueça de marcá-la */
- Marcado como Resposta arnaldo_junior terça-feira, 24 de fevereiro de 2015 15:32