Привет, Хабр! Мы много работаем с 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
В Compare можно сравнить файлы, папки и объекты SQL Server. Поддерживается двунаправленное сравнение и дальнейшая генерация скрипта для смердживания отличающихся объектов. В интерфейсе утилита умеет подсвечивать синтаксис C#, C++, HTML, JavaScript, PostgreSQL, Python, T-SQL, Visual Basic, XML.
Ключевые особенности —интеграция в SSMS и Visual Studio, вызов объектов из различных инстансов БД для сравнения прямо из Object Explorer и поддержка работы через CLI.
2. ApexSQL Decrypt
В Decrypt из интерфейса SSMS или Visual Studio можно дешифровать процедуру, функцию, триггер или представление (view) в один клик.
В интерфейсе можно просмотреть DDL скрипт дешифрации. Поддерживается одновременное подключение к нескольким экземплярам SQL Server.
3. ApexSQL Discover
Выявление имеющихся экземпляров SQL Server, сервисов SSRS, SSAS и SSIS по диапазону IP-адресов и просмотр детальной информации.
Из интерфейса можно настроить обнаружение БД по расписанию. ApexSQL Discover может высылать нотификации с результатами обнаружения на электронную почту.
4. ApexSQL Refactor
Форматирование кода можно выполнять на основе коробочного профайла или настроить свой, чтобы код выглядел для вас наиболее привычно. Refactor может подсвечивать неиспользуемые переменные в коде, инкапсулировать блоки кода в процедуры, раскрывать «*» в полный список.
Одна из полезных функций — разделение таблиц для отделения наименее используемых столбцов. Об объектах, на которые повлияет такое разделение, Refactor сообщит.
Также в интерфейсе Refactor можно безопасно менять наименования объектов с изменением всех зависимостей.
Об этих и других функциях более подробно можно ознакомиться на странице с описанием утилиты.
5. ApexSQL Model
Утилита визуализирует объекты SQL Server и связи между ними. В этом же интерфейсе можно изменять конфигурацию объектов и генерировать соответствующий DDL-код. Все визуализации можно экспортировать в виде изображений.
Фунционал Model расширяется при помощи коммерческих продуктов Diff и Doc. При помощи первого продукта можно сравнить модель с текущим состоянием в БД или сравнить модели двух разных БД, а второй продукт нужен для документирования объектов БД.
6. ApexSQL Plan
Это инструмент для оптимизации производительности. Также при помощи ApexSQL Plan можно экспортировать планы в отчёты в форматах HTML и XML. Частый кейс использования этой утилиты — сравнение текущего плана и модифицированного по различным характеристикам.
ApexSQL Plan поддерживает выгрузку из хранилища запросов (query store) и представление характеристик этих запросов в виде дашбордов.
7. ApexSQL Complete
Ускоритель написания кода. В интерфейсе утилиты можно настроить алиасы, сниппеты и подсветку кода.
8. ApexSQL Propagate
В ApexSQL Propagate можно настроить исполнение кода на различных БД SQL Server, определить очерёдность исполнения.
Результаты исполненного кода парсятся утилитой и записываются для удобства просмотра результатов исполнения.
9. ApexSQL Search
Инструмент выполняет поиск по структуре БД. Отсюда же можно безопасно переименовывать объекты и отслеживать их связи. Результаты поиска экспортируются в HTML, CSV и Excel.
10. ApexSQL DevOps Toolkit
Под капотом утилиты работает 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