KS DB Merge Tools logo KS DB Merge Tools
Documentation
MssqlMerge logo for SQL Server
aka MssqlMerge
KS DB Merge Tools for Oracle logo
KS DB Merge Tools for MySQL logo
KS DB Merge Tools for PostgreSQL logo
KS DB Merge Tools for SQLite logo
AccdbMerge logo
KS DB Merge Tools for Cross-DBMS logo

Data Merge Warning Dialog

This dialog can be displayed to request parameters for the upcoming data merge/delete script generation in the Standard version:

for SQL Server, data merge warning dialog

or to warn about potential limitations related to these scripts in the Free version:

for SQL Server, data merge warning dialog

The dialog is triggered by the Merge or Delete actions in the Data diff tab. Once the confirmation is OK, the next step is typically script generation and the Execute script dialog (see below for exclusions related to Id-Remap and 'Update changed only' scenarios). If there are no parameters to request and nothing to warn about, this dialog is not shown, and the flow proceeds directly to the next step.

If displayed, the dialog contains the following sections:

  • Action
    If the dialog is shown, this section is always displayed.
    You're going to {merge or delete} one or more rows
    Target database:
    {Database display name}
  • Merge all pages
    This section is shown when you select all rows in the data diff and want to perform a batch merge or delete action on them, provided that the table has more rows on other pages. The Standard version asks if you want to process all pages:
    You've selected all rows on the current data page, but there are more rows on other pages.
    Do you want to process all rows from all pages?
    The Free version simply warns that only the current page will be processed:
    You've selected all rows on the current data page, but there are more rows on other pages which are not going to be processed.
  • Update only changed
    This section is shown only for the Merge action in the Standard version and when the expected script items may include UPDATE statements. As a result, this section is not displayed when filtering to show only new rows.
    If the generated script will contain UPDATE statements, it can include all or only changed column values. In the last case, script will not be generated for unchanged rows.
    As mentioned above, this option excludes unchanged rows from the generated script. If it turns out that all selected rows are unchanged, then the merge action concludes with a 'No changes to merge' message.
  • Id-Remap Merge
    This section is shown only for the Merge action in the Standard version when it relates to the Id-Remap Merge scenario:
    Some of selected tables have identity/sequence primary keys and the database contains other tables referencing these primary key values by foreign keys. This means that:
    - if we merge the source primary key value as is into the target, then in the target this value can be already used by some other entity and its data will be overwritten,
    - if we merge the source foreign key value as is into the target, then this row can be bound to the wrong entity.
    To avoid these issues, you can use so-called 'Id-Remap Merge'. Target database will generate new values for these primary keys and we'll create additional mapping tables to keep mapping between source and target id values. When we merge the foreign key values, we'll replace them with newly inserted parent id values using these mapping tables. After operation completion mapping tables can be used to check and troubleshoot the merge result and to rollback/remove this data without need to restore backup.
    In case of Id-Remap Merge, all the processed rows are going to be INSERTed into the target, no UPDATEs or DELETEs. The New/Changed rows filter below specify only which rows to take from source, but not how they are going to be processed in the target.
    If Id-Remap Merge can be applied, this text is followed by the option to enable Id-Remap Merge. In this case, the next step in our merge execution flow will be the Id-Remap Merge dialog to set up additional configuration for Id-Remap Merge.
    Otherwise, the dialog will display an explanation of why it cannot be applied:
    Id-Remap Merge can not be used because this table has no dependency level. Click OK to proceed merge with the regular data merge.
    You can find more information about table dependency levels on the appropriate help page, and more information about why it is necessary for Id-Remap in the Id-Remap Merge dialog help page.

The default settings for 'Merge all pages' and 'Update only changed' sections can be configured in the Settings dialog under the Data Diff tab. This dialog also provides the option to specify whether to prompt for these parameters during each merge/delete action or to use the default settings automatically.

Free version limitations:

  • Only the 'Merge all pages' limitation warning can be shown. 'Update only changed' and Id-Remap Merge are not available.

Last updated: 2025-01-27