Dicas

Executar o mesmo comando para todos os bancos de dados no SQL Server.

Veja como executar o mesmo comando para todos os bancos de dados no SQL Server.

Veja como executar o mesmo comando para todos os bancos de dados no SQL Server.

Problema: Preciso executar um mesmo comando para todas os meus bancos de dados em uma instância SQL Server, mas hoje o que eu normalmente faço é acessar todos os bancos de dados manualmente para executar esse comando.

Solução: Para você executar um mesmo comando em todos os bancos de dados simultaneamente, você precisa conhecer a procedure sp_MSforeachdb

EXEC sp_MSforeachdb @command

@command é uma variável do tipo string.

O comando abaixo retorna as 10 primeiras tabelas em cada banco de dados ordenado por nome da tabela.

DECLARE @command varchar(1000) 
SELECT @command = 'USE ? SELECT TOP 10 name FROM sysobjects WHERE xtype = ''U'' ORDER BY name' 
EXEC sp_MSforeachdb @command

Caso você não queira declarar uma variável para colocar nela o texto do comando, você pode alternativamente colocar o comando diretamente da seguinte forma:

EXEC sp_MSforeachdb 'USE ? SELECT TOP 10 name FROM sysobjects WHERE xtype = ''U'' ORDER BY name'

Criar um objeto em cada banco de dados com um simples comando:

Se você deseja executar um comando DDL para todas as bases de dados, você poderá executar o comando abaixo:

DECLARE @command varchar(1000)

SELECT @command = 'IF ''?'' NOT IN(''master'', ''model'', ''msdb'', ''tempdb'') 
BEGIN USE ? EXEC(''CREATE PROCEDURE Proc_UsuariosDoSQL AS SELECT uid, name, createdate, updatedate FROM sys.sysusers ORDER BY name'') END'

EXEC sp_MSforeachdb @command

Como você pode observar, há itens adicionais a serem levados em consideração ao limitar o escopo da procedure sp_MSforeachdb, especialmente ao criar ou modificar objetos. Você também deve definir o código para executar se a instrução IF for verdadeira usando palavras-chave T-SQL BEGIN e END. Você deve tomar nota que o USE? Declaração está contida no bloco BEGIN … END. É importante lembrar as principais regras T-SQL. Nesse caso, a regra de que ao criar uma procedure, a frase CREATE PROCEDURE deve ser a primeira linha de código a ser executada. Para fazer isso, você pode encapsular o código CREATE PROCEDURE dentro de uma função EXEC.

Executar o mesmo comando para todos os bancos de dados no SQL Server.
The following two tabs change content below.

Wesley Mota

DBA SQL Server
Profissional graduado em Banco de Dados e Sistemas de Informação com mais de 7 anos de experiência em empresas de software. Certificado MCSA Microsoft SQL Server possui intensa vivência em administração de banco de dados, Tunning, Performance SQL Server, levantamento de melhorias e monitoramento de banco de dados e servidores SQL Server. Consultoria SQL Server em diversos clientes no Brasil e ao redor do mundo. Escritor no blog dbasqlserverbr.com.br/blog. Onde compartilha conhecimento, experiências e dicas de performance para DBAs SQL Server. Conhecimentos em Oracle e ambientes de alta disponibilidade. Desenvolvimento de softwares web e mobile.Gerenciamento de equipe e projetos.

Latest posts by Wesley Mota (see all)

Wesley Mota

Profissional graduado em Banco de Dados e Sistemas de Informação com mais de 7 anos de experiência em empresas de software. Certificado MCSA Microsoft SQL Server possui intensa vivência em administração de banco de dados, Tunning, Performance SQL Server, levantamento de melhorias e monitoramento de banco de dados e servidores SQL Server. Consultoria SQL Server em diversos clientes no Brasil e ao redor do mundo. Escritor no blog dbasqlserverbr.com.br/blog. Onde compartilha conhecimento, experiências e dicas de performance para DBAs SQL Server. Conhecimentos em Oracle e ambientes de alta disponibilidade. Desenvolvimento de softwares web e mobile.Gerenciamento de equipe e projetos.

Share
Published by
Wesley Mota

Recent Posts

Free Blackjack No Download: Appreciate Blackjack Anytime, Anywhere

Blackjack, additionally known as twenty-one, is just one of one of the most popular gambling…

3 meses ago

The Ultimate Guide to Gry Online Ruletka

If you are a fan of online gambling, then you must have come across gry…

3 meses ago

Discover the Adventures of Free Spins at Online Casino Sites

On the internet online casinos have transformed the betting industry, enabling players to vegas.hu online…

9 meses ago

Best Free Spins No Deposit

Casinos online offer free spins to draw new customers. These bonuses are usually very profitable,…

10 meses ago

Ideal Online Port Gambling Enterprises: An Overview to Locating the Perfect Pc Gaming Experience

In recent times, online casino sites have actually obtained enormous appeal among gamers, providing a…

10 meses ago

Best Online Casinos That Accept Bitcoin Down Payments

Bitcoin, the most preferred cryptocurrency worldwide, has reinvented lots of industries, including the on baixar…

10 meses ago