Есть ли способ найти одно значение (в моем случае это UID типа char(64)
) внутри любого столбца любой таблицы в одной базе данных MS SQL Server?
Я сижу перед огромной базой данных, не представляя, как таблицы должны быть связаны вместе. Чтобы выяснить это, я хотел бы перечислить все таблицы и столбцы, содержащие определенное значение в любой строке. Это возможно?
Один из способов - просто выгрузить всю базу данных в текстовый файл, а затем использовать любой текстовый редактор для поиска значения - но это будет чистой болью, если база данных слишком велика.
Ответы:
http://vyaskn.tripod.com/search_all_columns_in_all_tables.htm
РЕДАКТИРОВАТЬ: Вот фактический T-SQL в случае гниения ссылки:
источник
Все сторонние инструменты, упомянутые ниже, на 100% бесплатны.
Я использовал поиск ApexSQL для поиска как объектов, так и данных в таблицах. Он поставляется с несколькими другими функциями, такими как диаграммы отношений и т. Д.
Я был немного медленнее при работе с большими базами данных (база данных TFS 40 ГБ)…
Помимо этого, существует также пакет SSMS Tools, который предлагает множество других весьма полезных функций, даже если они не имеют прямого отношения к поиску текста.
источник
Я расширил код, потому что он не сказал мне '
record number
', и я должен его переработать.источник
Источник: http://fullparam.wordpress.com/2012/09/07/fck-it-i-am-going-to-search-all-tables-all-collumns/
Некоторое время назад у меня есть решение, которое я продолжал улучшать. Также выполняет поиск в столбцах XML, если это указано, или ищет целочисленные значения, если предоставляет только целочисленную строку.
источник
Я нашел довольно надежное решение на https://gallery.technet.microsoft.com/scriptcenter/c0c57332-8624-48c0-b4c3-5b31fe641c58 , на которое, как мне показалось, стоит обратить внимание. Он ищет столбцы следующих типов: varchar, char, nvarchar, nchar, text. Он отлично работает и поддерживает поиск по конкретным таблицам, а также по нескольким запросам.
источник
На http://www.reddyss.com/SQLDownloads.aspx есть хороший скрипт.
Чтобы иметь возможность использовать его в любой базе данных, вы можете создать его, как показано здесь : http://nickstips.wordpress.com/2010/10/18/sql-making-a-stored-procedure-available-to-all-databases/
Не уверен, есть ли другой способ.
Чтобы использовать это, используйте что-то вроде этого:
источник
После попытки @ решений regeter в и , видя , что не решить мою проблему , когда я искал иностранный / первичный ключ , чтобы увидеть все таблицы / столбцы , где она существует, это не работа. Прочитав, как это не удалось для другого, кто пытался использовать уникальный идентификатор, я внес изменения, и вот обновленный результат: (работает как с int, так и с направляющими ... вы увидите, как легко расширить)
источник