Полезные возможности dbForge для администрирования баз данных MS SQL Server

  • Tutorial

Предисловие


В данной статье будут разобраны полезные возможности dbForge, которые помогают в администрировании баз данных MS SQL Server. Также прошу заметить, что не все возможности будут разобраны.

Буду очень признателен, если в комментариях появятся альтернативные решения, а также дополнения к этой статье.

Возможности


Сначала рассмотрим синхронизацию баз данных (на панели «Синхронизация базы»):



1. Сравнение схем двух экземпляров баз данных (как на одном, так и на разных серверах):



Здесь необходимо указать источник и получателя. После этого сразу нажимаем кнопку «Сравнить»

1.1. Получаем результат сравнения:



Слева показывается, что у источника, а справа-что у получателя. Внизу показывается, что разное в базах данных. Также есть возможность галочками выбрать, что переносить к получателю. В результате сравнения вся схема делится на четыре блока:

— чего нет в получателе (ставя галочку, Вы помечаете объект на создание в получателе)
— что разное, но есть в обоих базах данных (ставя галочку, Вы помечаете изменения на перенос к получателю)
— что есть только в получателе (ставя галочку, Вы помечаете объект на удаление)
— что одинаковое

1.3. Сверху справа нажимаем кнопку «Синхронизировать»:



1.4. Здесь важно посмотреть все вкладки слева и в конце нажать кнопку «Начать». Также лучше выбрать «Открыть скрипт во внутреннем редакторе», а на вкладке «Опции» не создавать резервных копий

1.5. Созданный скрипт проанализировать и применить к базе или сразу к группе баз данных, где это необходимо

2. Сравнение данных двух экземпляров баз данных (как на одном, так и на разных серверах):



Здесь необходимо указать источник и получателя. После этого сразу нажимаем кнопку «Сравнить». Во вкладку «Соответствия» стоит заходить лишь тогда, когда у таблиц нет первичных ключей и нужно настроить соответствие, а также, чтобы не сравнивать все, а только указанные таблицы

2.1. В результате получаем, что отличается по таблицам вверху, а внизу-какие данные отличаются:



2.2. Далее нажимаем справа вверху кнопку «Синхронизировать»:



Здесь лучше выбрать «Открыть скрипт синхронизации во внутреннем редакторе», а на вкладке «Опции» убрать создания резервных копий. В конце нажать кнопку «Начать»

2.3. Созданный скрипт проанализировать и применить к базе или сразу к группе баз данных, где это необходимо

3. Теперь рассмотрим управление фрагментацией индексов (на панели «Администрирование»):



3.1. Здесь нужно указать сервер и базу данных:



3.2. После этого необходимо зайти в «Опции» и настроить режим оптимизации индексов:



3.3. Далее нажать на кнопку «ОК» и в списке индексов нажать кнопку «Проанализировать». Выделить нужные индексы и нажать кнопку «Исправить»:



3.4. В итоге опять будет выведен список тех индексов, у которых процент фрагментации и количество страниц выше, чем указано в настройках на вкладке «Опциях».

Результат


В данной статье были рассмотрены некоторые возможности dbForge для администрирования баз данных, которые позволяют сравнивать разные экземпляры баз данных по схемам и по данным. Что в свою очередь позволяет выявить проблемы с репликациями данных, а также проблемы с рассинхронизацией схем баз данных. Также всегда можно проверить и дефрагментировать нужные индексы при необходимости.

Источники:


» dbForge
Поделиться публикацией

Комментарии 18

    0
    Бесплатная (Express) версия даже рядом не стояла от SSMS (бесплатной).
      0
      Я показал возможности бесплатной версии, SSMS так не может (по крайней мере пока)
      +1
      Да, инструмент хороший, даже очень, но только полная нужная функциональность идет от Professional версии, стоимость которой $500, для большой фирмы или профи разработчика БД это может быть доступно и целесообразно, но вот для меня, как full stack индвидуального разработчика это недоступно. Конечно есть полная версия (кажется только для русской версии) под лицензией «Бесплатно для некоммерческого использования», но все же как-то не комильфо ее так использовать.
        0
        Я показал возможности бесплатной версии
          0
          Интересно, надо будет посмотреть получше, потому что Здесь написано, что «Schema Comparison Tool» и «Data Comparison Tool» в Express версии нет.
            0
            Я ломанные не качал-честно
            Просто нужно зарегистрироваться (это бесплатно) и получить установщик на почту
              0
              А как давно вы устанавливали и скачивали? Моу ошибаться, но не кажется, что было так, что Express весия 30 дней имеет полный функицоинал, а потом обрезается.
              Update: По ссылке скачать линк на dbForge Studio for SQL Server, v5.3 Enterprise. Так что есть предположение, что вы качаете не Express, а Express'ом она станет позже
                0
                я этим пользуюсь больше года и каждый раз обновляю, когда программа находит обновление
                И да-у меня не полная версия, но вот эти возможности есть. И я ими пользуюсь часто
        0
        Я ломанные не качал-честно
        Просто нужно зарегистрироваться (это бесплатно) и получить установщик на почту
          +1
          Как бы критиковать пост не хотел изначально. Но все же зачем так явно пиарить?

          Из того с чем согласен… в этом туле нормальный форматтер, Intelligence и Index Manager. Схема компаратор сейчас сливает RedGate по скорости за счет частичного дескрайба в последнем + не всегда скрипты генерятся правильно (вместо ALTER часто таблица пересоздается — это актуально для 2014 версии сиквела). Дата компаратор хороший, но скрипты по синхронизации не всегда генерит оптимальные. Из-за чего работа в этом туле для админа на большой базе приятной явно не будет. Execution Plan хороший, но проигрывает во многом бесплатному PlanExplorer… скоро это в теории должно изменится с новым релизом. Производительность при работе с гридом где результаты запроса выводятся — это печаль надолго… из-за того что данные часто курсорами выгребаются из таблицы. InMemory, секционирование, компрессия и прочие интересные плюшкки поддержаны не полностью.

          Итого получается, что для чего-то серьезного этот тул ИМХО не подойдет. Лично мне удобнее связка SSMS+SSDT+плагины.
            +1
            Я не пиарю, а просто поделился как я сравниваю расхождение баз данных по схемам и данным, а также как проверяю фрагментацию индексов. В принципе в основном только это и использую в dbForge.
            Также огромное спасибо, что указали подробно недостатки и преимущества данного продукта. На счет пересоздания таблицы-именно поэтому лучше сгенерировать код, а потом его проанализировать.
              +1
              Полностью с вами согласен.
              Имхо, стандартный и наилучший набор для разработчика баз данных:
              1. SSMS
              2. Visual Studio + SSDT + BI
              3. Plan Explorer (и то с появлением SSMS 2016 лично я уже не вижу смысла в дополнительных тулах для просмотра планов выполнения)

              Все! :) Все, что нужно разработчику или администратору УЖЕ предоставлено ему Microsoft. И это все работает прекрасно и из коробки.
                0
                А как Вы проверяете синхронизацию моделей баз данных и сами данные между двумя экземплярами? dbForge в этом хорош
                  0
                  В Visual Studio создается Database Project (при наличии SSDT) и далее:
                  image

                  плюс в Visual Studio есть неплохие плагины для работы с репозиториями GIT и ему подобных, что очень упрощает версионизацию БД.
                    0
                    Возможно это решение и хорошее. Однако, когда в течении времени на разных экземплярах изменились модели и уже данные добавились. Быстрее всего сравнить данные-это dbForge. Модели я так тоже сравниваю. Особенно это хорошо, если стоит Express версия.
                  +1
                  Поддерживаю. Однако, Plan Explorer я бы не торопился списывать со счетов, потому что он хорош как раз в мелочах. То что показывает разницу между актуальным и ожидаемым планом выполнения, что можно «проиграть» выполнения запроса и увидеть на каком этапе был затык. Такого SSMS не умеет увы.

                  Единственный минус, что он не является плагином который в SSMS можно встроить вместо стандартной закладки. Хотя знаю по некоторой инсайдерской информации, что скоро выйдет тул от ApexSQL с более крутым функционалом. Я его немного уже попробовал — шероховатости есть, но мне понравилось.
                    0
                    Согласен, но т.к. с недавних времен SSMS это отдельный продукт с своими отдельными от MS SQL обновлениями — то, я уверен, скоро нас ждет обновление и с таким фукнционалом.

                    Хотя Plan Explorer'ом я пользуюсь достаточно редко. В основном хватает встроенного в SSMS функционала
                +1
                Пытался както делать синхронизацию баз размером до 100 гигабайт на разных серверах.
                В итоге после нескольких дней мучений со сравнением сделал полную перекачку таблиц и их замену на принимающем сервере. По времени даже быстрее получилось.
                Оптимизацию индексов делаю с помощью скрипта с хабра, стоит в джобе и пересобирает индексы.
                Хотя если бы у меня была подобная пргорамма то на первых порах проще было бы.

                Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                Самое читаемое