Меню

Программы для синхронизации двух баз



Как сравнить и синхронизировать две базы данных в Microsoft SQL Server?

Приветствую Вас на сайте Info-Comp.ru! В этом материале я расскажу, как сравнить две базы данных в Microsoft SQL Server с возможностью дальнейшей их синхронизации, при этом я покажу простой способ, который не требует написания сложных инструкций на T-SQL.

Зачем сравнивать и синхронизировать базы данных?

Начну я с того, что сравнивать и синхронизировать можно не только данные, но и объекты на SQL Server, такие как процедуры, функции, индексы и так далее, т.е. можно сравнить всю схему, структуру базы данных.

На самом деле, причин, по которым может возникнуть необходимость сравнить две базы данных в Microsoft SQL Server, может быть много, вот некоторые возможные сценарии:

  • Допустим, у Вас есть несколько баз данных со схожей структурой, внесение изменений в которые четко не контролируются, например, базы данных тестового стенда и промышленного.
  • Или просто требуется сравнивать и синхронизировать данные двух баз данных, в которых отсутствует репликация, но данные в одну базу вносились, а в другую нет.
  • Еще возможна и такая ситуация, когда есть несколько филиалов, базы данных которых сопровождают местные разработчики, которые могут вносить нерегламентированные изменения (добавить/удалить столбец в таблице, создать индекс и т.д.), а когда дело доходит до того, что базы должны быть абсолютно идентичные, возникают серьезные проблемы.
  • Также возможно, что у Вас несколько абсолютно одинаковых баз данных, но при этом по каким-то неведомым причинам их производительность отличается, и для того чтобы выяснить, в чем причина, как раз и необходимо сравнить эти базы данных.
  • У Вас может быть и другая причина, которая требует сравнения данных или структуры двух баз данных, в любом случае это возможно сделать, и сейчас я Вам расскажу, как.

Сравнение и синхронизация баз данных в Microsoft SQL Server

Для того чтобы сравнить и синхронизировать базы данных в Microsoft SQL Server, необходимо написать определенные инструкции на языке T-SQL, что может вызвать проблемы, так как многие просто не знают в достаточной степени T-SQL. Даже программистам, которые способны это сделать, будет достаточно сложно это реализовать за счет трудоемкости такой задачи. А если такая задача одноразовая, то вообще тратить столько усилий на сравнение может показаться даже бессмысленным.

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

Программы для сравнения и синхронизация баз данных в Microsoft SQL Server

Инструментов для сравнения и синхронизации баз данных не так много, при этом практически все из них платные. Сегодня я расскажу о программных продуктах компании Devart, а именно о тех, которые предназначены для сравнения баз данных SQL Server. Они имеют невысокую стоимость относительно того функционала, который они предоставляют, и, что самое главное, они имеют бесплатную полнофункциональную пробную версию на 30 дней, что позволит Вам протестировать инструменты и принять решение о покупке. А если задача у Вас одноразовая, то получается, что это абсолютно бесплатное для Вас средство сравнения баз данных.

У компании Devart есть следующие программы для сравнения и синхронизация баз данных в Microsoft SQL Server:

  • dbForge Data Compare for SQL Server – это инструмент сравнения и синхронизации данных в базах данных Microsoft SQL Server;
  • dbForge Schema Compare for SQL Server – это инструмент сравнения и синхронизации схем баз данных Microsoft SQL Server;
  • dbForge Compare Bundle for SQL Server – это пакет инструментов, который содержит две вышеперечисленные программы для комплексного сравнения баз данных, при этом покупка этого пакета обойдётся дешевле.

Примечание! Если кому интересно, то у Devart есть инструменты и для других СУБД, Oracle, MySQL, PostgreSQL.

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

Сегодня в качестве примера я расскажу, как сравнить данные двух баз данных Microsoft SQL Server, использовать я буду программу dbForge Compare Bundle for SQL Server, так как она включает, как я уже отметил, и Data Compare, и Schema Compare, лично мне оба инструмента будут полезны, поэтому я буду скачивать и устанавливать именно пакет программ Compare Bundle for SQL Server. Кроме всего прочего в этот пакет включены еще и плагины для SQL Server Management Studio, что добавляет еще один плюс к этому пакету.

Исходные данные для примера

Чтобы наглядно показать, как происходит процесс сравнения данных, я создам две отдельные тестовые базы данных. Добавлю в них пару таблиц и наполню их данными, которые будут немного отличаться.

Ниже приведена полная инструкция создания двух баз данных с данными для сравнения.

Читайте также:  Linux синхронизация времени между собой

Как видите, данные в таблицах Goods отличаются двумя строками, одной строки просто нет во второй базе данных, а второе отличие — это то, что в столбце Price отличается значение (в одной базе 200, в другой 250). Кроме того, таблица Categories также отличается одной строкой.

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

Установка dbForge Compare Bundle for SQL Server

Сначала давайте скачаем и установим эту программу, хотя процесс установки Compare Bundle для SQL Server не сложный.

Шаг 1 – Скачивание дистрибутива программы

Скачать программу можно на официальном сайте, на странице загрузки, вот она — https://www.devart.com/dbforge/sql/compare-bundle/download.html

Я выбираю версию Professional, и нажимаю «Скачать».

В итоге загрузится файл размером около 70 мегабайт.

Шаг 2 – Установка Compare Bundle for SQL Server на Windows 10

Установку я буду производить на операционную систему Windows 10.

Запускаем скаченный файл, и в первом окне нажимаем кнопку «Install».

Примечание! Так как пакет инструментов dbForge Compare Bundle for SQL Server включает расширения для SSMS, среду SQL Server Management Studio во время установки необходимо закрыть.

Шаг 3 – Выбор каталога для установки

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

Шаг 4 – Выбор компонентов

Здесь оставляем по умолчанию, так как нам предлагают выбрать программы, которые необходимо установить, нам нужны все, поэтому жмем «NEXT».

Шаг 5 – Завершение установки

Установка будет завершена, когда появится соответствующее сообщение. Нажимаем «Finish».

Сравнение и синхронизация данных с помощью dbForge Data Compare for SQL Server

Для того чтобы начать сравнение данных, запускаем программу dbForge Data Compare for SQL Server, она умеет сравнивать: таблицы, представления, резервные копии БД и даже произвольные запросы.

Запустить программу можно из меню «Пуск». Также в обозревателе объектов SSMS в контекстном меню баз данных появятся новые пункты, с помощью которых можно запустить расширения для работы с этими программами в среде SQL Server Management Studio.

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

Настройка подключения к Microsoft SQL Server

Сначала давайте настроим подключение к Microsoft SQL Server, для этого в меню «Database» нажмите «New Connection…».

Затем в открывшемся окне настраиваем подключение, в моем случае все достаточно просто, я выбираю локальный сервер, и указываю проверку подлинности Windows. Нажимаем «OK» (предварительно, для проверки подключения, можете нажать Test Connection).

Кстати, программа dbForge Data Compare for SQL Server поддерживает практически все версии SQL Server, начиная с 2000. Здесь я использовал Microsoft SQL Server 2017 в редакции Express.

Сравнение баз данных

Чтобы запустить сравнение данных, нажимаем кнопку «New Data Comparison…».

Далее указываем базу данных источник (Source) и целевую базу данных (Target), которые мы будем сравнивать.

  • База данных источник (Source) — это основная база, с которой будет производиться сравнение;
  • Целевая база данных (Target) — это база, которую нужно сравнить и синхронизировать с базой данных источника, т.е. сделать такой же, как Source.

База данных источник настраивается слева, целевая база данных настраивается справа. Для настройки необходимо указать:

  • Type – что мы сравниваем, по умолчанию базы данных;
  • Connection – указываем подключение к серверу, так как базы данных могут находиться на разных серверах;
  • Database – выбираем нужную базу данных.

У меня база источник будет TestDB1, а целевая база данных будет TestDB2.

Далее мы можем указать необходимые опции для сравнения, нажимаем «Next».

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

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

В итоге на экране отобразится результат сравнения.

В верхней части будет отображен перечень таблиц и сводные данные по этим таблицам.

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

Only in Source – эти данные есть только в источнике, в целевой БД их нет. В моем случае, если помните, в таблице Goods базы TestDB1 на одну строку больше. В результате мы видим на этой вкладке одну эту строку.

Different Records – это строки, которые отличаются. У нас отличалось одно значение в столбце Price, поэтому на этой вкладке отображена эта строка, причем показано значение, как в таблице источника, так и в целевой таблице, что очень удобно.

Читайте также:  Что делать если steam не смог синхронизировать ваши файлы

Only in Target – эти данные есть только в целевой таблице, т.е. в источнике их нет. У меня там пусто, так как такой сценарий я не воспроизводил.

Identical Records – это одинаковые строки, т.е. они абсолютно идентичны в обеих базах данных. У меня такие строки есть, точнее одна строка, она есть и в TestDB1, и в TestDB2.

Формирование и выгрузка отчета

Чтобы сформировать отчет и выгрузить, например, в Excel, нажмите в меню «Comparison -> Generate Comparison Report…». Потом выберите формат, в котором необходимо сформировать отчет, также можете указать имя файла и каталог для выгрузки. На следующем шаге можете отметить опции, для старта нажимайте «Generate».

Синхронизация данных

Базы данных мы сравнили, теперь в случае такой необходимости мы можем автоматически синхронизировать эти базы данных, т.е. TestDB2 сделать идентичной TestDB1. Для этого мы можем нажать на зеленую стрелочку в верхней части программы или на панели инструментов нажать «Synchronize».

Сначала указываем способ вывода скрипта, нам доступно три способа: открыть непосредственно в SQL редакторе, сохранить в файле или сразу выполнить. Я оставлю по умолчанию, т.е. открыть в этой же программе в новой вкладке.

Затем указываем опции синхронизации, по умолчанию выбраны самые необходимые, я оставлю по умолчанию, жмем «Next».

Программа dbForge Data Compare for SQL Server проанализирует указанные опции, и в случае необходимости предупредит о проблемах.

В моем случае меня предупреждают, что внешний ключ может не восстановиться после синхронизации, а также что у меня выбрана опция «Reseed identity columns», которая означает, что будет выполнена инструкция DBCC CHECKIDENT с опцией RESEED для принудительной установки нового значения текущему значению идентификатора на целевой базе данных, что при определенных обстоятельствах может вызвать проблемы. Сразу скажу, что у меня проблем не было.

После чего программа сформирует необходимый скрипт, который синхронизирует TestDB2 с TestDB1. Чтобы его выполнить, можете нажать кнопку «Execute».

После этого две базы данных будут абсолютно одинаковыми.

На этом у меня все, надеюсь, статья была Вам полезна и интересна, пока!

Источник

Программы для синхронизации файлов и папок

Существует много ситуаций, при которых требуется синхронизировать файлы и папки между двумя компьютерами или серверами. Далеко не всегда удается сделать это вручную, ведь потребуется слишком много времени. К счастью, существует множество специализированных программ, автоматизирующих процесс.

Windows Handy Backup

Стоит начать с многофункционального приложения Windows Handy Backup, предназначенного для резервного копирования, восстановления и синхронизации операционной системы. Передавать файлы и папки между серверами или персональными компьютерами можно по локальной сети или через протокол FTP по интернету. Помимо этого, программа имеет множество дополнительных возможностей.

Создание резервной копии делится на четыре категории: полная, инкрементная, дифференциальная и смешанная. Более подробнее по каждому варианту можно узнать в русскоязычном руководстве от разработчиков. Стоит упомянуть и о таких функциях, как создание загрузочного диска, планирование задач Windows, использование командной строки и многое другое. Пробная версия работает 30 дней и содержит все возможности Handy Backup. После придется оплатить лицензию, чтобы продолжить пользоваться бэкапером.

SmartSync

Следующее приложение было создано российскими разработчиками и позволяет выполнить множество манипуляций с операционной системой, включая синхронизацию файлов и папок. Поддерживаются как накопители внутри одного устройства и локальные сети, так и сервисы FTP, SFTP, OneDrive, DropBox, Google Drive, Amazon S3, WebDAV и другие. SmartSync Pro работает с ZIP-архивами и может как создавать их, так и считывать.

Среди дополнительных функций стоит отметить продвинутый планировщик задач, возможность получать уведомления на электронную почту, создавать резервные копии и многое другое. Все действия пользователя протоколируются и доступны для просмотра в любой момент. При этом можно устанавливать приоритет определенных задач, чтобы задать очередность их выполнения. Демо-версия предполагает бесплатное использование всех функций в течение 30 дней.

Allway Sync

На очереди еще одно автоматизированное решение для оперативной синхронизации данных между устройствами. Предусмотрена функция, позволяющая синхронизировать компьютер и подключенное съемное устройство без ведома пользователя. Естественно, она включается заранее. Есть и другие автоматические опции, а чтобы исключить нежелательные действия, достаточно воспользоваться удобной системой фильтров.

Предусмотрено несколько языков интерфейса, а само приложение всегда подключено к серверам разработчика и автоматически обновляется в случае выхода новой версии. Среди поддерживаемых протоколов FTP, WebDAV и MS ActiveSync. Бесплатная версия не ограничивает пользователя в опциях, однако допускает дублирование не более 20 тысяч файлов за 30 дней.

GoodSync

GoodSync — простое приложение для синхронизации и резервного копирования файлов на всех популярных операционных системах. Поддерживаются протоколы FTP, WebDAV, OneDrive, Office 365 и Google Drive. Помимо этого, есть версия клиента как на ПК, так и на мобильные устройства (Android и iOS). Как и в предыдущем случае, эта программа тоже имеет автоматическую службу, работающую в фоновом режиме.

Рассматриваемое решение использует продвинутые технологии, позволяющие обнаруживать даже перемещенные и/или переименованные файлы, после чего синхронизировать их на других подключенных устройствах. Поддерживается перенос даже тех данных, которые открыты в настоящий момент (обычно операционная система запрещает подобные действия). Синхронизируются не только компьютеры и носители, но и смартфоны. Программа платная, имеется несколько вариантов покупки: помесячная подписка, полная оплата, а также расширенные версии для предприятий.

Читайте также:  Синхронизация в windows api

FreeFileSync

Следующая программа поддерживает работу с «тяжелыми» файлами размером более 4 ГБ. При работе FreeFileSync сравниваются не только названия файлов, но и их размеры, даты изменения и метаданные. Автоматически определяет конфликтующие данные и предлагает пользователю варианты решения. Поддерживается передача папок как через локальную сеть, так и через интернет.

В FreeFileSync несколько типов синхронизации: автоматическая, ручная, зеркальная и режим обновления, в котором приложение находит переименованные или перенесенные файлы, после чего синхронизирует их. Среди дополнительных функций стоит отметить командную строку, опцию «drag & drop», установку фильтров и критериев сравнения, а также сбор статистики работы приложения. Доступна русская локализация, при этом программа бесплатна.

PureSync

PureSync — еще одно удобное решение для синхронизации данных и создания их резервной копии. В бесплатной версии реализована работа только в локальной сети и со съемными накопителями, однако при покупке лицензии появляется поддержка FTP и других протоколов.

Синхронизация в приложении может быть автоматической (при внесении изменений в какие-либо файлы), ручной или регулярной с настраиваемым расписанием. Примечательно, что к PureSync подключается цифровая камера. Помимо этого, доступна установка исключений и дополнительных параметров сравнения. Это, пожалуй, все основные функции рассматриваемой программы, однако этого вполне достаточно для комфортного выполнения поставленной задачи.

SyncBackFree

SyncBackFree — еще один комплексный вариант для синхронизации файлов и папок на компьютере. Поддерживается работа со съемными устройствами (флэш-карты, жесткие диски и т. п.), внутри локальной сети, а также по FTP-протоколу. Работа с приложением происходит с помощью удобного планировщика, где пользователь сам устанавливает регулярность синхронизации. Можно делать ее каждый день, раз в неделю или раз в месяц.

Ручное вмешательство здесь практически не требуется. Достаточно установить все параметры при первом входе и не вспоминать о SyncBackFree, пока не понадобится изменить какие-то настройки. А сложность интерфейса упрощается наличием русского языка.

PowerFolder

PowerFolder — проект небольшой зарубежной компании с таким же названием. Приложение работает со всеми популярными облачными хранилищами, FTP-серверами и, естественно, через локальные сети. С одной стороны интерфейс программы выполнен в простом стиле, с другой — он загроможден большим количеством функций, что может затруднить работу пользователя. Особенно учитывая то, что русский язык здесь не предусмотрен.

Демо-версия PowerFolder имеет ограниченные функции и может усложнить работу. При этом пользователю предоставляется 5 ГБ облачного пространства, которое можно применить в качестве дополнительного инструмента для синхронизации. Приложение работает с любыми типами данных от обычных документов до исполняемых файлов. Для получения пробной лицензии необходимо зарегистрироваться на сайте разработчика.

Create Synchronicity

Следующую программу можно скачать бесплатно, и в ней даже не предусмотрена платная версия. Она является отличным помощником в резервном копировании и синхронизации данных на компьютере. Главное окно выглядит довольно компактно и просто, что позволяет разобраться в тонкостях использования на интуитивном уровне.

Как и во многих других приложениях подобного рода, в Create Synchronicity предусмотрен планировщик расписания сравнений файлов и папок. Можно воспользоваться функцией формирования регулярных выражений, различных фильтров и исключений, а также нескольких профилей для одновременной работы с разными данными. Русский язык не предусмотрен.

Resilio Sync

Resilio Sync использует протокол BitTorrent для синхронизации данных, который хоть и имеет спорную репутацию, все же не делает эту программу пиратской. Для домашнего использования ее можно скачать бесплатно, а для корпоративных пользователей предусмотрена бизнес-версия с расширенными возможностями, включая подключение большого количества устройств.

Интерфейс программы подразумевает каталог загруженных файлов, доступных для скачивания пользователям, подключенным к вашему профилю. Синхронизация может быть как выборочной, так и полной. Предусмотрен русский язык, имеется приветливая служба поддержки, которая готова решить любую проблему. В надежности разработчика сомневаться не приходится, ведь он сотрудничает с такими гигантами, как Microsoft, Wargaming, Kaspersky и др.

Exiland Backup

Exiland Backup — многофункциональное ПО от отечественных разработчиков с поддержкой русского, украинского, белорусского и других языков. Предусмотрено три вида лицензии: бесплатная, стандартная и профессиональная. Первая позволяет создавать выборочные и полные резервные копии, а также синхронизировать устройства. Однако в ней можно подключать только один компьютер (помимо исходного) и только по локальной сети. Реализована система уведомлений и планировщика задач.

В более продвинутых версиях за плату открывается возможность выбирать виды синхронизации и резервного копирования, подключать более одного ПК и сервера, появляется поддержка протоколов FTP и SSH, Яндекс.Дикса (WebDAV), Outlook и многое другое. Для ознакомления со всеми функциями имеется демо-версия. Если вам нужно выполнить синхронизацию в качестве разовой процедуры, это отличный вариант.

Мы рассмотрели все популярные решения для синхронизации файлов и папок между двумя и более устройствами. Большинство из них являются платными, однако почти везде предусмотрена демо-версия. В таких приложениях зачастую имеется не только искомая функция, но и резервное копирование, а также другие дополнительные опции.

Источник

Adblock
detector