ApexSQL Data Diff release notes

Release: 2012.02.0030
Date: May 07, 2013
Description: Hot-fix release

Fixes:

  • The "Index was outside the bounds of the array" error is encountered when synchronizing databases which contain BLOBs

Release: 2012.02.0029
Date: April 03, 2013
Description: Hot-fix release

Fixes:

  • The columns added to SQL tables or SQL views and SQL tables added to a database, are not automatically mapped when comparing the database using a previously saved project

Release: 2012.02.0028
Date: March 18, 2013
Description: Medium fix release

Enhancements:

  • The tooltips for the "Show equal rows" and "Use checksum for large values" comparison settings, located in the "Options" tab of the "Project" dialog, describe those options in more detail now
  • Depending on the compared databases and the comparison settings, the temporary data cache files take up to 100% less disk space

Fixes:

  • The application stops if the process of exporting the comparison results as a CSV report is canceled
  • The results from the previously completed comparison process are displayed when a new comparison has been initiated and canceled prior to completion
  • A canceled comparison cannot be re-run from the "Project" dialog until at least one of the comparison settings has been changed
  • The application doesn’t preserve the object mapping settings of a canceled comparison
  • The application doesn’t preserve the path where the backup files used in a comparison reside after it has been completed
  • The "Un-check all" context menu command in the "Object filter" tab of the "Project" dialog deselects all rows save for the one in focus
  • The "Cannot create a row of size XXXX which is greater than the allowable maximum row size of YYYY" error is encountered when comparing SQL tables which contain nvarchar and nchar columns
  • Canceling the comparison process results in all of the project’s comparison settings being lost
  • Opening an existing project existing while another project is active will discard the active project without prompting the user to save it
  • Data in identical rows cannot be sorted via Main grid’s columns that hold information on the objects from the destination data source
  • Identical rows are not shown although the "Show equal rows" option has been selected
  • Clicking the close button or pressing the Escape key doesn’t result in a prompt informing the user that the "Synchronization wizard" will be closed
  • Attempting to synchronize databases via the CLI results in an incomplete synchronization script and hence only partially synchronized databases
  • The "Failed to compare two elements in the array" error is encountered when attempting to sort the Main grid’s columns that hold information on the objects from the destination data source if the objects in the destination data source contain less data than the corresponding source data source
  • The "Index was outside the bounds of the array" error is encountered when attempting to synchronize data stored in SQL tables residing on SQL Server 2005 which contain BLOBs

Changes:

  • The application has been split into two versions - Developer and Professional

Release: 2012.01.0026
Date: November 27, 2012
Description: Major Feature Release, Major Fix Release

Enhancements:

  • Comparison is now up to 300% faster for all data types
  • Synchronization is now faster up to 150% for all object types
  • Loading objects in the "Object filter" tab of the "Project" dialog is now faster up to 200% for backups
  • Free space required for comparison has been decreased by up to 2500%
  • The "Show equal rows" option has been added to the project comparison options
  • The "Use checksum for large values comparison" option has been added to the project comparison options
  • The application now uses improved re-comparison logic. If the project options are changed then only the SQL tables and SQL views affected by these changes are re-compared
  • The application now integrates into SQL Server Management Studio 2005, 2008 and 2012 as an add-in:
    • The "ApexSQL Data Diff" main menu commands available: "ApexSQL Data Diff...", "Support forum", "Help" and "About ApexSQL Data Diff"
    • The "ApexSQL Data Diff" Object Explorer context menu commands are now available: "Set as source database" and "Set as destination database"
    • The "ApexSQL Data Diff" tabbed window is featured to initiate the comparison process after selecting data sources and comparison options

Fixes:

  • The "Cannot create a row of size % which is greater than the allowable maximum row size of 8060" error is encountered when comparing SQL tables with NVARCHAR and NCHAR columns
  • When changing the "Ignore ROWGUID column", "Ignore BLOB column" and "Ignore TIMESTAMP column" data comparison options, each object's data is re-compared instead of the data stored in the objects affected by the said option only
  • Data is not synchronized after executing the synchronization script when synchronizing geography to char
  • The "Cannot call methods on varchar" error is encountered when executing the synchronization script for the VARCHAR(MAX) type
  • The "Process cannot access the file ‘report_data.htm’ because it is being used by another process" error is encountered when attempting to overwrite an already open report
  • The "Edit current project settings..." command is available in the context menu even if a project hasn't been opened
  • SQL tables without unique clustered indexes are listed as "Incomparable" with the reason "Only in source" or "No unique" when comparing a database with a backup even though they do exist in both
  • An incorrect error message "Select object(s) to synchronize" is displayed when attempting to synchronize a selected object without selecting any of the data rows it contains
  • The main grid "Object name" column filters "{Empty}" and "{Not empty}" are not working for objects listed as "Incomparable"
  • The "Input string was not in a correct format" error is encountered when comparing databases with DECIMAL data values
  • The "Specified argument was out of the range of valid values" error is encountered when using the "Next difference row" button in the empty "Data differences" pane
  • Selecting a data row in the detail grid doesn't automatically select the object containing that row in the main grid and vice versa
  • Hovering over either "Check all rows" or "Uncheck all rows" buttons in the "Data differences" pane increases the CPU load to 98%
  • The "Specified cast is not valid" error is encountered when comparing a database against compressed backups

Changes:

  • Different names for the "Application options" button in the Home tab and for the Quick access menu "Options" button

Known limitations:

  • Data sources containing SQL tables without a unique clustered index cannot be compared against backups
Release: 2011.02.0021
Date: September 06, 2012
Description: Hot-fix release

Fixes:

  • "This implementation is not part of the Windows Platform FIPS validated cryptographic algorithms" error is encountered during the application execution when 'System cryptography: Use FIPS compliant algorithms for encryption, hashing, and signing' system security policy is enabled
  • "Could not enable or disable the constraint" script execution error in encountered when synchronizing data in FileTables
Release: 2011.02.0020
Date: May 18, 2012
Description: Medium feature, minor fix release

Enhancements:

  • SQL Server 2012 databases and backups are now fully supported for comparison and synchronization
  • Natively compressed backups are now supported for comparison
  • SPARSE and FILESTREAM columns can now be extracted and compared from backups
  • Project Defaults dialog height has been increased to display all options by default
  • Application now provides a warning when synchronizing NULL to not NULL columns
  • 'SQL Server 2012 Management Studio' output editor setting has been added to Options form to allow opening of synchronization script in SQL Server 2012 Management Studio

Fixes:

  • REAL values are synchronized with loss of precision when synchronization script is executed from SQL Server Management Studio
  • Row filter set on Object filter step of Project wizard is ignored during synchronization
  • Synchronization fails when synchronizing NULL to not NULL columns if any of the source rows contains NULL value
  • 'Source backup is not selected' error message is encountered when comparing a database without specified login credentials to a backup
  • Object filtering and mapping settings are not saved when using Save As command before making any changes to the project

Known limitations:

  • Tables without unique clustered index cannot be compared from backups
Release: 2011.01.0017
Date: December 14, 2011
Description: Major feature release, major fix release

Enhancements:

  • SQL Server Denali databases and backups can now be compared and synchronized
  • Application will now run as 64-bit process under 64-bit OS
  • Comparison performance has been improved up to 15% depending on the case
  • Object filtering performance has been improved
  • Additional warnings have been introduced for table and column mapping

Fixes:

  • Both names are shown for differently named mapped objects in the source Object name column on object filter
  • Metadata is unnecessarily reloaded each time object filter is activated
  • Main grid can be detached from the frame but cannot be attached back to it
  • No warning is shown when attempting to map a table without clustered index from a backup
  • Non-existing backup set can be specified in CLI
  • Illegal in the file system characters can be specified in synchronization script name
  • Equally named objects are not auto included in comparison when their columns are mapped manually
  • Checked and excluded object counts are updated improperly in status bar
  • Synchronization wizard can be started with all rows for all selected objects excluded from synchronization
  • 'Checked Only' 'CSV data export' setting can be set independently from parent 'Different' setting
  • Folder selection is not preserved in Project Management dialog
  • Different rows may be incorrectly identified as missing and additional when comparing a SQL Server 2000 database vs a SQL Server 2000 backup
  • Precision is scripted incorrectly into synchronization script for DATETIME2 values
  • Incorrect version is shown in status bar for SQL Server 2008R2 instances
  • System.OverflowException exception is encountered when comparing DECIMAL values from a backup
  • System.IndexOutOfRangeException exception is encountered when checking an object with all rows excluded from synchronization in main grid
  • Tooltips for GEOGRAPHY, GEOMETRY and HIERARCHYID columns unnecessarily show schema beside data type name in difference details grid
  • No warning is generated when attempting to synchronize GEOMETRY columns into GEOGRAPHY ones and vice versa
  • Column order, width and sorting order is not preserved on object filter
  • No warning is shown for corrupt projects but empty synchronization script is generated instead
  • Object filter is sorted by row count vs. object name by default
  • Unicode data stored in columns of non-Unicode text data types is synchronized incorrectly
  • No warning is shown when attempting to map columns with incompatible data types
  • GEOGRAPHY data is scripted incorrectly into synchronization script when synchronizing to a CHAR column
  • 'Synchronize now' output action is unavailable in Synchronization wizard when synchronizing a backup to a database
  • Extended properties get recreated twice for nonclustered indexes when 'Drop not unique indexes' option is ON
  • Comparing a database vs. a backup may result in System.FormatException exception

Changes:

  • /output_type CLI switch vbs argument has been deprecated

Known limitations:

  • Only tables with unique clustered index can be compared from backups
  • SPARSE and FILESTREAM columns cannot be extracted and compared from backups
Release: 2010.01.0015
Date: April 22, 2011
Description: Major feature release, medium fix release

Enhancements:

  • Separate backup sets can now be selected for comparison from Backup data sources
  • New Summary and warnings step has been implemented in Synchronization Wizard
  • View DDL main grid context menu command is now available for Backup data sources
  • New All records grid has been added to Data Differences panel
  • Previous Different Row, Next Different Row, Previous Different Cell and Next Different Cell tool buttons have been added to Data Differences panel toolbar
  • New Office 2007 style interface with ribbon bar, quick access toolbar, and ApexSQL Data Diff button has been introduced
  • New Resources ribbon bar has been introduced for quick access to Help page, Support forum, Training page, FAQs, Knowledge base, Troubleshooting, Contact and Get Updates dialog boxes
  • New standard Project Management dialog has been introduced
  • Project Management dialog now shows recently used projects or projects stored in any folder of choice
  • Projects can be Pinned/Un-Pined to Recent Projects list on Project Management dialog
  • Data sources can be compared directly from Project Management dialog box
  • Synchronization direction is shown directly in Project Management dialog box for selected project
  • Project description can be edited directly from Project Management dialog
  • 'Show on Startup' option has been added to Project Management dialog box
  • Startup Action options group has been added to Options dialog to control Project Management dialog behavior. Available choices are 'Show Project Management dialog', 'Show last opened project' and 'None'
  • Project Defaults can now be defined for newly created projects
  • Project options can now be saved as current user defaults settings
  • Project options can now be reset either to current user or to ApexSQL defaults
  • Each project option has now an associated tooltip with description
  • New tooltip balloons have been added to data source bars of main window Status bar
  • Options dialog has been redesigned with new Office 2007 button bar
  • Application can now be presented in 3 color schemes: Blue, Silver and Black
  • The following new connection options have been implemented for Database data source: 'Execution timeout' and 'Encrypt connection'
  • Object filter Project Settings form tab has been redesigned for improved usability
  • New Object Filter Editor allows to filter objects based on 'Exclude if' or 'Include if' conditions
  • New Object Filter Editor can use the following comparison operators: 'Equal', 'Not Equal', 'Between', 'Not between', 'Contains', 'Not contains', 'Begins with', 'Ends with', 'Any of' and 'None of' and the following logical operators: 'And', 'And not', 'Or' and 'Or not'
  • Row Filter dialog now shows filtered row counts
  • Show Advanced Tabs button in Project Management dialog box displays additional steps (Object filter, Object mapping and Additional scripts)
  • Editor for synchronization script can be selected on Output Options step of Synchronization Wizard
  • Main grid supports 2 predefined grouping types: Group by object type and No grouping
  • New main grid row filter can use the following comparison operators: 'Equal', 'Not Equal', 'Begins With', 'Ends With' and 'Contains' for string columns and 'Equal', 'Not Equal', 'Greater Than', 'Greater Than Or Equal', 'Less Than' and 'Less Than Or Equal' for numeric columns
  • Number of checked objects and number of filtered objects are now displayed in main window Status bar
  • New Comparison Statistics dialog is shown in response to clicking on Checked and Excluded bars of main window Status bar
  • Data cache location has been made an option and is available on Options dialog
  • The following new switches have been added to CLI:

    /bs1:arg [ /backup_set1 ] : Specifies source backup set GUID

    /bs2:arg [ /backup_set2 ] : Specifies destination backup set GUID

Fixes:

  • "The XML data type cannot be compared or sorted, except when using the IS NULL operator." error is encountered when executing DELETE statements against tables without natural keys containing XML columns
  • No warning is generated for /sync switch specified for Backup data source in CLI
  • Synchronization script is generated for identical data sources in CLI
  • Application doesn't disable foreign keys in synchronization script generated for Backup data source when 'Disable foreign keys and triggers' option is ON
  • No warning is generated for /comparison_keys switch specified for Backup data source in CLI
  • 'System.Exception' exception is encountered on loading invalid project
  • 'System.OverflowException' exception is encountered when comparing columns of decimal(30, 29) data type
  • 'System.Text.EncoderFallbackException' exception is encountered when comparing character data encrypted by EncryptByPassPhrase function
  • Application detects false differences in character data without trailing spaces when 'Ignore Trailing Spaces' option is OFF
  • Application detects identical rows in tables larger than 150,000 rows incorrectly
  • 'Ignore Trailing Spaces' option doesn't get applied to columns used in selected comparison key
  • Sql_variant column data gets converted to character in generated synchronization scripts
  • 'System.IO.IOException' exception is encountered on comparison in case there's not enough space for data cache on the disk
  • Columns of character data types get sorted incorrectly in Data Differences panel
  • Empty synchronization script is generated with /treat_list_as_exclude switch specified in CLI
  • Only tables get compared with /object_types switch omitted in CLI
  • Synchronization Wizard is opened with no differences selected in Data Differences panel

Changes:

  • The following options have been moved to Project Settings form from Synchronization Wizard

    Transactions

    Batching

    Database configuration

    Optional script elements

    Additional scripts

  • Object mapping has been split off from Object filter into a separate Project Settings form tab
  • Select and Group columns capabilities have been removed from main grid
  • Description tab has been removed from Project Settings form
  • Show System Databases option has been removed from Data sources tab and system databases are now always shown in database pick lists
  • Application assemblies are now signed using ApexSQL private key and can be manually verified for validity

Known limitations:

  • Only tables with unique clustered index defined can be compared from Backup data source
  • Reading of FILESTREAM and SPARSE columns from Backup data source is currently unsupported

Release: 2008.05.0013
Date: November 13, 2009
Description: Minor fix release

Fixes:

  • System.DivideByZeroException error encountered when comparing text data if "Ignore Trailing Spaces" option is ON
  • User can't move/overwrite/delete backup file after using it as a data source in comparison

Changes:

  • Application evaluation period has been changed from 30 to 14 days

Release: 2008.04.0012
Date: October 08, 2009
Description: Minor feature, minor fix release

Enhancements:

  • Large values (of data types like image, text, nvarchar(max), etc.) are now synchronized in parts

Fixes:

  • Backups are created without WITH COPY_ONLY option in synchronization scripts
  • "System.ApplicationException" exception is thrown on Project Settings form's Object Filter tab selection
  • Incorrect message is shown on comparison with "clr enabled" SQL Server option disabled
  • Non-mapped objects are shown as mapped after selection profile import
  • It's impossible to configure and save projects with data sources not set
  • New objects aren't auto mapped on refresh
  • System.OutOfMemory exception is thrown on large values (>1GB) comparison or synchronization

Release: 2008.03.0010
Date: July 27, 2009
Description: Medium fix release

Fixes:

  • Object filter step of Project Settings wizard's overall performance is very slow for data sources accessed over VPN
  • TruncationException is thrown on geometry data type comparison
  • Incorrect icons are used for server and database in Synchronization Wizard status bar
  • Icons aren't properly aligned in Main Toolbar
  • Success message is incorrectly shown for CSV exports when there's no data to export
  • /b1 switch doesn't take precedence over /pf1 switch in CLI
  • Prohibited implicit conversion is used for varchar, (var)binary and xml data types
  • Explicit conversion is used for sql_variant, xml and varbinary(max) datatypes even if implicit conversion suffices
  • CLI switch shortcuts /io, /do and /coo aren't recognized when used together with /data_html_report_options or /csv_report_options switches
  • OutOfMemory exception is thrown when synchronizing large (>1GB) databases
  • Custom table mappings aren't saved in projects
  • Object DDLs are parsed with syntax errors in View DDL form in case SQL Server authentication is used
  • NullReference exception is thrown on mapping tables from differential backups
  • Object check states aren't reset after synchronization
  • CryptographicException is thrown on connecting to server by IP address if Store Encrypted Password option is off
  • Application always uses batches in CLI even if /batch_every_n_rows switch isn't specified
  • "Unexpected error: Year, Month, and Day parameters describe an un-representable DataTime" error is thrown on backup comparison if backup date format is different from local one
  • Incomparable objects are always shown with empty Reason column

Changes:

  • Prompt to save Project Changes on options group was removed from Options form
  • Default synchronization script file name was changed from sync_script.sql to Synchronize.sql
  • Compared object comparison results tab was renamed to Different
  • A few labels, tooltips, and captions throughout application were updated to better correspond with ApexSQL's internal standards
  • HTML Report Options form was unified with CSV Data Export Options form
  • Now when generated script can't be opened with internal editor (when it's >3MB in size) user is offered to select another editor in addition to saving script to file

Known limitations:

  • Only tables with unique clustered index can be compared in backups

Release: 2008.02.0009
Date: January 21, 2009
Description: Minor fix release

Fixes:

  • Bad verbose output when using Command line for backup data sources
  • Using Regular expression pattern for comparison that doesn't match any table worked as all possible tables were matched
  • Project filtering will be disabled if destination database is changed
  • Money fields are read incorrectly from backups
  • Main toolbar name was "Main Toolbar" instead of "Standard"
  • Regular expression filter values will be corrupted after comparison in some cases
  • In Synchronization Wizard there will be no advanced options state saved after wizard reopening
  • In Synchronization Wizard Save As button won't update Project Name
  • Main grid tabs Compared, Identical, and Incomparable not having number of elements
  • After Compare button is pressed data source information is lost in some cases
  • Ignore options doesn't affect comparison

Changes:

  • Offline help file is no longer provided and application will now directly access online help from the default system browser

Known limitations:

  • Backup data source: only tables with unique clustered index can be compared. Incomparable tables can be viewed in Incomparable Objects form
  • Backup data source: only unique clustered index can be used as comparison key
  • Backup data source: comparison and synchronization of views are not supported

Release: 2008.01.0006
Date: November 25, 2008
Description: Medium feature, minor fix release
Note: In 2008, ApexSQL Diff was split into two products: ApexSQL Diff, for structure comparison and ApexSQL Data Diff for data comparison. These release notes cover all previous versions of the pre-split product, ApexSQL Diff, and new versions of ApexSQL Data Diff.

Enhancements:

  • Support for backup files as data source for comparison
  • New /b1(/b2) CLI switch to specify database backup file as data source for comparison
  • Support for new SQL 2008 data types (date, datetime2, datetimeoffset, geography, geometry, hierarchyid, time)
  • Ability to resize Row Filter window
  • Ability to sort mapped tables editor by schema/name
  • Ability to resize Columns Editor window
  • Ability to copy cell content of the result grid to clipboard
  • Improved visual representation of different columns
  • New buttons "<< Clone" and "<< Reverse >>" for data sources in Project Settings
  • Added "Reset Page Settings to Last Saved Values" option in Project Settings
  • Added "Default Directory" and "Default File Name" options for synchronization script to "Options" form
  • New "Properties" tab that allows changing of project name and description
  • Ability to customize colors for Source and Destination columns in main grid
  • Ability to customize the representation of data comparison results with colors and cell patterns (Differences in Data panel)

Fixes:

  • Indexes for comparison key are not detected properly for backup data source
  • Tables without unique clustered index are not excluded from comparison for backup data source
  • Reading data for backup data source may result in error
  • Options that are not supported for backup data source are displayed in Project Settings
  • Error encountered when generating synchronization script for backup data source
  • CLI is not updated for backup data source
  • Source columns of ignored datatypes are incorrectly selected for comparison

Changes:

  • Comparison options do not affect columns check state but may exclude the columns from the comparison
  • 3 tabs with grids in Main form to display Compared, Identical, Incomparable objects (tables/views)
  • Changed how BLOB/CLOB fields are displayed in the data details grid
  • Splitting row count column of the Data Tables/Views wizard tab into 2 columns (for source and destination row counts)
  • Replaced Comparison Wizard with new Project Settings
  • Synchronization Wizard steps reduced to 3 main steps
  • Added status bar to Synchronization Wizard
  • Added "Edit Current Project Settings..." menu item to context menu of objects grid
  • All grid related tool bar buttons in Main window are moved to a separate tool bar (hidden by default)
  • Sorting order for Status column in objects grid (#1 Different, #2 Additional, #3 Missing, #4 Identical)
  • Changed default grouping for object grid to Status column
  • Removed Records To Compare options
  • Removed "Treat Object Selections As Exclude" option from Synchronization Wizard

Known limitations:

  • Backup data source: only tables with unique clustered index can be compared. Incomparable tables can be viewed in Incomparable Objects form
  • Backup data source: only unique clustered index can be used as comparison key
  • Backup data source: comparison and synchronization of views are not supported