Легко найти одну хранимую процедуру в SQL Server Management Studio из 1000 в дереве?

Наша база данных вот-вот достигнет 1000 хранимых процедур. Хотя мы поступили мудро и создали хорошую схему именования хранимых процедур, поиск нужной хранимой процедуры может быть немного утомительным при прокрутке, прокрутке и прокрутке. Если я знаю точное имя искомой хранимой процедуры, было бы здорово быстро определить ее и изменить.

Например, если я хочу найти p_Blah_Blah в дереве и открыть его для изменения, есть ли команда для запуска p_Blah_Blah в новом окне для редактирования? Или, возможно, плагин, который ограничивает представление хранимых процедур тем, что вы ищете? Есть желающие написать плагин? :)


person proudgeekdad    schedule 28.05.2009    source источник


Ответы (4)


Вы можете отфильтровать дерево, щелкните правой кнопкой мыши «Хранимые процедуры», выберите «Фильтр» и «Настройки фильтра».

Как правило, здесь мы используем соглашения об именах, связанные с контекстом, например, все пользовательские sprocs называются: usp_user_*

person Lloyd    schedule 28.05.2009
comment
Они вряд ли переименуют 1000 процедур, особенно при удовлетворительном существующем соглашении. Но +1 за совет фильтра. - person Joel Coehoorn; 28.05.2009
comment
+1 для фильтра — однако в SQL Server все системные SP имеют префикс sp_. Когда вызывается любой SP, который начинается с sp_, система сначала пытается найти его в базе данных master, прежде чем искать в текущей базе данных. Вы создаете хит производительности с вашим соглашением об именах. - person Gary.Ray; 28.05.2009
comment
Это помогает и работает с нашими текущими соглашениями об именах. Спасибо! :) - person proudgeekdad; 28.05.2009
comment
это зависит от вашей версии SQL, как вы это делаете. - person D3vtr0n; 28.05.2009
comment
На самом деле я имел в виду usp_, но, похоже, опечатался, смысл заключался в том, чтобы поместить контекст в сохраненное имя процедуры. - person Lloyd; 29.05.2009
comment
наши соглашения об именах работают примерно так... gp_ = сгенерированная процедура mp_ = процедура обслуживания rp_ = процедура отчета p_ = простая старая процедура Фильтрация gp_ упрощает навигацию. - person proudgeekdad; 29.05.2009

Ознакомьтесь с инструментами Redgate здесь, у них есть бесплатный инструмент поиска, который упрощает такие вещи:

http://www.red-gate.com/products/sql-development/sql-search/

person James Records    schedule 09.11.2012

В Management Studio 2005 вы можете щелкнуть правой кнопкой мыши папку хранимых процедур (а также другие папки), чтобы установить фильтр, затем вы можете ввести все или часть имен, которые вы ищете.

Если вы просто хотите узнать подробности о параметрах (или строках для таблицы и т. д.), то в окне запроса вы можете ввести имя объекта, выделить его и нажать alt-F1, чтобы вызвать sp_Help для объекта.

person Martynnw    schedule 28.05.2009

EXEC sp_HelpText 'имя вашей процедуры'

затем приступайте к его изменению.

person Otávio Décio    schedule 28.05.2009
comment
Это отличная функция, но не на 100% то, что я искал. Однако я сохраню это в сумке-о-трюках. Спасибо! - person proudgeekdad; 28.05.2009
comment
На самом деле я искал, как именно составить список хранимых процедур, и в итоге остановился на этом вопросе ... так что голосуйте, хотя это не относится конкретно к исходному вопросу. - person Jedidja; 12.07.2010