Usuário com melhor resposta
Mesmo comando em vários bancos no mesmo servidor

Pergunta
-
Bom dia tenho uma query gigantesca e quero fazer para 23 bancos no mesmo servidor.
Sempre utilizei o Msforeachdb, mas neste caso como a query é imensa, este comando acaba truncado.
O que posso fazer? usar cursor com array? dá pra usar o Msforeachdb de uma outra maneira que quebra o comando? Fazer procedure?
Respostas
-
Boa Tarde,
- Salve a query em um arquivo .sql
- Rode a consulta SELECT 'SQLCMD -E -S ' + @@ServerName + ' -i C:\Arquivo.sql' FROM sys.databases WHERE <A condição para trazer os 23 bancos
- Capture a saída, abra um prompt e faça a execução[ ]s,
Gustavo Maia Aguiar
Blog: http://gustavomaiaaguiar.wordpress.com
Vídeos:http://www.youtube.com/user/gmasqlClassifique as respostas. O seu feedback é imprescindível
- Marcado como Resposta Harley Araujo sexta-feira, 17 de agosto de 2012 14:21
Todas as Respostas
-
Olá...
Se sua query retorna muitas linhas ou, como você disse, é grande, indico o uso de StoredProcedure varrendo os bancos necessários.
Cursor: Creio que não é a melhor saída levando em consideração o tamanho da query.
Não esqueça de marcar o post como útil caso tenha te ajudado.
- Editado Roberson Naves quarta-feira, 15 de agosto de 2012 14:53
-
Boa Tarde Mellou,
Tem de ser via T-SQL ? Porque não utilizar o SQLCMD para fazê-lo ?
[ ]s,
Gustavo Maia Aguiar
Blog: http://gustavomaiaaguiar.wordpress.com
Vídeos:http://www.youtube.com/user/gmasqlClassifique as respostas. O seu feedback é imprescindível
-
-
Boa Tarde,
- Salve a query em um arquivo .sql
- Rode a consulta SELECT 'SQLCMD -E -S ' + @@ServerName + ' -i C:\Arquivo.sql' FROM sys.databases WHERE <A condição para trazer os 23 bancos
- Capture a saída, abra um prompt e faça a execução[ ]s,
Gustavo Maia Aguiar
Blog: http://gustavomaiaaguiar.wordpress.com
Vídeos:http://www.youtube.com/user/gmasqlClassifique as respostas. O seu feedback é imprescindível
- Marcado como Resposta Harley Araujo sexta-feira, 17 de agosto de 2012 14:21
-
-
Bom Dia Mellolu,
Coloque sua query em um arquivo e rode o CMD com base nesse arquivo.
O arquivo não terá a limitação de linhas.[ ]s,
Gustavo Maia Aguiar
Blog: http://gustavomaiaaguiar.wordpress.com
Vídeos:http://www.youtube.com/user/gmasqlClassifique as respostas. O seu feedback é imprescindível