Доброго времени суток, уважаемые читатели!

Данный пост будет интересен тем, кто использует SQL Server Management Studio (SSMS) при работе c SQL Server.
Речь пойдет о расширении SQL Refactor Studio для SSMS.
Данное расширение позволяет значительно сэкономить время на ежедневных рутинных операциях.

Итак, приступим к рассмотрению наиболее востребованных на мой взгляд функций:

  1. Сумма выделенных ячеек в гриде. Киллер-фича для тех, кто постоянно работает с цифрами. Раньше мне приходилось копировать содержимое грида в Excel и уже работать с ним. Сейчас мне достаточно выделить нужные ячейки в гриде, и студия найдет их SUM, MIN, MAX и AVG.
    image
  2. Получение скрипта объекта. Находясь в редакторе запросов поставьте курсор на имя объекта и нажмите F2 для получения скрипта в новом окне (или Ctrl+F2 для получения скрипта в том же окне). Раньше для этого приходилось искать нужный объект в ObjectExplorer и формировать его скрипт.
  3. Генерация SELECT на основе данных в буфере обмена. Допустим Вам нужно по-быстрому загрузить табличку из Excel (Access) в базу. Разумеется DTS, bcp, OPENROWSET и ручное формирование скрипта в Excel никто не отменял. Но нам же надо по-быстрее и по-проще ;). Поэтому копируем данные из источника в буфер обмена и по ПКМ в редакторе запросов выбираем «Generate SELECT..». Далее сформированный запрос дописываем до SELECT INTO или INSERT INTO.
    image
  4. Поиск зависимостей. Хорошая альтернатива стандартному Dependency Viewer.
    Из плюсов:
    • Находит зависимости, которые не находит родной вьювер
    • Поиск по нескольким базам данным
    • Возможность просмотра скриптов объектов
    • Множество всяких опций и функций

    image
  5. Поиск текста. Допустим Вы создаете процедуры/представления в которых оставляете TODO-заметки и потом хотите их все найти. В ObjectExplorer выбираем базу данных, по ПКМ выбираем пункт «SQL Refactor Studio -> Find code», вбиваем текст который хотим найти и начинаем поиск.
    Из плюсов:
    • Поддерживает регулярные выражения
    • Поиск по нескольким базам данным
    • Возможность поиска в файлах на диске
    • Множество всяких опций и функций

    image
  6. Переименование объектов. Позволяет безопасно переименовать объект базы данных с учетом всех зависимостей.
  7. Поиск данных. Позволяет найти данные среди таблиц.
    image
  8. Различные рефакторинги. Add CRUD Methods, Introduce Trigger for History, Add Lookup Table, Move Columns
  9. Генерация скрипта INSERT на основании данных таблицы.


Надеюсь, обзор был полезен.
При обнаружении еще каких-нибудь полезных функций постараюсь дополнить статью.
Спасибо за внимание.

Комментарии (15)


  1. IhorL
    14.05.2015 02:43
    +3

    Врядли найдется плагин ценнее чем «Poor Man's T-SQL Formatter for SSMS Addin» — форматирование SQL прямо в окне Query. Низкий поклон автору за спасенные нервы и часы за все эти года.


    1. Godless
      14.05.2015 08:21

      Ваш комментарий был бы не полным без этого. =)


    1. ANTPro
      14.05.2015 10:08

      У него же мало настроек форматирования. Разве dbForge SQL Complete не лучше? Да и еще есть часть функций перечисленных в статье — причем все бесплатно :)


      1. vorobyev_evgeney Автор
        14.05.2015 10:20

        Про форматирование я в статье вообще не упоминал, поскольку оно оставляет желать лучшего.


    1. minamoto
      14.05.2015 14:28

      Рекомендую перейти на SSMSBoost: там форматирование еще и удобно настраивается. Ну и еще куча функций.

      Кстати, эта статья меня подтолкнула к мысли написать такой же краткий мануал по использованию SSMSBoost, если дойдут руки и будет свободное время — обязательно займусь.

      Вкратце, среди киллер-фич для меня в этом аддоне содержится:

      • Уже упомянутое форматирование
      • Разделение кода на регионы (аналог Visual Studio)
      • Экспортирование грида с использованием настраиваемых преобразований (в виде insert into… — особенно круто)
      • Кнопка с комментированием через /**/


      Ну и получение скрипта объекта по F2 там тоже есть :)


  1. iklementiev
    14.05.2015 10:20

    SQL Refactor Studio не фришное или я что-то путаю?


    1. vorobyev_evgeney Автор
      14.05.2015 10:26

      Часть функций бесплатные. Часть становится неактивными после 90 дней пользования. Пока на сайте не нашел информации о том, какие являются бесплатными. Я нашел в данном плагине несколько косяков, написал разработчикам, на что они подарили мне «вечный» триал )))
      Так что имейте ввиду ;)


  1. MikeSam
    14.05.2015 14:12

    Существует плагин для SSMS, чтобы делать сортировку в гриде щелчком, например, на названии поля?


    1. vorobyev_evgeney Автор
      14.05.2015 15:04

      Пока такого не встречал. Данный плагин позволяет просмотреть данные таблиц/представлений. В редакторе запросов нужно щелкнуть на таблицу и нажать Ctrl+4 (или выбрать соответствующий пункт в контекстном меню). Откроется новое окно в котором будем грид с результатом SELECT TOP 1000 * FROM [Object]. Вот этот грид как раз поддерживает сортировку и фильтрацию записей.


  1. vlivyur
    14.05.2015 14:55

    А я привык к Sybase Central и там была очень нужная для меня фича — история выполнения запросов. Так что без SSMSToolsPack уже не жизнь. Помимо истории там много ещё всяких плюшек: раскраска подключений, сниппеты (так и не привык и больше мешаются, чем помогают), форматирование, генерация процедур CRUD, построить запрос с insert'ом всех данных таблицы.


    1. minamoto
      14.05.2015 14:59

      Чуть выше ответил — история запросов есть в SSMSBoost, посмотрите его.


  1. vorobyev_evgeney Автор
    14.05.2015 16:05

    Добавил п. 9 Генерация скрипта INSERT на основании данных таблицы.


  1. xRay
    15.05.2015 01:22

    Добавлю в клопилку:
    SSMS Tools Pack http://www.ssmstoolspack.com
    Red Gate SQL Search http://www.red-gate.com/products/sql-development/sql-search/


  1. JeStoneDev
    15.05.2015 04:57

    Поиск зависимостей… по нескольким базам данных

    Умеет ли SQL Refactor Studio искать зависимости по Linked-серверам?


    1. vorobyev_evgeney Автор
      15.05.2015 14:58

      Умеет.