До того, как начать работать с SQL Server я толком то и баз данных в лицо не видел… Помню, что мне установили SQL Server Management Studio 2005 и дали задание активно «крутить педали». По прошествии пары недель, как бы так сказать, моя производительность по написанию запросов была явно в районе плинтуса…
Более опытный коллега с недоумением на меня посмотрел и посоветовал поставить пару плагинов для SSMS… после этого работать стало явно веселее.
В данном посте я хочу поделиться моим топ списком бесплатных плагинов для SSMS, которыми чаще всего пользовался.
Для начала о наболевшем… В SSMS 2005 поддержки Intellisense не было и приходилось все писать руками. Первые «признаки» Intellisense появились в SSMS 2008. С тех пор функционал практически не расширялся. Конечно, позже появилась подсветка несуществующих объектов в коде, но говорить о качественном встроенном Intellisense не приходится и поныне.
Если раньше нужно было ставить кряки на платные продукты, то сейчас это лишнее, поскольку есть ряд хороших плагинов, в которых реализована подсказка T-SQL на довольно качественном уровне. Первый это SQL Complete Express, которым раньше часто пользовался (сейчас парсер стал себя вести хуже). Второй более функциональный, но более требовательный к ресурсам системы.
dbForge SQL Complete Express
Apex SQL Complete
Если работаешь с базами данных, то удержать в голове, где используются те или иные объекты достаточно проблематично. Особенно, когда схема постоянно меняется… В SSMS нет хорошего функционала по поиску объектов, зато есть ряд хороших плагинов с которыми хочу познакомить.
RedGate SQL Search
Этим плагином я пользуюсь уже очень давно. Его главная особенность, в том, что при первом поиске он сохраняет все пользовательские объекты в локальном кеше на диске. И далее поиск идет внутри этого кеша. В таком подходе есть свои плюсы и минусы. Однозначный плюс — поиск происходит очень быстро. Минусы же проявляются когда, схема в базе постоянно меняется и чтобы сделать поиск приходиться регулярно обновлять локальный кеш и ждать…
dbForge Object Search
Появился относительно недавно. В отличии от предшественника, этот плагин не кеширует информацию, а напрямую обращается к метаданным при поиске. Соответственно мы имеем более быстрый первый поиск и не нужно думать об обновлении кеша (по поиск при этом каждый раз медленный).
Есть, конечно, мелкие отличия между ними. Например, в этом плагине есть подсветка синтаксиса, а предыдущий такой возможностью не обладает. Но общий функционал этих двух плагинов примерно равнозначен: навигация по дереву объектов, поиск по типу…
Apex SQL Search
Данный продукт, кроме описанного выше функционала, умеет еще показывать зависимости и искать данные по таблицам. Возможностей на порядок больше, но главный минус – скорость работы.
SSMSBoost
Очень хороший плагин, который расширяет возможности SSMS. Поиск объектов. Экспорт данных из Result в Excel. Восстановление сессии со всеми открытыми документами и многое другое.
SQL Code Guard
В этом плагине также есть возможность искать объекты, но не за эту функциональность он попал в мой список. С помощью него также можно искать потенциальные ошибки и проводить статистический анализ кода. Нечто похожее уже есть в Visual Studio, но там возможностей чуточку меньше.
Раньше у владельцев SQL Server Express было много вопросов о том, где взять SQL Server Profiler… Сейчас же существует, как минимум, две хорошие альтернативы. Единственные минусы в которых отсутствие возможности работы с XEvent и поддержки анализа графов с дедлоками.
Express Profiler
Первая альтернатива является весьма достойным Open Source проектом
dbForge Event Profiler
Вторая альтернатива появилась недавно и обладает большей функциональностью. Например, в SQL Server Profiler мне давно не хватало возможности сортировки в итоговом трейсе. В данном же продукте такая возможность уже реализована. Но если в целом тоже далек от удобства работы.
SQL Sentry Plan Explorer Free
В реальных задачах анализировать в SSMS план выполнения бывает очень неудобно. По моему собственному мнению, одна из лучших альтернатив для работы с Execution Plan вот этот скромный продукт. Единственный минус в нем — это не полная интеграция в SSMS
Небольшое послесловие...
Надеюсь я смог показать, что удобная работа в SSMS все таки возможна. На данный момент мой личный выбор плагинов для SSMS: RedGate SQL Search и SQL Sentry Plan Explorer.
Рассмотреть все обилие платных и бесплатных плагинов не представилось возможным. Поэтому если у читателей есть возможность поделиться своим списком бесплатных продуктов, то буду рад увидеть Ваши комментарии.
UPDATE 2019-06-03:
Недавно зарелизил свою первую опенсорс программу по обслуживанию индексов для SQL Server и Azure. Хочется ее развивать и в дальнейшем, потому буду рад фитбекам.
Ссылка на исходники программы:
www.github.com/sergeysyrovatchenko/SQLIndexManager
Обсуждение нового функционала:
www.sql.ru/forum/1312218/sql-index-manager-besplatnaya-utilita-po-obsluzhivaniu-indeksov-dlya-sql-server-i-azure