Обозреватель шаблонов — малоизвестный инструмент в среде SQL Server Management Studio (SSMS), с помощью которого можно сохранять пользовательские сценарии, параметризовать их для повторного применения и обращаться к ним в любое время, не покидая среду SSMS.
Где мои сценарии?
Если вы работали с Microsoft SQL Server достаточно длительное время, то, скорее всего, ваша коллекция регулярно используемых сценариев разбросана по многим папкам, миниатюрным накопителям, «облачным» приложениям синхронизации папок и дискетам (кое-кто еще их помнит). Мы сохраняем повторно используемые сценарии, чтобы сэкономить время. Но каким образом необходимость запоминать, где находится сценарий для определения использования индекса в таблице, влияет на процесс экономии энергии? Должен существовать лучший способ упорядоченного хранения сценариев для удобного доступа к ним. И разработчики
Microsoft уже позаботились об этом. Итак, представляем вашему вниманию обозреватель шаблонов.
К обозревателю шаблонов можно перейти из главного меню SSMS через подменю View («Вид») или нажав комбинацию клавиш Ctrl+Alt+T. Это закрепляемое окно, позволяющее применять поставляемые Microsoft сценарии (шаблоны), которые могут содержать или не содержать функцию параметризации для повторного использования. Синтаксис параметризации совсем простой. Параметр шаблона выделяется начальным символом «<» слева и закрывающим символом «>». Параметр шаблона состоит из трех частей:
- имя параметра;
- описание параметра (необязательно);
- значение по умолчанию (необязательно).
Рассмотрим пример непосредственно из SSMS 2012 (см. экран 1). Это содержимое «Обозревателя шаблонов» на моем ноутбуке. Два элемента сверху не похожи на поставляемые Microsoft. Это потому, что они — мое собственное произведение, но подробнее об этом я расскажу чуть позже.
Экран 1. Обозреватель шаблонов |
В результате двойного щелчка на шаблоне Bring Database Online он открывается в новом окне запроса с использованием текущего контекста безопасности в среде SSMS. Обязательно проверьте контекст, прежде чем продолжить! На данном этапе вид экрана должен быть такой, как показано на экране 2.
Экран 2. Открытие шаблона |
Это скромное содержимое конкретного шаблона, здесь вы можете увидеть параметр шаблона для имени базы данных и три его части (имя, описание — в данном случае ожидаемый тип данных — и значение по умолчанию). Теперь начинается самое интересное. Выбирая Specify Values for Template Parameters («Задание значений для параметров шаблона») из вложенного меню Query («Запрос») в меню SSMS или нажимая комбинацию клавиш Ctrl+Shift+M, вы получаете модальное окно для ввода значения параметра Database_Name (см. экран 3).
Экран 3. Окно для ввода значения |
Как мы видим, в этом окне заранее введено значение по умолчанию. Впоследствии его можно изменить на имя базы данных, которую предстоит использовать, нажать клавишу OK, и сценарий будет преобразован путем удаления синтаксиса параметра и замены всего, что заключено между символами <>, на имя базы данных, которую предполагается использовать при выполнении сценария.
Настройка
Выше я упоминал о двух элементах в верхней части окна обозревателя шаблонов. Это мои собственные репозитории сценариев внутри обозревателя шаблонов. В отсутствие возможности добавлять собственные шаблоны данная функция была бы весьма ограниченной. Процесс настройки прост. Достаточно щелкнуть правой кнопкой мыши на папке верхнего уровня, чтобы получить возможность добавлять вложенные папки или отдельные шаблоны. Эти шаблоны и папки создаются в структуре папок с вашим именем пользователя внутри C:\users\login\AppData\Roaming\Microsoft\SQL Server Management Studio\version\Templates\Sql. К сожалению, пока это значение не поддается настройке. Обратите внимание, что структура папок несколько отличается для пользователей SSMS 2008 R2 и предыдущих версий.
Выбор соглашения об именовании объясняется существующей в «Обозревателе шаблонов» сортировкой в алфавитном порядке. Я хотел, чтобы персональные шаблоны всегда отображались в верхней части окна. Однако следует отметить одну особенность настройки и сортировки: любые изменения имен шаблонов и сортировки вступают в силу только после перезапуска SSMS. Поэтому, если создать шаблон, а затем переименовать его, он не будет пересортирован в течение текущего сеанса.