Validations
During the copy process, these areas of validation are performed:
- Is the target database partitioned? If not, in the target (empty) database, foreign keys are dropped, the partition function is created, partition scheme is created, multi-site tables are partitioned using the partition scheme, and foreign keys are recreated. If the target database is already partitioned, the partition scheme and partition function are updated for the site that is being added.
- If user table or _All table sharing is enabled for either the source or target database, then the source site and all sites in the target database must be on the same intranet. Otherwise, the process is aborted.
- Table compatibility:
- If a table exists in the source database, but a table with the same name does not exist in the target database, the process is aborted.
- If a table exists in the target database, but a table with the same name does not exist in the source database, a warning is logged but the process continues.
- User Extended Tables (UET) compatibility:
- If the Source and Target databases both have UET
data, verify its compatibility. If these areas are not compatible, the process
is aborted:
- For fields, no differences in data type, decimals, user-defined datatype, and precision.
- For indexes, no differences in index uniqueness specification or fields.
- For UET classes, no differences in the child fields of the class.
- For table classes, no differences in table_rule, extend_all_recs, allow_record_assoc, and active values.
- If the Target database has UET data that is not impacted, the process is aborted.
- If there is a unique UET index on a _mst table, the copy process is aborted. You must add the Site Column Name to the index. (If you plan to later add a unique UET index in this _mst table with UET fields, you must manually add the site_ref column to this index.)
- If the Source and Target databases both have UET
data, verify its compatibility. If these areas are not compatible, the process
is aborted:
- If any Application Event System events are actively running or queued in the source database, the process is aborted. The events are listed in the error messages with the name of the event, the IDO, the table, and the RowPointer.
- If any differences are found in these areas for
Application Event System events, a message is logged but the process continues:
- Differences in values for matching EventHandler records
- Differences between any matching EventAction values
- Event actions that exist for a handler in the source, but not in the target, or vice versa
- EventActionVariableAccess values that differ between the source and target
- For an event, sequence, event action sequence, and variable name, any rows that exist in the source, but not in the target, or vice versa
- Table names that start with “Import” and table names that contain “SourceDL” or “TargetDL” are excluded from the process.