Um substituto confiável e flexível para sp_MSforeachdb – SQLBlog

Um substituto confiável e flexível para sp_MSforeachdb – SQLBlog

Um substituto confiável e flexível para sp_MSforeachdb - SQLBlog 1
cupom com desconto - o melhor site de cupom de desconto cupomcomdesconto.com.br


Atualizado janeiro de 2020

Um substituto confiável e flexível para sp_MSforeachdb - SQLBlog 2 O procedimento do sistema, sp_MSforeachb, geralmente é usado quando você deseja executar o mesmo comando em todos os bancos de dados. Mas isso é no bueno. Ele não é documentado, não é suportado e possui um bug conhecido, mas não resolvido, no qual pode pular bancos de dados devido ao tipo de cursor que usa. A Microsoft não reconhecerá o bug porque isso seria admitir Fight Club existe.

Então, eu escrevi uma substituição, sp_foreachdb, que tem muito mais flexibilidade e não exibe o bug “ignorar bancos de dados”. Esse procedimento tornou-se parte do First Responder Kit de Brent Ozar em 2016, mas foi preterido recentemente. Ele tem alguns problemas próprios; por exemplo, não pode ser usado como destino de INSERT ... EXECe não pode executar comandos como DB_NAME() no contexto do banco de dados selecionado.

cupom com desconto - o melhor site de cupom de desconto cupomcomdesconto.com.br

A nova substituição, sp_ineachdb, sobre o qual escrevi aqui e aqui, é preferível às opções acima. Ele realmente executa cada comando em seu banco de dados e possui menos obstáculos para implementação em seu próprio código (* pode * ser o alvo de INSERT ... EXEC)

Você ainda está por conta própria em termos de suporte. Mas alguns colaboradores se esforçaram para melhorar o código. E recentemente, depois de um ping de um colega, adicionei um novo argumento a esse procedimento, @exclude_pattern. Zach queria poder excluir todos os bancos de dados que correspondiam a um padrão (como todos os bancos de dados com nomes que começam com dba_%) Essa solicitação de recebimento simples – direcionada para a versão de fevereiro – permite fazer isso, mas se você quiser excluir mais de um padrão, precisará modificá-lo ainda mais (pense @exclude_pattern1, @exclude_pattern2, e assim por diante).

Leia Também  Migrar um banco de dados local do SQL Server para o banco de dados SQL do Azure

Feliz looping!

cupom com desconto - o melhor site de cupom de desconto cupomcomdesconto.com.br