Usando este guia, você aprenderá como usar o procedimento armazenado sp_msforeachdb (), como usá -lo e vários exemplos de como usar o procedimento.
Sys.sp_msforEachdb ()
O sp_msforeachdb () é um procedimento armazenado sem documentos disponíveis no banco de dados mestre. Ele permite que você pague todos os bancos de dados na instância do SQL Server e execute consultas SQL contra os bancos de dados especificados.
No SQL Server Management Studio, você pode visualizar este procedimento navegando para o banco de dados mestre -> Programabilidade -> Procedimentos armazenados -> Procedimentos armazenados do sistema.
Podemos expressar a sintaxe do procedimento como mostrado:
Declare @Command Varchar (255)Vejamos agora alguns exemplos de usar o procedimento.
Exemplo 1 Show dos nomes de todos os bancos de dados
Suponha que você queira obter os nomes de todos os bancos de dados na instância do SQL Server; Você pode usar o procedimento msForEachdb (), conforme mostrado no exemplo abaixo:
Declare @Command Varchar (255)O conjunto de consultas acima deve retornar os nomes de todos os bancos de dados na instância. Um exemplo de saída é como mostrado:
mestreExemplo 2 - Mostrar tamanhos de banco de dados
Embora existam várias maneiras de usar para obter o tamanho de um banco de dados no SQL Server, neste exemplo, usaremos o procedimento SP_SPACEUSED.
Considere o exemplo mostrado abaixo:
Declare @Command Varchar (255)Usando um único comando, podemos visualizar o tamanho de todos os bancos de dados, conforme mostrado na saída de exemplo abaixo:
Exemplo 3 - Mostre todas as colunas nos bancos de dados
Para visualizar as colunas em cada banco de dados, você pode executar uma consulta, como mostrado no exemplo de snippet abaixo:
Declare @Command Varchar (255);A consulta acima deve retornar as colunas em cada banco de dados, como mostrado:
Exemplo 4 - encolher todos os bancos de dados
Você pode encolher o tamanho de todos os bancos de dados no servidor usando o procedimento msForEachdb, como mostrado abaixo:
Declare @Command Varchar (255);A consulta de exemplo acima tentará reduzir o tamanho de todos os bancos de dados no servidor. Se você tiver uma coleção abrangente de bancos de dados, evite usar esta consulta, pois pode levar muito tempo e bloquear outros processos de usar os bancos de dados.
Exemplo de saída é como mostrado:
Fechamento
Fechamento
Este tutorial mostra como usar o procedimento armazenado sp_msforeachdb () para executar consultas SQL em todos os bancos de dados na instância do SQL Server.
Obrigado pela leitura e fique atento para mais tutoriais do SQL Server.