Revision: 32630
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at September 30, 2010 22:27 by g8rpal
Initial Code
--Create temp tables to store sys data
create table #DBList(id int identity (1,1), DBName nvarchar(50))
create table #TableList(id int identity (1,1), DBName nvarchar(50), TableName Nvarchar(200), columnName nvarchar(200))
create table #ColumnList(id int identity (1,1), DBName nvarchar(50), TableName Nvarchar(200), tbi int,columnName nvarchar(200))
--get a list of non system DBs
insert into #DBList(DBName)
select name from master..sysDatabases where sid !=0x01
--declare variables
declare @i int
declare @max1 int
declare @db nvarchar(50)
declare @sql nvarchar(4000)
declare @sql1 nvarchar(4000)
declare @tbi int
declare @colID int
declare @max int
declare @dbname nvarchar(400)
declare @tbid int
declare @tbl nvarchar(50)
declare @svr as nvarchar(50)
--set initial state of variables
set @i=1                                                                 --counter
set @max1 =(select max(id) from #DBList)+1         --maximum value to iterate to
set @svr= upper(@@servername)                            --name of server
set @colID=1                                                        
---gets a list of databases from server and populate #DBList table
        while @i <@max1
                begin
                    set @db = (select DBname from #DBList where @i=id)
                    set @sql ='select '''+@db+''' ,id,name from '+ @db+'..sysobjects
                                                                                where xtype =''u'''
                    set @i=@i+1
                    insert into #ColumnList(DbName,tbi, TableName)
                    exec (@sql)
end
--get details based on column id
    set @max=(select max(id) from #ColumnList)+1
        while @colID < @max
            begin
                set @dbname=(select dbname from #ColumnList where id=+ @colID)
                set @tbid=(select tbi from #ColumnList where id=+ @colID)
                set @tbl=(select tablename from #ColumnList where id=+ @colID)
                set @sql1='select '''+@dbname +''','''+@tbl+''' ,name from ['+@dbname +']..syscolumns
                where id='+ cast(@tbid as nvarchar(20))
                insert into #TableList(dbname,Tablename,columnName)
                exec(@sql1)
                set @colID=@colID+1
end
--Select from Temp Table
select @svr as Svr,DBName,TableName,ColumnName
from #TableList
order by DBname,tablename, columnname
--CleanUp
drop table #DBList
drop table #TableList
drop table #ColumnList
Initial URL
Initial Description
Initial Title
List all columns in server
Initial Tags
list
Initial Language
SQL