declare @db_name varchar(255) declare @use_string varchar(259) create cursor mycursor as select distinct name from master..sysdatabases open mycursor fetch next from mycursor into @db_name while @@fetch_status = 1 -- or whatever indicates success use_string = 'use ' + @db_name exec(use_string) select @db_name, -- referencing column + table goes here -- referenced column + table goes here from sysreferences -- join syscolumns twice - once for the referencing, once for teh referenced -- join sysobjects twice - once for each syscolumns table ... fetch next from mycursor into @db_name loop close mycursor deallocate mycursor