Schema Compare Options




There are a range of options that can be applied to the compare project that change the way the schema is loaded, compared and scripted. A small help message shows how the option will change the project.

For Schema compare projects there are 4 primary option groups, Load, Table, Compare and Script. 


Filter Options


Enter text to hide all options that do not match the text. This is handy for finding that hard to locate option, if you have some idea of the text then type into the filter and press enter to filter the options.


Load and Save Options


A common options set can be saved to disk and then reloaded.


Revert will restore the option to the SQL Delta defaults.


Load Options


Connection & Command Timeout

Configures the Native Client or OLEDB connection settings for connection and command timeouts. Zero uses the global defaults. Slow connections such as remote connections may require these value to be increased to provide greater connection stability. Unfortunately changing these values do not necessarily fix all timeouts and SQL Server can force a connection to terminate when its send data is slow and in other cases.

Slow Connection

When this is switched on SQL Delta will automatically configure all database components to expect a slow connection. This can result in slower performance for fast connections and still may not prevent timeouts and connection failures.

Load System Objects

SQL Delta can load and display system tables and other system objects for compare. Normally SQL Delta hides the system objects since they should not be altered however there are instances where you may wish to confirm the system objects are the same from server to server.

Encrypted Connection

Native Client provides support for encrypted connections however these require specific server-side configuration, the details can be found on the Microsoft website. We recommend you verify the connection is encrypted prior to use if this level of security is essential.


Table Options


Preserve Column Order

Force a table rebuild to ensure the columns are in the same order. The column order of a table is not normally operationally important and SQL Delta will ignore table difference if the only difference is the order of the columns. When preserve order is switched on SQL Delta will force a table recreate so the column order in the target is the same as the source. The data will be preserved during this process.

Sort Columns By

Options Column Position or Column Name. Normally columns are displayed in their ordinal column position however you may prefer to view columns sorted by column name. This does not effect the scripting of the table.

Ignore Collation

The collation name will be ignored when comparing and not included when scripting the column.

Ignore Defaults

All parts of the default will be ignored including the value, name and any bindings and not scripted.

Ignore Indexes and Constraints

All indexes and constraints will be ignored when comparing and scripting.

Ignore Index and Constraint Names

Index and constraint names will be ignored during compare and will not be scripted.

Ignore Check Constraints

Check constraints will not be compared or scripted.

Ignore Foreign Keys

Foreign keys will not be compared or scripted.

Ignore Bindings

All rule and default bindings will be ignored during compare and not scripted.

Ignore Default Names

The name of the default will not be compared.

Ignore System Default Names

SQL Server generates system names for defaults without a name and these names will not be compared. The name will not be scripted so the target default will also have a system name.

Ignore Fill Factors

Fill factor and padding information will not be compare or scripted.

Ignore With NOCHECK

The WITH NOCHECK property on a constraint will be ignored during compare and not scripted.

Ignore Identity Settings

All Identity properties will be ignored during compare and not scripted

Ignore Data Compression

Data compression settings will not be compared or scripted. Data Compression also uses some file group information and we recommend file groups should also be ignored.

Ignore Change Tracking

Change tracking property will not be compared or scripted.

Ignore Lock Escalation

Lock escalation property will not be compared or scripted.

Ignore Not For Replication

Not For Replication property property will not be compared or scripted.

Ignore Replication Settings

All replication properties including SQL Server added columns, triggers and constraints will not be compared or scripted.

Ignore Statistics

Statistics will not be compared or scripted.

Ignore File Groups

File groups including partition schemes and functions will not be compared or scripted. Data compression uses file group information and we recommend ignoring file groups if you ignore data compression.

Ignore Statistics No Recompute

Statistics NO_RECOMPUTE property property will not be compared or scripted.

Include With Values

When an IS NULL column is added to during an ALTER table the WITH VALUES clause will be added to ensure data is populated with the default value instead of the column containing NULL values.




Compare Options

General compare options not specific to tables


Ignore Comments

Ignore comments within SQL definition during compare, comments will be scripted.

Ignore CRLF

Ignore and carriage return/line feeds within SQL definitions during compare, CRLF will be scripted.

Convert invalid linefeeds to CRLF

Convert stand-alone CR or LF values into CRLF for compare.

Ignore Tabs

Ignore any tab characters within SQL definitions during compare

Ignore Spaces

Ignore space character within SQL definitions during compare.

Ignore Script Case

Ignore text case within SQL definitions during compare, converts the definition to lowercase during compare.

Ignore Object Name Case

Ignore the case of an object name during compare. The name of an object can include the schema name.

Ignore Permissions

When ignoring the permissions are not loaded and therefore not compared or scripted.

Ignore Full Text Indexes

Fulltext catalogs and indexes are not loaded and therefore not compared or scripted

Log Results

Log the results of the compare. This is useful for debugging and the resulting file can be sent to us to assist with compare debugging. This option may be removed in a future release.

Ignore Users

When ignoring User objects are not loaded and therefore not compared or scripted

Ignore Roles

When ignoring Role objects are not loaded and therefore not compared or scripted

Ignore Certificates

When ignoring Certificate, Symmetric key and Asymmetric key objects are not loaded and therefore not compared or scripted

Ignore Database Name in Synonyms

A synonym can optionally include a server name and/or database name and these names will be ignored during compare and script.

Ignore Set Statements

Set Ansi_nulls and quoted_identifier statements will be ignored during compare.

Ignore Extended Properties

When ignoring Extended properties for all objects are not loaded and therefore not compared or scripted

Ignore Owners

The schema name (also the owner) is ignored during compare and script. Ignoring owners can lead to invalid scripts where two objects exist with the same name and previously the schema name created uniqueness.

No Owner Change

This links with Ignore Owners, SQL Delta removes the owner from all SQL definitions both during compare and scripting. Set this value to true to prevent script changes and retain the schema names when scripting. When this is true the Ignore Owners option is only for compare and not scripting.

Ignore User Properties

Ignore the properties of the user definition, only the user name will be compared and scripted.

Ignore With Element

Ignore any WITH properties inside a SQL definition. The properties will not be scripted.

Ignore With Element Order

Ignore the order of multiple the WITH properties during compare.

Ignore INSTEAD Triggers

Do not load Instead of triggers, these will not be compared or scripted.

Ignore DML Trigger order

Ignore the order of DML triggers during compare.

Ignore Page Lock and Row Lock

Ignore the page and row lock properties during compare and scripting.

Ignore Authorization

Ignore the Authorization clause when comparing and scripting.

Ignore Square [] brackets

Removed the square brackets around objects names within SQL definitions during compare.

Ignore Diagram Properties

Remove the extended properties created by Microsoft tools and used for displaying Diagrams.

Ignore DBO

The DBO schema is common to SQL Server installations and the DBO schema name will not be shown as a schema object in the list of schema. 


Script Options


Add Comments

SQL Delta automatically adds some comments to the deployment script. Set this option to No to prevent the comments. For large script files setting this option to No can make the resulting file much smaller.

Indent spaces

Parts of the script are automatically indented by the number of spaces defined, by default 3.

Stop on Errors

By default this value is 0 and the script processor will continue to execute the entire script regardless of errors. Set this value and the script processor will stop execution once the number of errors has been reached.

Add Header Comments

SQL Delta adds a title set of comments to the heading of each script.

Comments

Define the header comments. Keywords: %Timestamp% = Current DateTime, %ApplyServer% = the server receiving the script (normally the target server), %ApplyDatabase% = the database receiving the script (normally the target database).

Drop and Recreate Tables

Normally SQL Delta will use the ALTER statement rather than performing a full DROP and CREATE for any table changes. When this option is switched on SQL Delta will perform a recreate of the table. This does not affect the data within the table.

Drop and Recreate Objects

Like the table option instead of using an ALTER statement, where applicable, SQL Delta will drop the object and create the object.

Disable DDL Triggers

DDL triggers can track changes to the schema and in some cases you may wish to disable all DDL triggers before deploying the sync script. When this option is switched on the disable and enable DDL triggers statement will be added to the script.

Add Use in Schema

Add Use Database to the deployment script. SQL Delta automatically deploys to the target server and database however this may not be the case if you are executing the deployment script outside of SQL Delta. Switch this option on to insert the USE "database" statement.

Transaction Isolation

SQL Delta scripts include SET TRANSACTION ISOLATION LEVEL when transactions are active and this option controls the type of Isolation level.

Use Transactions

By default and when this option is switched on deployment scripts have a transaction wrapper around each object but not the entire deployment script. That way if one object fails the reset of the objects will still be created. This can be change by changing the stop on errors and using SQL Delta to deploy the script. When this option is switched off then objects are not wrapped in transactions. Since you can edit the script before its deployed you can then manually add transaction statements as required.