You can use project options to configure the behavior of Schema Compare.
The guide describes the following topics:
When you create a new project, you should run the comparison with the default options and then review your comparison results. After you have reviewed your comparison results, you may consider changing some of the options. The options you set are saved for each project, and you can modify them on the Options page of the New Schema Comparison wizard.
Note
When comparing database objects, such as procedures, views, triggers, and functions, using dbForge Schema Compare, the tool automatically adjusts how the SQL code looks based on the active formatting profile rules. This formatting only affects how the scripts appear in Text Compare.
If you want to see only differences in DDL in Text Compare without the formatting applied, turn on Format Database Object Script on the Text Compare toolbar. This button appears when the Format Database Object Script in Text Compare option is activated. For more information, see Compare objects that differ only in formatting.
If you click Save Command Line, the Command Line Wizard will open.
To explore how to remove objects that have the Only in Target status, see Exclude all objects with the Only in Target status.
If you want to make the current selection of options your defaults, click Save As My Defaults. These options will be used for all new projects.
To restore your defaults after making changes, click My Defaults.
If you need to reset all the options to their original settings, click Devart Defaults.
The options are grouped, and there is a detailed description for each option.
On the Options page, you can search for comparison options by typing the search text or symbol, such as a wildcard or an underscore, in the Search box. The list is filtered to display only those options that contain the search text.
The default search mode is case-insensitive. It means that searching for a term like ignore will highlight all options containing the text whether it is capitalized (Ignore) or lowercase (ignore). As you type, the text that matches your search criteria will be highlighted in the grid. The number of matching options will be displayed in the search bar.
If you write the text divided by spacebars, each subsequent input will highlight new results.
To remove the search input, click in the Search box.
In the Search box, you can use the following keyboard shortcuts:
On the Options page, you can save command-line arguments and settings to a .txt file. To do this, click Save settings to a command-line arguments file.
The Save As dialog opens, allowing you to select the destination path to save the file. The default name is SchemaCompareArgs.txt. You can specify a different name and click Save. The file includes information such as the source and target connections, along with a list of comparison options indicating whether each option is turned on (Enabled) or turned off (No):
After that, a notification will appear indicating that you’ll need to manually enter the password for the specified connection when you use the file.
Note
Throughout the generation process, the command-line arguments file includes comparison and synchronization options.
Option name | Option Group | Default State | Option Description |
---|---|---|---|
Associate column names having similar name options, 80 % | Auto Mapping | Disabled | Identifies similar column names to be equal. |
Ignore case in object names | Auto Mapping | Disabled | Ignores cases in object names during mapping and comparison. |
Ignore spaces in object names | Auto Mapping | Disabled | Ignores spaces in object names during mapping and comparison. |
Compare database properties | Common | Enabled | Includes a database object in the comparison and synchronization. |
Convert user data types into SQL Server system data types | Common | Disabled | Transforms user data types into SQL Server system data types during the database comparison and synchronization. |
Disable dependency analysis | Common | Disabled | Disables dependency building algorithms and describes object types selected in the Object filter. |
Ignore authorization | Common | Disabled | Ignores the AUTHORIZATION clauses and statements on the contained database objects during the database comparison and synchronization. |
Ignore CHANGE_TRACKING | Common | Disabled | Ignores the CHANGE_TRACKING clauses during the database comparison and synchronization. |
Ignore CLR datatypes in column | Common | Disabled | Ignores CLR datatypes in the column during the database comparison and synchronization. |
Ignore collations | Common | Disabled | Ignores column collations during the database comparison and synchronization. |
Ignore DATA_COMPRESSION for tables, indexes, primary and unique constraints | Common | Enabled | Ignores the DATA_COMPRESSION clause for tables, indexes, primary and unique constraints. |
Ignore database and server names for synonyms | Common | Enabled | Ignores database and server names for synonyms during the database comparison and synchronization. |
Ignore database extended properties | Common | Enabled | Ignores extended properties of the database during the database comparison and synchronization. |
Ignore database object extended properties | Common | Disabled | Ignores extended properties of the database object during the database comparison and synchronization. |
Ignore datatypes in column | Common | Disabled | Ignores datatypes in the column during the database comparison and synchronization. |
Ignore event notification on queues | Common | Disabled | Ignores an event notification on queues during the database comparison and synchronization. |
Ignore filegroups and partition schemes/functions | Common | Disabled | Ignores filegroups, partition schemes, and partition functions during the database comparison and synchronization. |
Ignore full-text catalog path | Common | Disabled | Ignores the path in the full-text catalog during the database comparison and synchronization. |
Ignore full-text search | Common | Disabled | Ignores full-text stoplists, full-text catalogs, and full-text indexes during the database comparison and synchronization. |
Ignore next filegroups | Common | Disabled | Ignores next filegroups during the database comparison and synchronization. |
Ignore semicolons | Common | Disabled | Ignores semicolons at the end of statements during the database comparison and synchronization. |
Ignore tSQLt framework and unit tests | Common | Disabled | Excludes objects of the tSQLt framework and unit tests during the database comparison and synchronization. |
Ignore user DEFAULT_SCHEMA | Common | Enabled | Ignores DEFAULT_SCHEMA for users during the database comparison and synchronization. |
Ignore permissions | Common | Disabled | Ignore security permissions during the database comparison and synchronization. |
Ignore users’ permissions | Common | Disabled | Ignores users’ permissions and roles memberships during the database comparison and synchronization. |
Ignore user DEFAULT_LANGUAGE | Common | Disabled | Ignores DEFAULT_LANGUAGE for users during the database comparison and synchronization. |
Ignore logins, certificates, asymmetric keys for users | Common | Enabled | Ignores logins, certificates, and asymmetric keys, and synchronizes the corresponding user properties. If you want to ignore users, first, you need to configure the Object Filter after the comparison as described in the Use object filter topic. |
Populate full-text indexes | Common | Disabled | Populates full-text indexes. |
Quote object names with square brackets | Common | Enabled | Quotes object names with square brackets during the script generation. |
Force column order | Tables | Enabled | Forces the re-creation of the table when adding new columns to it. |
Ignore bound rules and defaults | Tables | Disabled | Ignores bound rules and defaults during the database comparison and synchronization. |
Ignore default column collations | Tables | Enabled | Ignores default column collations during the database comparison and synchronization. |
Ignore history tables names | Tables | Enabled | Ignores history tables names during the database comparison and synchronization. |
Ignore identity on columns | Tables | Disabled | Ignores identity on columns during the database comparison and synchronization. |
Ignore identity seed and increment values | Tables | Disabled | Ignores identity seed and increment values during the database comparison and synchronization. |
Ignore LOCK_ESCALATION | Tables | Enabled | Ignores LOCK_ESCALATION for tables during the database comparison and synchronization. |
Ignore table DML triggers | Triggers | Disabled | Ignores DML triggers for tables during comparison and synchronization. |
Ignore INSTEAD OF triggers | Triggers | Disabled | Ignores INSTEAD OF triggers for tables during comparison and synchronization. |
Ignore state of DML triggers | Triggers | Disabled | Ignores state of DML triggers during comparison and synchronization. |
Ignore state of DDL triggers | Triggers | Disabled | Ignores state of DDL triggers during comparison and synchronization. |
Ignore firing order for triggers | Triggers | Disabled | Ignores a firing order for DDL and DML triggers. |
Ignore check constraints | Indexes and constraints | Disabled | Ignores check constraints during comparison and synchronization. |
Ignore column order in indexes | Indexes and constraints | Disabled | Ignores a column order for the included columns during comparison and synchronization. |
Ignore constraint names | Indexes and constraints | Disabled | Ignores constraint names during comparison and synchronization. |
Ignore constraints’ system names | Indexes and constraints | Enabled | Ignores constraint system names. |
Ignore default constraints | Indexes and constraints | Disabled | Ignores defaul constraints and schema defaults during comparison and synchronization. |
Ignore foreign key | Indexes and constraints | No | Ignores foreign keys during comparison and synchronization. |
Ignore foreign key actions ON UPDATE and ON DELETE | Indexes and constraints | No | Ignores cascading referential integrity constraints for foreign keys during comparison and synchronization. |
Ignore indexes | Indexes and constraints | No | Ignores indexes in tables and views during comparison and synchronization. |
Ignore indexes’ names | Indexes and constraints | No | Ignores names of indexes in tables and views during comparison and synchronization. |
Ignore NOCHECK state on constraints | Indexes and constraints | No | Ignores the NOCHECK clause for foreign keys and check constraints during comparison and synchronization. |
Ignore NOT NULL constraint for a column | Indexes and constraints | No | Ignores the NOT NULL constraint for a column during comparison and synchronization. |
Ignore PAD_INDEX and FILLFACTOR for indexes and constraints | Indexes and constraints | Disabled | Ignores PAD_INDEX and FILLFACTOR for indexes and constraints during comparison and synchronization. |
Ignore PAGE_LOCK and ROW_LOCK for indexes and constraints | Indexes and constraints | Disabled | Ignores ALLOW_PAGE_LOCK and ALLOW_ROW_LOCK for indexes and constraints during comparison and synchronization. |
Ignore primary keys | Indexes and constraints | Disabled | Ignores differences in primary keys during comparison and synchronization. |
Ignore sort direction (ASC/DESC) for index columns | Indexes and constraints | Disabled | Ignores sort direction for index columns during comparison and synchronization. |
Ignore statistics | Indexes and constraints | Disabled | Ignores statistics related to the column during comparison and synchronization. |
Ignore STATISTICS_NORECOMPUTE for indexes and constraints | Indexes and constraints | Disabled | Ignores STATISTICS_NORECOMPUTE for indexes and constraints during comparison and synchronization. |
Ignore unique keys | Indexes and constraints | Disabled | Ignores differences in unique keys during comparison and synchronization. |
Ignore WITH NOCHECK state on constraints | Indexes and constraints | Disabled | Ignores WITH NOCHECK for constraints during comparison and synchronization. |
Ignore DML and INSTEAD OF triggers present only in Target | Keep objects in target | Disabled | Ignores dropped DML triggers in target while comparing and synchronizing tables or views. |
Ignore indexes present only in target | Keep objects in target | Disabled | Ignores dropped indexes in target while comparing and synchronizing tables or views. |
Ignore NOT FOR REPLICATION for indexes, constraints and triggers | Replications | Disabled | Ignores NOT FOR REPLICATION for indexes, constraints, and triggers during comparison and synchronization. |
Ignore replication tables | Replications | Enabled | Ignores replication tables during comparison. |
Ignore replication procedures | Replications | Disabled | Ignores replication procedures during comparison and synchronization. |
Ignore replication roles | Replications | Disabled | Ignores replication roles during comparison and synchronization. |
Ignore replication schemas | Replications | Disabled | Ignores replication schemas during comparison and synchronization. |
Ignore replication triggers | Replications | Disabled | Ignores replication triggers during comparison and synchronization. |
Decrypt encrypted objects | Script Objects | Enabled | Decrypts bodies of encrypted objects for comparison and synchronization. |
Ignore case | Script Objects | Disabled | Ignores case differences in object’s body during comparison. |
Ignore comments | Script Objects | Disabled | Ignores comments while comparing stored procedures, views, functions, etc. |
Ignore keyword reduction | Script Objects | Enabled | Ignores differences in full and short names of keywords during comparison. |
Ignore object names in definitions | Script Objects | Disabled | Ignores object names in definitions during comparison. |
Ignore QUOTED_IDENTIFIER and ANSI_NULLS | Script Objects | Disabled | Ignores QUOTED_IDENTIFIER and ANSI_NULLS for stored procedures, functions, triggers, etc. during comparison and synchronization. |
Ignore signatures | Script Objects | Disabled | Ignores signatures when comparing and synchronizing stored procedures, functions, triggers, and assemblies. |
Ignore white spaces | Script Objects | Enabled | Ignores white spaces (new lines, tabs, spaces, etc.) during comparison and synchronization. Original white spaces in the scripts for database objects and computed columns are preserved. |
Ignore WITH ENCRYPTION | Script Objects | Disabled | Ignores differences in the WITH ENCRYPTION attribute during comparison and synchronization. |
Ignore WITH option order | Script Objects | Enabled | Ignores elements order in the WITH clause when comparing and synchronizing stored procedures, views, triggers, functions, etc. |
Ignore CACHE | Sequences | Disabled | Ignores CACHE in sequences during comparison and synchronization. |
Ignore CYCLE | Sequences | Disabled | Ignores CYCLE in sequences during comparison and synchronization. |
Ignore INCREMENT BY | Sequences | Disabled | Ignores INCREMENT BY in sequences during comparison and synchronization. |
Ignore MINVALUE | Sequences | Disabled | Ignores MIN VALUE in sequences during comparison and synchronization. |
Ignore START WITH | Sequences | Enabled | Ignore START WITH in sequences during comparison and synchronization. |