Products
Server management
ApexSQL Log
Audit, undo or replay SQL database changes
ApexSQL Recover
Recover deleted, dropped, corrupted or lost data
ApexSQL Restore
Work with backups just like with live databases
Programmable APIs
ApexSQL Diff API
Compare and synchronize SQL databases programmatically
ApexSQL Log API
Audit SQL database changes programmatically
Database development
ApexSQL Audit
Track data changes to SQL databases
ApexSQL Build
Build, update and deploy SQL databases
ApexSQL Clean
Analyze dependencies and remove unused objects
ApexSQL Data Diff
Compare and synchronize SQL database data
ApexSQL Diff
Compare and synchronize SQL database objects
ApexSQL Doc
Document SQL instances, databases and SSIS packages
ApexSQL Script
Script and package SQL databases
Productivity Add-ins
ApexSQL Complete
Auto-complete and coding productivity features
ApexSQL Refactor
Format and refactor SQL code
ApexSQL Profile
Performance profile SQL code
ApexSQL Search
Search SQL objects and data and visualize dependencies
ApexSQL Version
Database version control integration
Value bundles
ApexSQL Change Management Studio
Save
60%
on a complete database change management toolkit
ApexSQL Developer Studio
Save
70%
on all ApexSQL
developer tools and productivity add-ins
ApexSQL Universal Studio
Save
80%
on all ApexSQL
tools in a single bundle
Download
Purchase
Support
Support center
Get started with ApexSQL support
Support forum
Get help directly from staff and peers
Support FAQs
Answers to common questions
Troubleshooting
Known issues and workarounds
Knowledgebase
How-to articles, tips and suggestions
Documentation
Online and downloadable help files
Product videos
Videos for intro, what's new and special topics
Getting started
Articles and videos to get you started with our tools
News
Blog
Get the latest on new releases, updates, promotions
What's new
Information on all new product releases and updates
What's next
A roadmap of upcoming releases and updates
Newsletter
The latest news via email
Press releases
Newsworthy company and product release information
Product updates
Alerts on all product releases including subscription
Company
Why ApexSQL?
Find out what makes us different and better
Jobs
Become a part of the ApexSQL team
Gear
Merchandise for user groups and promotions
Contact us
Contact sales or support by email or phone
ApexSQL Diff API release notes
Release:
2011.02.0021
Date:
May 14, 2013
Description:
Hot-fix release
Fixes:
The application generates CREATE/ALTER role statements in the wrong order when one role is a member of the other
The application creates constraints before it adds a function into the synchronization script
The "Index was outside the bounds of the array" error is encountered when calling the "Synchronize" function from the class DataProject for a table with BLOB fields
Known limitations:
Data sources containing SQL tables without a unique clustered index cannot be compared against backups in "Data mode"
Release:
2011.02.0019
Date:
December 05, 2012
Description:
Hot-fix release
Fixes:
The API ignores the following switches: "SynchronizeDifferentRows", "SynchronizeAdditionalRows", "SynchronizeMissingRows" and synchronizes all data in different databases as a result
Known limitations:
Data sources containing SQL tables without a unique clustered index cannot be compared against backups in "Data mode"
Release:
2011.02.0018
Date:
October 10, 2012
Description:
Hot-fix release
Fixes:
"The type initializer for 'ApexSql.Backup.CoreEngineer' threw an exception" error is encountered during initialization if the API is not activated after evaluation period expires
Known limitations:
Tables without unique clustered index cannot be compared from backups in Data mode
Release:
2011.02.0017
Date:
August 15, 2012
Description:
Hot-fix release
Enhancements:
The API is now FIPS compliant
Fixes:
Synchronization pre-processing and post-processing scripts are not executed
Known limitations:
Tables without unique clustered index cannot be compared from backups in Data mode
Release:
2011.02.0016
Date:
June 20, 2012
Description:
Medium feature, medium fix release
Fixes:
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 in Data mode
The following SQL Server 2012 object types are now fully supported in Structure mode:
Sequence
Search property list
Changes:
API assemblies are compiled for .NET Framework 3.5 with SP1 target
Known limitations:
Tables without unique clustered index cannot be compared from backups in Data mode
Release:
2011.01.0014
Date:
February 02, 2012
Description:
Major feature, major fix release
Enhancements:
Dynamic libraries (*.dll) built with activated API now do not require activation when used same as executables (*.exe)
Performance in Structure mode has been improved for all common usage scenarios ranging from 10 to more than 700%. Most noticeable improvements are Script Folder and Source Control data source comparison (up to 400%), synchronization script execution (up to 400% and higher) and synchronization to Script Folder and Source Control data sources (up to 700% and higher)
Comparison performance in Data mode has been improved up to 15% depending on the case
SQL Server Denali/2012 RC0 databases and backups can now be compared and synchronized in both Structure and Data modes
The following new SQL Server Denali/2012 RC0 features can now be compared and synchronized in Structure mode:
Search property list name attribute for Fulltext Indexes,
Poison message handling attribute for Queues,
Geometry and Geography Auto Grid tessellation scheme for Spatial Indexes
SQL Server 2005 and higher version encrypted objects can now be decrypted and processed (requires membership in the sysadmin server role)
Separate backup sets can now be selected for comparison from Backup data sources
Synchronization summaries and warnings are now available in Data mode via DataProject.Summaries and DataProject.Warnings properties
Fulltext Stoplists are now fully supported for comparison and synchronization in Structure mode
The following new properties have been implemented in ConnectionProperties class:
ExecutionTimeout,
Encrypt
Fixes:
ApexSql.Diff.UnhandledException exception is encountered when exporting a database containing objects with ‘$’ character in names to Source Control Visual Source Safe system using Native driver
ApexSql.Diff.UnhandledException exception is encountered when exporting multiple databases into the same Subversion system project using Native driver
System.NullReferenceException exception is encountered when accessing StructureProject.SourceConnectionProperties and StructureProject.StoreSourceEncryptedPassword properties if data source type is Script Folder
System.NullReferenceException exception is encountered when accessing Database.CompatibilityLevel and Database.Collation properties
System.StackOverflowException exception is encountered when looping through ComparedDataObject.DifferentRows property using foreach
System roles are not synchronized to Script Folder data sources
Constraint names are scripted not qualified into synchronization script
Indexes are differently scripted for different SQL Server versions
ApexSql.Diff.UnhandledException exception is encountered when comparing a database with a script folder that contains duplicate primary key definitions
Primary key and unique constraints with different column order are detected as equal with ‘ASC/DESC for Index Columns’ option ON
Extended properties on User Defined Data Types do not get exported to Script Folder data source from SQL Server 2000 databases
Partition Functions based on NCHAR and NVARCHAR data types get synchronized incorrectly
ApexSql.Diff.UnhandledException exception is encountered when comparing Tables with a few indexes different in secondary attributes
Unsupported WHERE clause of statistics objects get synchronized from SQL Server 2008 to SQL Server 2000/2005 data sources
Dependent Tables may not get included in synchronization script when synchronizing Triggers with SynchronizationOptions.IncludeDependentObjects option ON
Synchronization script attempts to change CHECK/NOCHECK attribute of foreign key constraint after dropping
Difference code is not set for User Defined Data Types different in nullability in HTML Reports generated for SQL Server 2008 databases
Some differences in spaces for script-based objects do not get marked in HTML Reports
Differences in parameter type of Partition Functions are not detected
Comments enclosed within /* */ are not ignored when Ignore Comments option is ON
Data source type is not indicated for Script Folder and Source Control data sources in HTML Reports
Differences in parameter order of Stored Procedures are not detected
Tables dependent on XML Schema Collections get synchronized with errors
Differences in DATA_COMPRESSION attribute of Tables are not synchronized
Spaces after commas (,) are not ignored when ComparisonOptions.IgnoreSpacesInBodies option is ON
Equal Stored Procedures with parameters of XML data type are reported as different
Associated unique constraint gets unnecessarily recreated in synchronization script when renaming respective table column
"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
ApexSql.Diff.UnhandledException exception is encountered when comparing columns of DECIMAL(30, 29) data type
ApexSql.Diff.UnhandledException exception is encountered when comparing character data encrypted by EncryptByPassPhrase function
Application detects false differences in character data without trailing spaces when ComparisonOptions.IgnoreTrailingSpaces option is OFF
ComparisonOptions.IgnoreTrailingSpaces option is not applied to the columns from the selected comparison key
SQL_VARIANT column data gets converted to text in generated synchronization scripts
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
Unicode data stored in columns of non-Unicode text data types is synchronized incorrectly
GEOGRAPHY data is scripted incorrectly into synchronization script when synchronizing to a CHAR column
Changes:
ComparisonOptionsBase.TreatListAsExclude property is no longer supported in Structure mode and was marked as obsolete
Application assemblies are now signed using ApexSQL private key and can be manually verified for validity
Known limitations:
Only tables with unique clustered index can be compared from Backup data sources in Structure mode
SPARSE and FILESTREAM columns cannot be extracted and compared from Backup data sources in Structure mode
Release:
2008.03.0013
Date:
March 3, 2010
Description:
Medium feature, medium fix release
Enhancements:
The following new datasources are now supported:
Script Folder in Structure mode
Source Control (Subversion, Microsoft Visual SourceSafe, Team Foundation Server, SourceGear Vault) in Structure mode
Backup in Data mode
Changes:
Dependent tables aren't considered in synchronizing different in parameters functions with 'IncludeDependentObjects' option ON
SCHEMABINDING attribute isn't reset for views prior to altering objects they depend on with 'IncludeDependentObjects' option ON
Object names are outputted without schemas in PRINT statements and comments
Changing column nullability from NULL to NOT NULL results in "Cannot insert the value NULL into column
. Column does not allow nulls. UPDATE fails" error if target table isn't empty
Blank line is added before GO in ALTER TABLE ALTER COLUMN statement in synchronization script
Dependent views aren't detected for views
Dependencies on user data types aren't found for SQL Server 2000 databases
SQL Server 2008 fulltext indexes are scripted in SQL Server 2008 syntax to databases in 90 compatibility mode
Firing order is lost on trigger alteration
System.OutOfMemoryException exception is thrown on generating snapshots for large (>10,000 objects) databases
Database snapshots cannot be read if they are created on a system with date/time format MM/DD/YY hh.mm.ss.ffff
System.OutOfMemoryException exception is thrown on large values (>1GB) comparison/synchronization in Data mode
'Add Foreign Key' action is listed twice in StuctureProject.Summaries property for each foreign key constraint
Synchronization script unnecessarily recreates table when adding a new TIMESTAMP column
Dependent tables aren't considered in synchronizing different foreign keys with 'IncludeDependentObjects' option ON
CHANGE_TRACKING table property isn't synchronized
Synchronization script unnecessarily recreates table when recreating its foreign key
Changes:
Diff.StructureProjects and Diff.DataProjects properties now contain paths to recently used projects instead of references
Application evaluation period has been changed from 30 to 14 days
Release:
2008.02.0011
Date:
September 28, 2009
Description:
Minor fix release
Fixes:
ProjectBase.ExecuteSynchronizationScript() function doesn't return error messages generated during the execution of synchronization script
In synchronization script, IDENTITY attribute is lost for tables that are recreated
OwnerMapping.AddMapping() function allows the addition of duplicate mappings
OwnerMapping.LoadProfile() function throws unclear exceptions for corrupted profiles
Database.CaseSensitive property is always True for case-insensitive databases and snapshots
Activation form points to to the wrong help topic
Cannot save projects where data sources have not been set
MappedTables.GetItemBySourceName() and .GetItemByDestinationName() functions return incorrect objects for case-sensitive snapshots
Extended properties are not scripted for indexes created on a primary key constraint
False differences in unique constraints appear when comparing a SQL Server 2005 database vs SQL Server 2008
Information about database case sensitivity is missed in database snapshots
Database trigger state is neither compared nor synchronized if source or target trigger is disabled
OutOfMemory exception is thrown when parsing large databases (>10,000 objects) if SynchronizationOptions.IncludeDependentObjects option is on
Views are ordered incorrectly on synchronization if one view is referenced by another view in CASE operator
Release:
2008.01.0010
Date:
June 26, 2009
Description:
Major feature, major fix release
Enhancements:
Performance of comparison and synchronization was significantly improved (up to 5x faster than in previous version)
The following SQL Server 2008 features are now supported:
Table-valued user data types
Sparse columns
FILESTREAM storage
DATA_COMPRESSION option
READONLY procedure parameters
New geometry, geography and hierarchyid data types
Column sets
CRYPTOGRAPHIC_PROVIDER credential attribute
New date and time types (date, datetime2, datetimeoffset, time)
Fixes:
NOT NULL columns are added to tables prior to default constraints
Extra parenthesis cause false differences in check constraints
Differences in table filegroups are not detected in database vs snapshot comparisons
Equal functions are incorrectly marked as different in SQL Server 2000 vs SQL Server 2005 comparisons
"Data is NULL" exception is thrown on table columns reloading
Incorrect existence checks are generated for triggers in SQL Server 2005 to SQL Server 2000 synchronization scripts
Foreign key CASCADE attribute is omitted in synchronization scripts
"Dbo has insufficient rights" error in displayed when reloading CLR DDL triggers
User "guest" is incorrectly loaded from databases where it doesn't exist
Length is incorrectly scripted for nvarchar-based user data types for SQL Server 2008 databases
TEXTIMAGE_ON attribute isn't scripted for tables with varchar(max), nvarchar(max) or varbinary(max) columns
Application role default schemas are synchronized via DROP/CREATE instead of ALTER
Disabling DLL triggers causes syntax errors on VBScript synchronization scripts execution
Incorrect synchronization scripts are generated for defaults bound to several columns of the same table
Incorrect synchronization scripts are generated for users with multiple dependencies
Incorrect synchronization scripts are generated for parent assemblies of DDL triggers
Incorrect synchronization scripts are generated for rules bound to user data types
Incorrect synchronization scripts are generated for services bound to contracts
Tables with computed columns are synchronized via ALTER instead of DROP/CREATE
Generating Html Plain Report results in System.AccessViolationException exception
Dependencies from stored procedures, functions and views to user data types aren't detected
User data types are put in synchronization scripts after tables that depend on them
Comparing snapshot with itself detects false differences in function parameters
Data from tables with identity columns is incorrectly preserved in synchronization scripts
Schema bound views and their dependencies are ordered incorrectly in synchronization scripts
Row collection indexers in data mode don't work
False differences in brackets are detected when comparing comparison constraints expressions between SQL Server 2000 database vs SQL Server 2005
Changes:
The following properties are no longer supported and were marked as obsolete:
SynchronizationOptions.ParseExplicitly
DataComparisonOptions.CompareAdditionalRows
DataComparisonOptions.CompareDifferentRows
DataComparisonOptions.CompareMissingRows
DataComparisonOptions.CompareIdenticalRows
HtmlReportOptions.IncludeComparisonResultsByObject
HtmlReportOptions.IncludeObjectsCompared
HtmlReportOptions.IncludeComparisonOptions
HtmlReportOptions.IncludeReportOptions
HtmlReportOptions.IncludeComparisonSummary
HtmlReportOptions.IncludeDifferencesByObject
HtmlReportOptions.IncludeSummaryReport
Release:
2005.02.0009
Date:
March 16, 2009
Description:
Minor fix release
Fixes:
NOT NULL columns with default constraints are sometimes incorrectly added to tables
API doesn't close the connection after the comparison
API generates empty Plain Html report in Structure Mode
API generates invalid Html report in Data Mode without any data for tables and views
API generates empty CSV report in Data Mode
Changes:
Offline help file is no longer provided and application will now directly access online help from the default system browser
Release:
2005.01.0007
Date:
August 21, 2008
Description:
Release