После прочтения статьи о полезных и бесплатных плагинах для SSMS — TOP (10) бесплатных плагинов для SSMS, я решил поделиться своим списком бесплатных инструментов, которые могут быть очень полезны разработчикам баз данных, и не только. Инструменты ориентированны на разработку под Microsoft SQL Server. Некоторые инструменты, платные, однако содержат достаточно полнофункциональные бесплатные редакции, которых с головой хватает для небольших проектов.
dbForge Studio for SQL Server
Мощная среда разработки для SQL Server от компании Devart. Данный продукт включает в себя огромнейший набор инструментов, которые значительно ускоряют и облегчают выполнение повседневных задач: продвинутый IntelliSence, визуальные дизайнеры таблиц и запросов, диаграммы баз данных, T-SQL дебаггер, профилировщик запросов, сравнение данных и схем, генерация тестовых данных, работа с source control, поддержка unit-test – ов, создание бэкапов, и многое многое другое. Этакий швейцарский нож для разработчика.
Цена англоязычной версии данного инструмента почти 700$. Однако, существует express редакция, которая является бесплатной. Понятно, что функционал в ней урезан, и для полноценной работы его может быть недостаточно. Но не стоит расстраиваться, ведь существует русскоязычная версия продукта, которая, что называется — FULL-FEATURED. Она абсолютно бесплатна для некоммерческого использования. Если у вас open-source проект, если вы хотите работать с базами дома, если вы представляете учебное заведение – этот инструмент для вас!
dbForge SQL Decryptor
Если при создании пользовательских функций используется параметр WITH ENCRYPTION, который в системном каталоге кодирует информацию, содержащую текст инструкции СREATE FUNCTION, таким образом предотвращая несанкционированный доступ к просмотру текста создания функции. То в дальнейшем, не имея исходников, и такого инструмента, просмотреть DLL объекта невозможно.
dbForge Event Profiler for SQL Server
Бесплатный инструмент, который позволяет производить мониторинг и анализировать события SQL Server'а. Вы можете использовать полученную информацию для выявления и устранения многих проблем.
SQL Formatter
Бесплатный веб-сервис, который позволяет форматировать T-SQL код. Вы можете писать код прямо в редакторе, а затем отформатировать его, или подгрузить из внешнего файла.
ApexSQL Refactor
Инструмент, который позволяет форматировать и проводить рефакторинг SQL кода. Имеет большое количество настроек. По этой ссылке можно посмотреть на примеры форматирования.
ApexSQL Complete
Бесплатный инструмент (плагин для SSMS), который позволяет значительно сократить время и сберечь нервы при написании T-SQL кода. Инструмент предлагает: всевозможные подсказки по объектам, авто дополнение стейтментов, сниппеты, навигацию к объектам из кода, логгирование каждого выполненного запроса, pick листы объектов, и многое другое!
SQL Scripts Manager
Бесплатный набор из 28 must–have скриптов от экспертов компании Redgate, который поможет автоматизировать общие задачи устранения неполадок, диагностики и обслуживания. Наиболее популярные скрипты: CPU–intensive queries, SQL Server Maintenance Solution, Top resource waits, Blocking transactions, и многие другие.
SQLCheck
Мониторинг производительности сервера в реальном времени. Инструмент позволяет отслеживать 20 ключевых метрик производительности: операции чтения/записи, кэш, транзакции, компиляция и рекомпиляция запросов, загрузка CPU и другие. Результаты отображаются в виде графиков производительности, визуализации открытых соединений и транзакций. Бесплатная версия ограничена только одним сервером. Кстати, на сайте компании есть еще целый набор полезных бесплатных инструментов.
SQL Server Maintenance Solution
Набор хранимых процедур от MVP Ola Hallengren для обслуживания как пользовательских, так и служебных баз данных на стороне SQL Server. Скрипты сопровождаются инструкциями и примерами. В 2010 году, этот набор скриптов был удостоен бронзовой награды Editor’s Choice Bronze Award, как самый лучший бесплатный инструмент. В 2011 получил серебро и золото от комьюнити.
Набор хранимых процедур от Brent Ozar Unlimited
sp_Blitz — хранимая процедура, для мониторинга состояния SQL Server–а и проблем производительности. При выполнении процедуры с дефолтными параметрами, вы получите список проблем для указанного экземпляра SQLсервера упорядоченный по степени важности, этакий to-do лист. Наиболее критичные моменты имеют приоритет 1, и далее по возрастанию. Для использования, необходимо запустить sp_Blits.sql, который развернет необходимые процедуры в master. Далее в новом sql документе выполняем sp_Blitz.
sp_BlitzCache — хранимая процедура, с кучей опций, которая показывает наиболее малоэффективные запросы, и многое другое. Например, следующий запрос:
EXEC sp_BlitzCache @top = 10, @sort_order = ‘duration’
Выдаст вам топ 10 запросов, выполнение которых занимает наибольшее количество времени. Например, если запрос выполняется 10 секунд, и вызывается 1000 раз, то общее время выполнения будет 10 000 секунд. В «табеле о рангах» такой запрос будет стоять выше, чем запрос, который выполняется 500 секунд, но однократно. Более подробно можно почитать тут: Using sp_BlitzCache Advanced Features
Brent Ozar:
This is the opposite of the leaderboard – this is the Suckerboard.
sp_BlitzIndex — это инструмент, который поможет вам проанализировать индексы: узнать есть ли у вас повторяющиеся индексы, или индексы, которые не используются, и многое другое.
sp_BlitzRS – процедура для поиска потенциальных проблем и анализа производительности и запросов SQL Server Reporting Services. Процедура поможет вам ответить на такие вопросы, как:
- Какие подписки были у сотрудника (например) при увольнении?
- С чем связана медленная работа сервера? Проблема в медленных запросах или запрос возвращает много данных?
- Что лучше использовать для отчёта: кэширование или снэпшот?
- Используют ли отчеты «опасные» настройки?
Процедура быстро проверит активность на SSRS и предоставит рекомендации по улучшению ситуации. Каждый пункт содержит ссылку на сайт, с подробным описанием и способами решения проблемы, что позволит лучше разобраться в ситуации. Видео о процедуре.
sp_BlitzTrace – хранимая процедура, которая позволит вам легко и быстро использовать SQL Server Extended Events. Она покажет сколько процессорных ресурсов использует тот или иной запрос, какое количество логических чтений он использует, какие временные объекты созданы и так далее.
SqlBak
Онлайн сервис от разработчиков популярного решения для бэкапа SQLBackupAndFTP. Инструмент позволяет создавать резервные копии MS SQL вручную или по расписанию (поддерживается полный и дифференциальный бэкап и сохранение журнала транзакций.). Так же, производится мониторинг работоспособности и производительности сервера. При обнаружении проблем, отчеты отправляются администратору по электронной почте.
Все настройки производятся в браузере, что позволяет управлять инструментом с любого устройства. На сервер необходимо установить SqlBak Client, который будет производить все операции.
В общем, инструмент платный, однако есть и бесплатный план. В этом плане вы можете работать с одним сервером и двумя базами данных. Мониторинг производится с периодичностью один раз в час, чего вполне достаточно для небольших проектов.
SQLFuse
Значительная часть бизнес логики в крупных проектах реализовывается в хранимых процедурах и удобство управления кодом — одна из важных задач. Не все доступные инструменты позволяют удобно работать с версиями, производить мониторинг изменений, синхронизировать тестовые и рабочие среды. Для решения таких задач, вам может помочь проект SQLFuse. Это файловая система пользовательского режима, основанная на FUSE, которая отображает объекты сервера SQL на файловую систему: схемы, таблицы, представления, хранимые процедуры, функции, колонки, триггеры и др. Кроме отображения объектов SQLFuse частично поддерживает их создание, редактирование и удаление.
Все изменения в файлах накапливаются в кэше, и по счетчику производится сброс SQL-команд в базе. Если происходит сбой транзакции, то все изменения откатываются и кэш очищается.
tSQLt
Замечательный бесплатный фреймворк с открытым исходным кодом для проведения T-SQL unit тестов. О том, как работать с данным инструментом очень подробно изложено в следующей статье: tSqlt — модульное тестирование в Sql Server
BIDS Helper
Плагин для Visual Studio c открытым исходным кодом. Инструмент значительно расширяет среду SQL Server BI Development Studio 2005, 2008, или 2008 R2, а также SQL Server Data Tools BI 2012, 2014. Список всех доступных фич можно посмотреть в документации к продукту.
SQL Server Partition Management
Данный инструмент позволяет работать с секционированными (партиционированными) таблицами.
Надеюсь, что данная подборка окажется вам полезной, и вы будете использовать эти инструменты в своей практике. Если есть идеи по дополнению данного списка, пожалуйста, пишите в комментариях.
Спасибо за внимание!
Автор: LangovoyAndrey