2008-09-29 1 views
5

Моя повседневная IDE - это Eclipse, в которой есть замечательная функция Open Resource (CTRL + SHIFT + R или Navigate> Open Resource), которая позволяет пользователю искать файлы/ресурсы для нескольких проектов.В SQL Server Management Studio можно искать активы в нескольких базах данных?

Я не могу найти аналогичную функцию в SQL Server Management Studio, есть ли она?

+0

Вы имеете в виду, как поиск имени столбца через все таблицы в БД? – Jody 2008-09-29 15:01:50

+0

Какую версию SQL Server вы используете? – 2008-09-29 15:05:24

ответ

3

Вы можете осуществлять поиск объектов в базе данных SQL с помощью информационной схемы http://msdn.microsoft.com/en-us/library/ms186778.aspx Там один для таблиц, столбцов, функций, sprocs и т.д.

выберите * из INFORMATION_SCHEMA.routines где ROUTINE_DEFINITION как «% хр% _»

0

Надеюсь, у кого-то есть лучший ответ на этот вопрос, чем я. Раньше я использовал CURSOR для поиска по всем базам данных и вставки результатов в временную таблицу. Затем я мог бы выбрать из таблицы temp и показать результаты.

У меня больше нет этого кода. Если никто не придет с лучшим ответом, я вернусь и отредактирую это с помощью какого-нибудь реального кода. Я бы подумал, что для этого будет DMV. Кто угодно?

1

Нет. В SMS не существует механизма по умолчанию, позволяющего выполнять поиск по проектам.

1

Вы можете использовать sp_MSforeachdb так:

sp_MSforeachdb 'SELECT * FROM ?.INFORMATION_SCHEMA.routines WHERE ROUTINE_TYPE = ''PROCEDURE''' 

выше отберет все процедуры перекрестите все базы данных и верните их в разные результирующие наборы. Используя разные представления, вы также можете выбирать таблицы, столбцы и т. Д.

Смежные вопросы