Home Products Downloads Purchase Support News Members Company
SITE FEED
Support Forum
The fastest and most effective to get answers to your questions quickly. Click Here for more info.
FAQs
Quick answers to common questions. Click Here for more info.
Troubleshooting
Known issues and basic troubleshooting techniques for problems or unexpected behaviors. Click Here for more info.
Knowledgebase
Technical tips, How-to articles, and other tutorials about ApexSQL Tools. Click Here for more info.
Online Documentation
All of our help files for download or convenient viewing online. Click Here for more info.
Videos
Watch product demos, training videos, or tutorials of our products' main features.  We frequently upload new videos so check often for updates. Click Here for more info.

Troubleshooting

Troubleshooting and Known issues with Apex SQL Tools


Current restrictions of schema mapping in ApexSQL Diff.

When schema “a” is mapped to schema “b” in source and target databases respectively then the following rules and restrictions should be taken into account:
  1. If the object [a].[Table1] exists in Source and objects [b].[Table1 ] and [a].[Table1] exist in Destination database, the mapping [a].[Table1] -> [a].[Table1] will be accomplished during comparison by default. So, the desired mapping [a].[Table1] -> [b].[Table1] won’t be set up.

  2. If the object [a].[Table1] exists only in Source, the object [a].[Table1] will be created in Destination after synchronization. The schema “a” will be created if necessary.

  3. If there are one-to-many schema mappings: “a”->”b”, “a”->”c” and “a”->”d” and the object [a].[Table1] exists in Source and [b].[Table1], [c].[Table1], [d].[Table1] exist in Destination, the only mapping that is added first in the Mapping Schema grid will be used to map objects.Other objects will be considered as “Destination only”.

  4. If there are mapped script-based objects in Source such as views or procedures that reference other source objects (for example, tables), the mapping won’t affect script-based objects bodies.All schemas used within such objects won’t be changed.

Example:

  • Source database contains the following objects: [a].[Table1], [a].[Table2], [a].[View1]
  • DDL script for [a].[View1] is:
    CREATE [a].[View1] AS
    SELECT t1.f1 , t2.f2
    FROM [a].[Table1] t1,[a].[Table2] t2

  • Destination database contains the following objects: [b].[Table1], [b].[Table2], [b].[View1]
  • Source schema “a” is mapped to destination schema “b”.

The result synchronization script for View1 will be following:
CREATE [b].[View1] AS
SELECT t1.f1 , t2.f2
FROM [a].[Table1] t1,[a].[Table2] t2

As you can see the tables in the body are still under schema [a] despite the mapping.

MORE INFORMATION
Mapping schemas in ApexSQL Diff How-to

LAST REVIEW
03 July 2007 Date of Last Review

Labels:



© 2008 Apex SQL Tools All Rights Reserved | 1.919.968.8444 | Contact Us | Terms of Use | Privacy Policy