Могу ли я в SQL Server Management Studio выполнять поиск ресурсов в нескольких базах данных?
-
02-07-2019 - |
Вопрос
Моя повседневная среда разработки - Eclipse, у которой есть замечательная функция открытия ресурсов (CTRL + SHIFT + R или Навигация> Открыть ресурс), которая позволяет пользователю искать файлы / ресурсы в нескольких проектах.
Я не могу найти подобную функцию в SQL Server Management Studio, есть ли она?
Решение
Вы можете выполнять поиск объектов в базе данных sql, используя представления информационной схемы http://msdn.microsoft.com/en-us/library/ms186778.aspx Есть один для таблиц, столбцов, функций, sprocs и т.д.
выберите * из INFORMATION_SCHEMA.routines где ROUTINE_DEFINITION имеет вид '%xp%_'
Другие советы
Я верю, что это то, что вы ищете:http://www.red-gate.com/products/sql-development/sql-search/
Это абсолютно бесплатно и совершенно потрясающе.
http://www.red-gate.com/products/sql-development/sql-search/assets/images/fullview.png
Нет.В SMS нет механизма по умолчанию, позволяющего осуществлять поиск по проектам.
Вы могли бы использовать sp_MSforeachdb следующим образом:
sp_MSforeachdb 'SELECT * FROM ?.INFORMATION_SCHEMA.routines WHERE ROUTINE_TYPE = ''PROCEDURE'''
Вышеописанное позволит выбрать все процедуры во всех базах данных и вернуть их в разных наборах результатов.Используя различные представления, вы также можете выбирать таблицы, столбцы и так далее.
Я надеюсь, что у кого-то есть лучший ответ на этот вопрос, чем у меня.В прошлом я использовал КУРСОР для поиска по всем базам данных и вставки результатов во временную таблицу.Затем я мог бы выбрать из временной таблицы и показать результаты.
У меня больше нет этого кода.Если никто не придумает лучшего ответа, я вернусь и отредактирую это с помощью какого-нибудь реального кода.Я бы подумал, что для этого должен быть автоинспектор.Кто-нибудь?