Release notes for SqlPackage.exe

Download the latest version

This article lists the features and fixes delivered by the released versions of SqlPackage.exe.

18.3 sqlpackage

Platform Download Release date Version Build
Windows MSI Installer September 6, 2019 18.3 15.0.4532.1
macOS .NET Core (preview) .zip file September 6, 2019 18.3 15.0.4532.1
Linux .NET Core (preview) .zip file September 6, 2019 18.3 15.0.4532.1
Windows .NET Core (preview) .zip file September 6, 2019 18.3 15.0.4532.1


Feature Details
Azure SQL Data Warehouse (preview) Add support to deploy to Azure SQL Data Warehouse.
Deployment Add /p:DatabaseLockTimeout=(INT32 '60') parameter to sqlpackage.
Deployment Add /p:LongRunningCommandTimeout=(INT32) parameter to sqlpackage.
Export/Extract Add /p:TempDirectoryForTableData=(STRING) parameter to sqlpackage.
Deployment Allow deployment contributors to be loaded from additional locations. Deployment contributors will be loaded from the same directory as the target .dacpac being deployed, the Extensions directory relative to the sqlpackage.exe binary, and the /p:AdditionalDeploymentContributorPaths=(STRING) parameter added to sqlpackage where additional directory locations can be specified.
Deployment Add support for OPTIMIZE_FOR_SEQUENTIAL_KEY.


Fix Details
Deployment Fix to ignore automatic indexes so that they are not dropped on deployment.
Always Encrypted Fix for handling Always Encrypted varchar columns.
Build/Deployment Fix to resolve the nodes() method for xml column sets.
ScriptDom Fix additional cases where the 'URL' string was interpreted as a top level token.
Graph Fix generated TSQL for pseudo column references in constraints.
Export Generate random passwords that meet complexity requirements.
Deployment Fix to honor command timeouts when retrieving constraints.
.NET Core (preview) Fix diagnostic logging to a file.
.NET Core (preview) Use streaming to export table data to support large tables.

18.2 sqlpackage

Platform Download Release date Version Build
Windows MSI Installer April 15, 2019 18.2 15.0.4384.2
macOS .NET Core (preview) .zip file April 15, 2019 18.2 15.0.4384.2
Linux .NET Core (preview) .zip file April 15, 2019 18.2 15.0.4384.2


Feature Details
Add graph table support for edge constraints and edge constraint clauses.  
Enabled model validation rule to support 32 columns for index keys for SQL Server 2016 and up.  


Fix Details
Fix reverse engineering a SQL Server 2016 RTM database due to an unsupported query hint being used.  
Fix deployment ordering of auto close alter statements to occur before create filegroup statements.  
Fix ScriptDom parsing regression where the 'URL' string was interpreted as a top level token.  
Fix a null reference exception when parsing an alter table add index statement.  
Fixed schema compare for nullable persisted computed columns always showing as different.  

18.1 sqlpackage

Release date:   February 1, 2019
Build:   15.0.4316.1
Preview release.


Feature Details
Added support for UTF8 collations.  
Enabled nonclustered columnstore indexes on an indexed view.  
Moved to .NET Core 2.2.  
Use memory backed storage for schema compare on .NET Core.  


Fix Details
Performance fix to use the legacy cardinality estimator for reverse engineering queries.  
Fixed a significant schema compare performance issue when generating a script.  
Fixed the schema drift detection logic to ignore certain extended event (xevent) sessions.  
Fixed import ordering for graph tables.  
Fixed exporting external tables with object permissions.  

Known issues

This release includes cross-platform preview builds of sqlpackage that target .NET Core 2.2. The sqlpackage can run on macOS and Linux.

Known issue Details
Build and deployment contributors aren't supported.  
Older .dacpac and .bacpac files that use json data serialization aren't supported.  
Referenced .dacpacs (for example master.dacpac) may not resolve due to issues with case-sensitive file systems. A workaround is to capitalize the name of the reference file (for example MASTER.BACPAC).

18.0 sqlpackage

Release date:   October 24, 2018
Build:   15.0.4200.1


Feature Details
Added support for database compatibility level 150.  
Added support for Managed Instances.  
Added MaxParallelism command-line parameter to specify the degree of parallelism for database operations.  
Added AccessToken command-line parameter to specify an authentication token when connecting to SQL Server.  
Added support to stream BLOB/CLOB data types for imports.  
Added support for scalar UDF 'INLINE' option.  
Added support for graph table 'MERGE' syntax.  


Fix Details
Fixed unresolved pseudo-column for graph tables.  
Fixed creating a database with memory optimized file groups when memory optimized tables are used.  
Fixed including extended properties on external tables.  

17.8 sqlpackage

Release date:   June 22, 2018
Build:   14.0.4079.2


Feature Details
Improved error messages for connection failures, including the SqlClient exception message.  
Support index compression on single partition indexes for import/export.  


Fix Details
Fixed a reverse engineering issue for XML column sets with SQL 2017 and later.  
Fixed an issue where scripting the database compatibility level 140 was ignored for Azure SQL Database.  

17.4.1 sqlpackage

Release date:   January 25, 2018
Build:   14.0.3917.1


Feature Details
Added ThreadMaxStackSize command-line parameter to parse Transact-SQL with a large number of nested statements.  
Database catalog collation support.  


Fix Details
When importing an Azure SQL Database .bacpac to an on-premise instance, fixed errors due to Database master keys without password are not supported in this version of SQL Server.  
Fixed an unresolved pseudo column error for graph tables.  
Fixed using the SchemaCompareDataModel with SQL authentication to compare schemas.  

17.4.0 sqlpackage

Release date:   December 12, 2017
Build:   14.0.3881.1


Feature Details
Added support for temporal retention policy on SQL 2017+ and Azure SQL Database.  
Added /DiagnosticsFile:"C:\Temp\sqlpackage.log" command-line parameter to specify a file path to save diagnostic information.  
Added /Diagnostics command-line parameter to log diagnostic information to the console.  


Fix Details
Do not block when encountering a database compatibility level that is not understood. Instead, the latest Azure SQL Database or on-premises platform will be assumed.