Я бы выбрал из information_schema.tables и сохранил результаты в файл, чтобы построить список таблиц, а затем использовал файл bat или инструмент регулярных выражений командной строки, чтобы использовать список таблиц в качестве источника для сравнения с файлами в каталоге исходного кода , Вы можете вывести, какие файлы имели попадание, и какие имена таблиц были достигнуты (какая строка была попаданием, если вам интересно). Я не извращенец, но думаю, что это был бы правильный инструмент для использования.
EDIT
В зависимости от того, как обрабатывался доступ к данным, вы можете расширить список поиска, включив в него хранимые процессы из information_schema.routines
Редактировать 2 Подход с использованием finstr, курсора и, возможно, темной стороны
Обратите внимание, что хотя приведенное ниже должно работать, если указывать не на тот каталог, это может привести к хаосу. Кроме того, он будет работать только в том случае, если исходный код доступен с сервера и включен xp_cmdshell. Может быть, вся идея зла, я не знаю.
create table #files (filepath varchar(4000))
create table #tablesfound (tablename sysname, filepath varchar(4000))
declare @sql nvarchar(4000)
Declare @cmd nvarchar(400)
Declare @dir varchar(256)
Declare @tbl sysname
set @dir = 'source code directory with e.g. c:\source\'
declare crsX cursor for
Select table_name from information_schema.tables
open crsX
Fetch Next from crsX into @tbl
While (@@Fetch_Status = 0)
Begin
set @cmd = 'findstr /S /M ' + quotename(@tbl, char(34)) + ' ' + @dir + '*.*'
insert into #files exec xp_cmdshell @cmd
if exists (Select 1 from #files where filepath is not null)
Begin
insert into #tablesfound (tablename, filepath)
Select @tbl, filepath from #files where filepath is not null
delete from #files
End
print @cmd
Fetch Next from crsX into @tbl
End
close crsX
Deallocate crsX
Select * from #tablesfound