SQL Data Compare
Latest version: 10.0
Knowledge Base
Tables with compound keys may not be mapped automatically
Category: Troubleshooting & error messages
Date: 19 Nov 2008
Product: SQL Data Compare
When SQL Data Compare is used to compare the data in two identical tables with a compound primary key, the tables will not be mapped together automatically if the order that the columns of the compound key was originally created in is different.
For example, the following tables would need to be mapped together automatically because of the primary key column order. This is a known issue, but it cannot be avoided for technical reasons and therefore cannot be fixed. The method for working around the issue is to recreate the second table with a schema identical to the first one.
USE DB1
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[MyTable](
[Column1] [varchar](200) COLLATE
SQL_Latin1_General_CP1_CI_AS NOT NULL,
[Column2] [varchar](200) COLLATE
SQL_Latin1_General_CP1_CI_AS NOT NULL,
[Column3] [varchar](7600) COLLATE
SQL_Latin1_General_CP1_CI_AS NULL,
CONSTRAINT [PK_MyTable] PRIMARY KEY CLUSTERED
(
[Column1] ASC,
[Column2] ASC
) ON [PRIMARY]
) ON [PRIMARY]
/ The script for the second table /
USE DB2
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[MyTable](
[Column1] [varchar](200) COLLATE
SQL_Latin1_General_CP1_CI_AS NOT NULL,
[Column2] [varchar](200) COLLATE
SQL_Latin1_General_CP1_CI_AS NOT NULL,
[Column3] [varchar](7600) COLLATE
SQL_Latin1_General_CP1_CI_AS NULL,
CONSTRAINT [PK_MyTable] PRIMARY KEY CLUSTERED
(
[Column2] ASC,
[Column1] ASC
) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
--And the one in Test:
USE [DB2]
GO
/**** Object: Table [dbo].[Reports_Publish] Script Date:
03/28/2008 08:15:12 ****/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
DROP TABLE [dbo].[Reports_Publish]
CREATE TABLE [dbo].[Reports_Publish](
[SourceTableName] [varchar](200) COLLATE
SQL_Latin1_General_CP1_CI_AS NOT NULL,
[PublishTableName] [varchar](200) COLLATE
SQL_Latin1_General_CP1_CI_AS NOT NULL,
[ColumnList] [varchar](7600) COLLATE
SQL_Latin1_General_CP1_CI_AS NULL,
CONSTRAINT [PK_Reports_Publish] PRIMARY KEY CLUSTERED
(
[SourceTableName] ASC,
[PublishTableName] ASC
) ON [PRIMARY]
) ON [PRIMARY]
GO
Document ID: KB200804000238 Keywords: SQL,Data,Compare,compound,mapping
Was this article helpful?
SQL Data Compare
- Logging and log files
- Internal Connection Fatal Error in versions 4 and 5
- NULL textptr passed to UPDATETEXT function when running synchronization
- How much free hard disk space is required?
- Comparing the data of two tables in the same database
- Suggestions to combat comparison and synchronization performance issues
- SQL comparison and synchronization automation capabilities
- SqlNullValueException occurring in synchronization wizard
- SQL Data Compare command-line XML argument file examples
- Using Windows authentication logons between domains
- Using a filter on a column on related (joined) tables
- Determining minimum database permissions for SQL Data Compare
- Tables with compound keys may not be mapped automatically
- Best practices for synchronizing data
- Cleaning up a SQL script after SQL Compare or SQL Data Compare
- Troubleshooting System.OutOfMemoryException during comparison
- Exception thrown by db reader 1
- Reseed applying "incorrect" identity values
- Running migration scripts using SqlCmd.exe
- This SQL Server has been optimized for x concurrent queries.
- SQL Data Compare showing differences in 2 identical databases
- How to force SQL Compare and SQL Data Compare to use an Encrypted Connection
- Improving the performance of SQL Data Compare
- Logging and log files
- Case-sensitive comparisons
- Tables or views that could not be compared
all SQL products
- Compatibility of Red Gate tools in 64-bit environments
- Application has encountered an error and needs to close
- Error message after installing SQL Toolbelt - The description for Event ID ( 1 ) in Source ( nview_info ) cannot be found.
- Changing the temporary directory used by the installer
- Toolbelt Installer "hanging" while "scanning volumes"
- Login failing with "trusted SQL Server connection" error when using RunAs
all products
- Some Red Gate products identified as containing a trojan by Anti-Virus software
- Activation may fail with Unknown Error -1
- Product uses web help although a CHM file is available locally
- Argument exception resulting from missing environment variable
- Check for updates may fail when used through proxies
- 'Unidentified Publisher' error when repairing or uninstalling
- Licensing activates product as standard edition
- Moving Red Gate software products to another machine
- Red Gate tools log locations
- The application UI opening slowly when there is no internet access
SQL Data Compare
- Activating your products
- Activating your products
- Getting help offline
- Getting better performance out of SQL Data Compare
- Release notes - version 10.xx
- SQL Data Compare release notes - version 7.xx
- SQL Data Compare release notes - version 8xx
- SQL Data Compare release notes - version 9.xx
all SQL products
all products
- Red Gate product acknowledgements
- Activating your products
- Activating your products
- Red Gate bundle history
- Check for updates
- Troubleshooting Check for Updates errors
- Current versions
- Deactivating your products
- Installing Red Gate products from the .msi file
- Requesting additional activations
- Serial numbers for bundles
- Reactivating using a different serial number
- Extending your trial
- Finding your serial numbers
- Moving a serial number from one computer to another
- No response received for manual activation
- Licensing and activation resources
- Licensing and activation resources
- Troubleshooting licensing and activation errors
- Licensing and activation FAQs
- Red Gate tools log file locations
- Download old versions of products
- Download product prerequisites & utilities
- Support & upgrades
- Upgrading your software
- Upgrading FAQs

Using SQL Data Compare