Edgard Leal

My personal blog hosted on Github using Jekyll

Home View on GitHub
20 December 2012
SQL Server localizar objeto tabela view procedure trigger em todos os bancos de dados do servidor

Algumas ferramentas para banco de dados possuem uma busca para objetos(tabelas, triggers, views, etc) no banco de dados, para o caso de não ter disponível ou como no meu caso, de precisar fazer de forma dinâmica dentro de uma aplicação, pode-se utilizar o código abaixo:

declare @table table(database_name varchar(80), 
database_size int, remarks varchar(100))
insert into @table exec sp_databases


create table #database (database_name varchar(80))
declare _database cursor for Select * from @table
declare @database varchar(100)
declare @database_size int
declare @remarks varchar(100)
open _database
fetch _database into @database , @database_size , @remarks
declare @sql varchar(2000)
while @@fetch_status = 0
begin
set @sql = 'use ' + @database + ' if exists (Select top 1 1 from '
set @sql = @sql + ' sysobjects where name = ''fn_media'') insert '
set @sql = @sql + ' into #database select ''' + @database + ''''
exec( @sql )
fetch _database into @database , @database_size , @remarks
end

close _database
deallocate _database

Select * from #database order by database_name
drop table #database



blog comments powered by Disqus