- PVSM.RU - https://www.pvsm.ru -
После прочтения статьи о полезных и бесплатных плагинах для SSMS — TOP (10) бесплатных плагинов для SSMS [1], я решил поделиться своим списком бесплатных инструментов, которые могут быть очень полезны разработчикам баз данных, и не только. Инструменты ориентированны на разработку под Microsoft SQL Server. Некоторые инструменты, платные, однако содержат достаточно полнофункциональные бесплатные редакции, которых с головой хватает для небольших проектов.
Мощная среда разработки для SQL Server от компании Devart. Данный продукт включает в себя огромнейший набор инструментов, которые значительно ускоряют и облегчают выполнение повседневных задач: продвинутый IntelliSence, визуальные дизайнеры таблиц и запросов, диаграммы баз данных, T-SQL дебаггер, профилировщик запросов, сравнение данных и схем, генерация тестовых данных, работа с source control, поддержка unit-test – ов, создание бэкапов, и многое многое другое. Этакий швейцарский нож для разработчика.
Цена англоязычной версии данного инструмента почти 700$. Однако, существует express редакция, которая является бесплатной. Понятно, что функционал в ней урезан, и для полноценной работы его может быть недостаточно. Но не стоит расстраиваться, ведь существует русскоязычная версия продукта, которая, что называется — FULL-FEATURED. Она абсолютно бесплатна для некоммерческого использования. Если у вас open-source проект, если вы хотите работать с базами дома, если вы представляете учебное заведение – этот инструмент для вас!
Если при создании пользовательских функций используется параметр WITH ENCRYPTION, который в системном каталоге кодирует информацию, содержащую текст инструкции СREATE FUNCTION, таким образом предотвращая несанкционированный доступ к просмотру текста создания функции. То в дальнейшем, не имея исходников, и такого инструмента, просмотреть DLL объекта невозможно.
Бесплатный инструмент, который позволяет производить мониторинг и анализировать события SQL Server'а. Вы можете использовать полученную информацию для выявления и устранения многих проблем.
Бесплатный веб-сервис, который позволяет форматировать T-SQL код. Вы можете писать код прямо в редакторе, а затем отформатировать его, или подгрузить из внешнего файла.
Инструмент, который позволяет форматировать и проводить рефакторинг SQL кода. Имеет большое количество настроек. По этой ссылке [7] можно посмотреть на примеры форматирования.
Бесплатный инструмент (плагин для SSMS), который позволяет значительно сократить время и сберечь нервы при написании T-SQL кода. Инструмент предлагает: всевозможные подсказки по объектам, авто дополнение стейтментов, сниппеты, навигацию к объектам из кода, логгирование каждого выполненного запроса, pick листы объектов, и многое другое!
Бесплатный набор из 28 must–have скриптов от экспертов компании Redgate, который поможет автоматизировать общие задачи устранения неполадок, диагностики и обслуживания. Наиболее популярные скрипты: CPU–intensive queries, SQL Server Maintenance Solution, Top resource waits, Blocking transactions, и многие другие.
Мониторинг производительности сервера в реальном времени. Инструмент позволяет отслеживать 20 ключевых метрик производительности: операции чтения/записи, кэш, транзакции, компиляция и рекомпиляция запросов, загрузка CPU и другие. Результаты отображаются в виде графиков производительности, визуализации открытых соединений и транзакций. Бесплатная версия ограничена только одним сервером. Кстати, на сайте компании есть еще целый набор полезных бесплатных инструментов.
Набор хранимых процедур от MVP Ola Hallengren [12] для обслуживания как пользовательских, так и служебных баз данных на стороне SQL Server. Скрипты сопровождаются инструкциями и примерами. В 2010 году, этот набор скриптов был удостоен бронзовой награды Editor’s Choice Bronze Award, как самый лучший бесплатный инструмент. В 2011 получил серебро и золото от комьюнити.
sp_Blitz [13] — хранимая процедура, для мониторинга состояния SQL Server–а и проблем производительности. При выполнении процедуры с дефолтными параметрами, вы получите список проблем для указанного экземпляра SQLсервера упорядоченный по степени важности, этакий to-do лист. Наиболее критичные моменты имеют приоритет 1, и далее по возрастанию. Для использования, необходимо запустить sp_Blits.sql, который развернет необходимые процедуры в master. Далее в новом sql документе выполняем sp_Blitz.
sp_BlitzCache [14] — хранимая процедура, с кучей опций, которая показывает наиболее малоэффективные запросы, и многое другое. Например, следующий запрос:
EXEC sp_BlitzCache @top = 10, @sort_order = ‘duration’
Выдаст вам топ 10 запросов, выполнение которых занимает наибольшее количество времени. Например, если запрос выполняется 10 секунд, и вызывается 1000 раз, то общее время выполнения будет 10 000 секунд. В «табеле о рангах» такой запрос будет стоять выше, чем запрос, который выполняется 500 секунд, но однократно. Более подробно можно почитать тут: Using sp_BlitzCache Advanced Features [15]
Brent Ozar:
This is the opposite of the leaderboard – this is the Suckerboard.
sp_BlitzIndex [16] — это инструмент, который поможет вам проанализировать индексы: узнать есть ли у вас повторяющиеся индексы, или индексы, которые не используются, и многое другое.
sp_BlitzRS [17] – процедура для поиска потенциальных проблем и анализа производительности и запросов SQL Server Reporting Services. Процедура поможет вам ответить на такие вопросы, как:
Процедура быстро проверит активность на SSRS и предоставит рекомендации по улучшению ситуации. Каждый пункт содержит ссылку на сайт, с подробным описанием и способами решения проблемы, что позволит лучше разобраться в ситуации. Видео [18] о процедуре.
sp_BlitzTrace [19] – хранимая процедура, которая позволит вам легко и быстро использовать SQL Server Extended Events. Она покажет сколько процессорных ресурсов использует тот или иной запрос, какое количество логических чтений он использует, какие временные объекты созданы и так далее.
Онлайн сервис от разработчиков популярного решения для бэкапа SQLBackupAndFTP. Инструмент позволяет создавать резервные копии MS SQL вручную или по расписанию (поддерживается полный и дифференциальный бэкап и сохранение журнала транзакций.). Так же, производится мониторинг работоспособности и производительности сервера. При обнаружении проблем, отчеты отправляются администратору по электронной почте.
Все настройки производятся в браузере, что позволяет управлять инструментом с любого устройства. На сервер необходимо установить SqlBak Client, который будет производить все операции.
В общем, инструмент платный, однако есть и бесплатный план. В этом плане вы можете работать с одним сервером и двумя базами данных. Мониторинг производится с периодичностью один раз в час, чего вполне достаточно для небольших проектов.
Значительная часть бизнес логики в крупных проектах реализовывается в хранимых процедурах и удобство управления кодом — одна из важных задач. Не все доступные инструменты позволяют удобно работать с версиями, производить мониторинг изменений, синхронизировать тестовые и рабочие среды. Для решения таких задач, вам может помочь проект SQLFuse. Это файловая система пользовательского режима, основанная на FUSE [22], которая отображает объекты сервера SQL на файловую систему: схемы, таблицы, представления, хранимые процедуры, функции, колонки, триггеры и др. Кроме отображения объектов SQLFuse частично поддерживает их создание, редактирование и удаление.
Все изменения в файлах накапливаются в кэше, и по счетчику производится сброс SQL-команд в базе. Если происходит сбой транзакции, то все изменения откатываются и кэш очищается.
Замечательный бесплатный фреймворк с открытым исходным кодом для проведения T-SQL unit тестов. О том, как работать с данным инструментом очень подробно изложено в следующей статье: tSqlt — модульное тестирование в Sql Server [24]
Плагин для Visual Studio c открытым исходным кодом. Инструмент значительно расширяет среду SQL Server BI Development Studio 2005, 2008, или 2008 R2, а также SQL Server Data Tools BI 2012, 2014. Список всех доступных фич можно посмотреть в документации [26] к продукту.
Данный инструмент позволяет работать с секционированными (партиционированными) таблицами.
Надеюсь, что данная подборка окажется вам полезной, и вы будете использовать эти инструменты в своей практике. Если есть идеи по дополнению данного списка, пожалуйста, пишите в комментариях.
Спасибо за внимание!
Автор: LangovoyAndrey
Источник [28]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/sql/106264
Ссылки в тексте:
[1] TOP (10) бесплатных плагинов для SSMS: http://habrahabr.ru/post/272895/
[2] dbForge Studio for SQL Server: https://www.devart.com/ru/dbforge/sql/studio/
[3] dbForge SQL Decryptor: https://www.devart.com/dbforge/sql/sqldecryptor/
[4] dbForge Event Profiler for SQL Server: https://www.devart.com/dbforge/sql/event-profiler/
[5] SQL Formatter: http://www.sql-format.com/
[6] ApexSQL Refactor: http://www.apexsql.com/sql_tools_refactor.aspx
[7] ссылке: http://www.apexsql.com/datasheets/Formatting_screen_mockups_and_examples.pdf
[8] ApexSQL Complete: http://www.apexsql.com/sql_tools_complete.aspx
[9] SQL Scripts Manager: http://www.red-gate.com/products/dba/sql-scripts-manager/
[10] SQLCheck: https://www.idera.com/productssolutions/freetools/sqlcheck
[11] SQL Server Maintenance Solution: https://ola.hallengren.com/
[12] Ola Hallengren: https://mvp.microsoft.com/en-us/PublicProfile/5000459?fullName=Ola%20Hallengren
[13] sp_Blitz: http://www.brentozar.com/blitz/
[14] sp_BlitzCache: http://www.brentozar.com/blitzcache/
[15] Using sp_BlitzCache Advanced Features: http://www.brentozar.com/archive/2014/11/using-sp_blitzcache-advanced-features/
[16] sp_BlitzIndex: http://www.brentozar.com/blitzindex/
[17] sp_BlitzRS: http://www.brentozar.com/blitzrs/
[18] Видео: https://www.youtube.com/watch?v=meTPWKTLJ90&feature=youtu.be
[19] sp_BlitzTrace: http://www.brentozar.com/blitztrace/
[20] SqlBak: http://sqlbak.com/
[21] SQLFuse: https://github.com/AlexandrMov/SQLFuse
[22] FUSE: http://fuse.sourceforge.net/
[23] tSQLt: http://tsqlt.org/
[24] tSqlt — модульное тестирование в Sql Server: http://habrahabr.ru/post/234673/
[25] BIDS Helper: https://bidshelper.codeplex.com/
[26] документации: https://bidshelper.codeplex.com/documentation
[27] SQL Server Partition Management: http://sqlpartitionmgmt.codeplex.com/
[28] Источник: http://habrahabr.ru/post/273073/
Нажмите здесь для печати.