![](https://habrastorage.org/webt/-6/gg/hv/-6gghv7tsqwnml7j8ufi21pvxr0.png)
Привет, Хабр! Мы много работаем с Quest Software, и в этом году они приобрели ApexSQL — производителя решений для управления и мониторинга баз данных Microsoft SQL Server. В России об этих ребятах, как нам кажется, знают мало. На главной своего сайта они пишут «Killer tools for SQL Server». Звучит угрожающе. У нас появилась идея представить этого вендора и разобраться что же такого убийственного есть в их решениях. Начнём с хайповой части — бесплатных продуктов. После них будет краткая часть о коммерческих продуктах. Надеюсь, эти программы окажутся вам полезны. Прошу под кат.
В этой статье:
- ApexSQL Compare — инструмент для сравнения SQL-кода, файлов и папок. Работает также в качестве расширения для SSMS или Visual Studio.
- ApexSQL Decrypt — потоковая дешифрация объектов в SQL Server: процедур, функций, триггеров и представление (view). Работает также в качестве расширения для SSMS или Visual Studio.
- ApexSQL Discover — обнаружение экземпляров SQL Server и сопутствующих сервисов SSRS, SSAS и SSIS.
- ApexSQL Refactor — инструмент для рефакторинга и форматирования SQL-кода. Работает в качестве расширения для SSMS или Visual Studio.
- ApexSQL Model — создание диаграмм объектов SQL Server. Работает также в качестве расширения для SSMS или Visual Studio.
- ApexSQL Plan — инструмент для оптимизации Execution plans. Работает также в качестве расширения для SSMS.
- ApexSQL Complete — инструмент автоматически завершает операторы SQL и позволяет добавлять собственные сниппеты (сочетания клавиш для автозаполнения). Работает также в качестве расширения для SSMS или Visual Studio.
- ApexSQL Propagate — инструмент для исполнения SQL-кода на нескольких БД за один раз.
- ApexSQL Search — утилита для поиска данных и объектов в недрах SQL Server. Работает в качестве расширения для SSMS или Visual Studio.
- ApexSQL DevOps Toolkit — инструмент для создания CI/CD пайплайнов. Единственный из всех перечисленных тут продуктов имеет веб-консоль.
Каждый продукт — это часть функционала платных решений ApexSQL. В конце статьи кратко расскажем что у них есть из коммерческих решений.
1. ApexSQL Compare
![image](https://habrastorage.org/getpro/habr/post_images/f4a/ba1/442/f4aba1442f7ea7c432062df2caf32aca.png)
В Compare можно сравнить файлы, папки и объекты SQL Server. Поддерживается двунаправленное сравнение и дальнейшая генерация скрипта для смердживания отличающихся объектов. В интерфейсе утилита умеет подсвечивать синтаксис C#, C++, HTML, JavaScript, PostgreSQL, Python, T-SQL, Visual Basic, XML.
![image](https://habrastorage.org/getpro/habr/post_images/268/3d3/559/2683d35593b5baf06539610fddde4721.png)
Ключевые особенности —интеграция в SSMS и Visual Studio, вызов объектов из различных инстансов БД для сравнения прямо из Object Explorer и поддержка работы через CLI.
2. ApexSQL Decrypt
![image](https://habrastorage.org/getpro/habr/post_images/fd5/40b/5d6/fd540b5d617c55d65fbb333ee76a2495.png)
В Decrypt из интерфейса SSMS или Visual Studio можно дешифровать процедуру, функцию, триггер или представление (view) в один клик.
![](https://habrastorage.org/webt/su/92/mh/su92mhclcpjklhjem89jmgfsb-q.png)
В интерфейсе можно просмотреть DDL скрипт дешифрации. Поддерживается одновременное подключение к нескольким экземплярам SQL Server.
3. ApexSQL Discover
![image](https://habrastorage.org/getpro/habr/post_images/902/575/7bb/9025757bb179479a85fc54aa62f9928b.png)
Выявление имеющихся экземпляров SQL Server, сервисов SSRS, SSAS и SSIS по диапазону IP-адресов и просмотр детальной информации.
![image](https://habrastorage.org/getpro/habr/post_images/cf0/fd0/253/cf0fd0253fc7edc8fc53cbf4c213a0a8.png)
Из интерфейса можно настроить обнаружение БД по расписанию. ApexSQL Discover может высылать нотификации с результатами обнаружения на электронную почту.
4. ApexSQL Refactor
![image](https://habrastorage.org/getpro/habr/post_images/167/744/fd2/167744fd2b1d968150c3a442ccca2fd3.png)
Форматирование кода можно выполнять на основе коробочного профайла или настроить свой, чтобы код выглядел для вас наиболее привычно. Refactor может подсвечивать неиспользуемые переменные в коде, инкапсулировать блоки кода в процедуры, раскрывать «*» в полный список.
![image](https://habrastorage.org/getpro/habr/post_images/bc4/eee/5a9/bc4eee5a9fbf68c388295304a8951d51.png)
Одна из полезных функций — разделение таблиц для отделения наименее используемых столбцов. Об объектах, на которые повлияет такое разделение, Refactor сообщит.
![image](https://habrastorage.org/getpro/habr/post_images/bbb/fb0/920/bbbfb092092086c38bda3fc82b72c20c.png)
Также в интерфейсе Refactor можно безопасно менять наименования объектов с изменением всех зависимостей.
![image](https://habrastorage.org/getpro/habr/post_images/21f/890/16d/21f89016ddc89157bb917c989bdb27f8.png)
Об этих и других функциях более подробно можно ознакомиться на странице с описанием утилиты.
5. ApexSQL Model
![image](https://habrastorage.org/getpro/habr/post_images/8a1/0b2/d86/8a10b2d862a982484287ad30ef8b02d1.png)
Утилита визуализирует объекты SQL Server и связи между ними. В этом же интерфейсе можно изменять конфигурацию объектов и генерировать соответствующий DDL-код. Все визуализации можно экспортировать в виде изображений.
Фунционал Model расширяется при помощи коммерческих продуктов Diff и Doc. При помощи первого продукта можно сравнить модель с текущим состоянием в БД или сравнить модели двух разных БД, а второй продукт нужен для документирования объектов БД.
6. ApexSQL Plan
![image](https://habrastorage.org/getpro/habr/post_images/235/4f9/8dd/2354f98dd105b5684a720d4c0224ed9a.png)
Это инструмент для оптимизации производительности. Также при помощи ApexSQL Plan можно экспортировать планы в отчёты в форматах HTML и XML. Частый кейс использования этой утилиты — сравнение текущего плана и модифицированного по различным характеристикам.
![](https://habrastorage.org/webt/ko/f7/4h/kof74hmg4txrp50ubea3cdev4hg.png)
ApexSQL Plan поддерживает выгрузку из хранилища запросов (query store) и представление характеристик этих запросов в виде дашбордов.
7. ApexSQL Complete
![image](https://habrastorage.org/getpro/habr/post_images/029/0f0/5d2/0290f05d2cc21a155ef265cc2c0bf1a8.png)
Ускоритель написания кода. В интерфейсе утилиты можно настроить алиасы, сниппеты и подсветку кода.
8. ApexSQL Propagate
![image](https://habrastorage.org/getpro/habr/post_images/6b8/298/edd/6b8298edd28e879e33024a2c3e644a82.png)
В ApexSQL Propagate можно настроить исполнение кода на различных БД SQL Server, определить очерёдность исполнения.
![image](https://habrastorage.org/getpro/habr/post_images/1a5/e2a/138/1a5e2a138ec0845315f3c5f0f6a53d44.png)
Результаты исполненного кода парсятся утилитой и записываются для удобства просмотра результатов исполнения.
9. ApexSQL Search
![image](https://habrastorage.org/getpro/habr/post_images/cce/108/bb2/cce108bb25991a59ffa74fecd7a271ae.png)
Инструмент выполняет поиск по структуре БД. Отсюда же можно безопасно переименовывать объекты и отслеживать их связи. Результаты поиска экспортируются в HTML, CSV и Excel.
10. ApexSQL DevOps Toolkit
![image](https://habrastorage.org/getpro/habr/post_images/74e/228/58c/74e22858ce15c81c1786b8f7ed5a406c.png)
Под капотом утилиты работает PowerShell код. Build, Review, Document и Deploy доступны для разработчика из интерфейса ApexSQL DevOps Toolkit. Здесь же можно сгенерировать синтетические данные, автоматически выполнить юнит-тесты, задокументировать изменения. Может подключаться в виде плагина к TeamCity, Jenkins и другим.
В базе знаний ApexSQL есть интересные статьи по DevOps в среде баз данных.
Теперь, когда мы разобрались с бесплатными решениями, вкратце приведём список платных решений, которые, конечно, обладают более мощным функционалом.
- ApexSQL Audit — инструмент для аудита БД на соответствие требованиям безопасности, в т.ч. поддерживаются HIPAA, GDPR, PCI. Поддерживаются отчёты и просмотр истории изменений.
Посмотреть скриншот и видео
- ApexSQL Backup — автоматизация создания инкрементального бэкапа, лога транзакций и полного бэкапа. Поддерживается восстановление на определённый момент во времени, можно создавать шаблоны для создания бэкапа и гибко настраивать планы бэкапов.
Посмотреть скриншот и видео
- ApexSQL Defrag — утилита для мониторинга и управления дефрагментацией.
Посмотреть скриншот и видео
- ApexSQL Job — инструмент для управления заданиями, включая историю, расписание и уведомления.
Посмотреть скриншот
- ApexSQL Log — инструмент для чтения лога транзакция для аудита, репликации или отката изменений.
Посмотреть скриншот и видео
- ApexSQL Recover — восстановление повреждённых, удалённых или потерянных данных.
Посмотреть скриншот и видео
- ApexSQL Analyze — инструмент для анализа связей в БД.
Посмотреть скриншот и видео
- ApexSQL Build — инструмент для автоматизации создания БД. Может подключаться к системам контроля версий.
Посмотреть скриншот и видео
- ApexSQL Enforce — улучшатель SQL-кода.
Посмотреть скриншот и видео
- ApexSQL Generate — инструмент для генерации миллионов строк данных за один клик. Поддерживается экспорт тестовых данных в SQL, XML, CSV, JSON и Excel.
Посмотреть скриншот
- ApexSQL Mask — инструмент для поиска, классификации и маскирования чувствительных данных в БД. Имеет 220+ предопределённых масок и 55+ встроенных фильтров для классификации.
Посмотреть скриншот
- ApexSQL Script — инструмент для создания DDL и DML скриптов и исполняемых инсталляционных пакетов.
Посмотреть скриншот и видео
- ApexSQL Source Control — инструмент для интеграции систем контроля версий с SSMS.
Посмотреть скриншот и видео
- ApexSQL Trigger — аудит данных в БД и трансляция в DML.
Посмотреть скриншот и видео
- ApexSQL Unit Test — инструмент для выполнения юнит-тестов напрямую из консоли SSMS.
Посмотреть скриншот и видео
Напишите в комментариях какими инструментами для аудита и управления БД уже пользуетесь и какие задачи ими решаете.
Чтобы задать вопросы по продуктам ApexSQL, получить на тестирование коммерческие продукты или уточнить цену, оставьте запрос в форме обратной связи у нас на сайте.
Если решаете комплексную задачу по мониторингу и управлению, почитайте наши предыдущие статьи на Хабре:
Мониторинг различных баз данных из единого интерфейса.
Быстрая локализация проблем производительности в SQL Server.
Аудит изменений в инфраструктуре Microsoft (в т.ч. SQL Server).
А ещё можно подписаться на нашу страницу на Фейсбуке.
Комментарии (4)
qwertEHOK
22.10.2019 20:27Поставил ApexSQL Complete. Пользовался весь день, сейчас удалил.
Минусы
-После каждого запуска идет какая то генерация (генерация идет после подключения к каждому серверу и переключения между базами)
-Стандартный autocomplete не отключается, нужно самому
-Подсказывает только таблицы и функции, связок (как это делает dbForge) нет
-Страницы стали ощутимо медленнее открываются
-Вешает студию намертво (за день раза 4)
-После прибивания процесса открывает все файлы заново, НО это не те файлы что я сохранял, это их копии из папки бэкапа. Соответственно если не посмотреть и их сохранить после работы, то потом надо искать.
-Цветовое оформление ужасно. Цвета меняются у заголовков вкладки и футере.
Плюсы
-Информативнее чем стандартная подсказка
usharik
Очень достойная подборка! Даже жаль, что давно уже с MS SQL не работаю. И где все это было лет пять назад?)))
Приходилось самому выкручиваться github.com/usharik/MsSqlDependencyBrowser