Solutions
Products
By category
Value bundles
Save when you purchase multiple tools in a discounted bundle
Database administration
Tools for DBAs including auditing and recovery
SQL development
Productivity tools for SQL developers and DBAs
Add-ins
Productivity add-ins for SQL Server Management Studio and Visual Studio
Programmable APIs
Programmable application interfaces for our most popular engines
All ApexSQL tools
A full listing of all of our tools, add-ins and APIs
Popular
ApexSQL Log
Read SQL Server transaction log. Audit and undo changes
ApexSQL Recover
Recover deleted or dropped data and objects
ApexSQL Diff
Compare SQL database schema
ApexSQL Data Diff
Compare SQL database data
ApexSQL Doc
Document SQL databases and SSIS packages
ApexSQL Audit
Audit and undo SQL database changes
ApexSQL Complete
Auto-complete and coding productivity features
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
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
Home
Programmable APIs
ApexSQL Diff API
Release notes
What's next
Blog
What's new
ApexSQL Diff API release notes
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 isincorrectly 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