Database Compare For Windows
In a nutshell: Analyze two SQL Server databases to view which items are missing from one side or the other, extract scripts and compare them, with this useful application #Compare databases #Extract script #Script comparison #Compare #Database #Script #SQL Server
Softpedia Review
specifications
changelog
Download Now
What’s new in Database Compare 1.0:
- You can now compare Stored Procedures, Views, Tables and Functions.
- New tool allows you to download the scripts ("grabber").
- Fixed some minor details.
When setting up a project that relies on an SQL Server database, is it very important to ensure that the same database schema is being used for development and production. Finding differences the old-fashioned way is a time-consuming task, but you can take advantage of certain software utilities to speed things along.
Database Compare is a useful application that allows you to perform a comparison of two SQL Server databases. It lists any content differences that are encountered, and it is also capable of extracting and analyzing scripts.
Easy-to-use database comparison utility
Naturally, those who need to perform an in-depth comparison may wish to try a more complex application, but this tool makes it very simple to spot differences between the contents of two databases.
It features an intuitive user interface, so even novices should find its functions to be fairly self-explanatory. All you need to do is provide the name and location of each database, along with the required login credentials.
Additionally, it is possible to specify which items should be taken into consideration, should you only wish to compare tables, views, stored procedures or functions.
Extract scripts from your database and compare their contents
Database Compare also enables you to grab scripts and save them to a specified folder on your hard drive. Again, you can export tables, views, stored procedures or functions.
When it comes to analyzing the differences between two scripts, the application relies on WinMerge to perform the comparison, so you should first ensure that this program is installed on your computer.
Lightweight application designed to be fully portable
Database Compare can be used without first going through a complex installation procedure, which means it is very easy to deploy, as long as the required software is available on the host machine.
In conclusion, Database Compare is a relatively simple application that allows you to analyze the contents of two databases, as well as extract scripts. It is quite intuitive and features a minimalistic user interface.
Database Comparer Tools

Database Comparer Tools v 8.0 (December 20, 2021 Release)
Database Comparer helps to compare, synchronize and update databases structure. You can compare one database with another database or database with SQL/DDL script or even two SQL/DDL scripts!
Database Comparer implements highly intelligent and robust synchronization algorithm. During first comparison step it takes Target database or Target SQL/DDL script and compare it to the Master database or Master SQL/DDL script trying to locate all structure differences and prepare final SQL script which will be applied to the Target and make its structure equal to Master structure.
At this stage Database Comparer extracts all objects, descriptions and links from both Master and Target structures and then compares actual objects from Master with objects from Target building final update SQL script. After final update SQL script is ready you can apply it to the Target database if it is available or just save it to the file and run it later.
Database Comparer also support batch mode so you can synchronize list of Target databases with given Master database or SQL/DDL script at one pass.
![]() |
The tools include: Database Comparer Standalone Utility and DBC Datapump. Please try the new DBC Datapump tool for free at Download Database Comparer Tools |
Features at a glance:
- Can compare database with database, database with SQL/DDL script and SQL/DDL script with SQL/DDL script.
- Can compare and synchronize data between two database tables.
- You can optionally select which objects (domains, tables, procedures, triggers etc.) should be compared.
- Batch mode for most operations.
- Ability to browse Master and Target structure trees and visually display the differences between them.
- Final update SQL script can be edited or broken onto separate steps using built-in SQL editor with highlight feature. You can manually change steps order or optionally disable selected steps.
- Build-in additional functionality such as: drop constraints, backup/restore, database validation and many other useful features.
If you are database administrator, developer or just need to support bunch of databases this tool is designed for you! It will not only save your time and money but also makes sure that you are not missing anything and will not get into serious problems which might be caused by database structure differences.
Supported Databases
A list of supported databases includes, but is not limited to, the following servers / scripts:
Firebird, Oracle, MSSQL, MySQL, InterBase, Sybase, Postgre SQL.
The list of libraries that are required to compile the Database Comparer project: ReadMe_DBComparer_sources.txt
Important!
Database Comparer is free for non-commercial use.
Please feel free to use it for educational purposes and you are always welcome to order commercial license from Database Comparer Order page.
Как сравнить и синхронизировать две базы данных в 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, что добавляет еще один плюс к этому пакету.
Исходные данные для примера
Чтобы наглядно показать, как происходит процесс сравнения данных, я создам две отдельные тестовые базы данных. Добавлю в них пару таблиц и наполню их данными, которые будут немного отличаться.
Ниже приведена полная инструкция создания двух баз данных с данными для сравнения.

Как видите, данные в таблицах 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, поэтому на этой вкладке отображена эта строка, причем показано значение, как в таблице источника, так и в целевой таблице, что очень удобно.

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».
database compare 2013 что это
Применяется на уровне модуля для задания используемого по умолчанию способа сравнения строковых данных.
Замечания
Инструкция Option Compare при ее использовании должна находиться в модуле перед любой процедурой. Инструкция Option Compare указывает способ сравнения строк (Binary, Text или Database) для модуля. Если модуль не содержит инструкцию Option Compare, по умолчанию используется способ сравнения Binary.
Инструкция Option Compare Binary задает сравнение строк на основе порядка сортировки, определяемого внутренним двоичным представлением символов. В Microsoft Windows порядок сортировки определяется кодовой страницей символов. В следующем примере представлен типичный результат двоичного порядка сортировки:
Инструкция Option Compare Text задает сравнение строк без учета регистра символов на основе системной национальной настройки. Тем же символам, что и выше, при сортировке с инструкцией Option Compare Text соответствует следующий порядок:
Инструкция Option Compare Database может использоваться только в Microsoft Access. При этом задает сравнение строк на основе порядка сортировки, определяемого национальной настройкой базы данных, в которой производится сравнение строк.
Пример
В данном примере инструкция Option Compare используется для задания метода сравнения строковых данных, используемого по умолчанию. Инструкция Option Compare используется только на уровне модуля.
Используется на уровне модуля для объявления метода сравнения по умолчанию, который будет использоваться при сравнении строковых данных. Used at the module level to declare the default comparison method to use when string data is compared.
Синтаксис Syntax
Примечания Remarks
Если оператор Option Compare используется, он должен находиться в модуле до всех процедур. If used, the Option Compare statement must appear in a module before any procedures.
Оператор Option Compare задает для модуля метод сравнения строк (Binary, Text или Database). The Option Compare statement specifies the string comparison method (Binary, Text, or Database) for a module. Если модуль не содержит оператор Option Compare, используется метод сравнения текста Binary, применяемый по умолчанию. If a module doesn’t include an Option Compare statement, the default text comparison method is Binary.
Результаты метода Option Compare Binary в сравнениях строк на основе порядка сортировки извлекаются из внутренних двоичных представлений знаков. Option Compare Binary results in string comparisons based on a sort order derived from the internal binary representations of the characters. В Microsoft Windows порядок сортировки определяется кодовой страницей. In Microsoft Windows, sort order is determined by the code page. Типичный порядок двоичной сортировки показан в следующем примере: A typical binary sort order is shown in the following example:
Результаты выполнения оператора Option Compare Text на основе порядка сортировки текста, зависящего от регистра клавиатуры, определяются языком, установленным в региональных настройках операционной системы. Option Compare Text results in string comparisons based on a case-insensitive text sort order determined by your system’s locale. При сортировке одних и тех же символов с помощью Option Compare Textсоздается следующий порядок сортировки текста: When the same characters are sorted by using Option Compare Text, the following text sort order is produced:
Оператор Option Compare Database может использоваться только в Microsoft Access. Option Compare Database can only be used within Microsoft Access. Результаты его действия заключаются в сравнениях строк на основе порядка сортировки, определяемого идентификатором языка базы данных, в которой выполняются сравнения строк. This results in string comparisons based on the sort order determined by the locale ID of the database where the string comparisons occur.
Пример Example
В этом примере оператор Option Compare используется для установки метода сравнения строк по умолчанию. This example uses the Option Compare statement to set the default string comparison method. Оператор Option Compare применяется только на уровне модуля. The Option Compare statement is used at the module level only.
См. также See also
Поддержка и обратная связь Support and feedback
Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Have questions or feedback about Office VBA or this documentation? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь. Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.
Suppose the design of your Microsoft Access desktop database has changed (new or modified tables, queries, field properties, forms, or reports) and you want to see a history of these changes. If you’re using Office 2013 Professional Plus, Microsoft Office 2016 Professional, or Office 365 ProPlus, you have Database Compare. You can use Database Compare to compare the one version of an Access desktop database to another. You’ll see difference, such as new or changed tables, queries, fields, field properties, and so on, in a SQL Server Reporting Services report that you can export to Excel or save in PDF format.
Note: You can’t use Database Compare with Access web apps.
In this article
Compare two Access databases
Open Database Compare 2013 or Database Compare 2016. You’ll see a simple dialog box that has two tabs: Setup and Results.
On the Setup tab, next to the Compare box, use the Browse
button to find the database you want to use as the «baseline» (or the earlier version). When you find the file you want, click Open. 
Next to the To box, click the Browse
button to find the database that is «changed» (or the most recent version).
In the Report Options section, choose the database objects (tables, queries, macros, modules, reports, forms, or pages) you want compared by checking the boxes next to them.
In the Report Values section, choose Full or Brief to specify how detailed you want the results to be.
Click Compare to run the comparison.
After the comparison is finished, a SQL Server Reporting Services report opens on your screen. You can export this report to Excel or save the report in PDF format.
Create backup versions of your database
The best way to keep track of the design changes to your desktop database is by saving one or more backup versions. Backing up your database is a different process than just saving a copy.
Click File > Save As.
Under Save Database As > Advanced , click Back Up Database.
Your backup is saved with the year, month, and date appended to the file name. If you save multiple backups on the same day, an underscore and a number in parentheses is added after the date. Multiple backups of a database named Inventory.accdb from one day (3/13/2012) might look like this:
In earlier versions of Access, your backup is saved with the same file name pattern as Access 2013 or Access 2016. To find the Back Up Database command in earlier versions of Access:
In Access 2010, click File > Save & Publish > Advanced > Back Up Database.
In Access 2007, click the Office Button > Manage > Back Up Database.
In Access 2003 and earlier versions, click File > Back Up Database.
D >If you get an “Unable to open Access database” error message, most likely, at least one of the desktop databases is protected by a password. Click OK in the dialog box, and then enter the password. Otherwise, the comparison can’t run.
To learn more about how to store passwords in Database Compare, see Manage passwords used to open files for comparison.
