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. |