Download the latest version
This article lists the features and fixes delivered by the released versions of SqlPackage.
Current releases
For the latest version information, see Release notes for SqlPackage.
How to read these release notes
The Applies to column in each section is scoped as follows:
- SqlPackage CLI - command-line actions (publish, import, export, extract, Parquet, diagnostics, dotnet tool)
- MSBuild / SQL projects - SQL project build (
Microsoft.Build.Sql SDK, SQL Server Data Tools (SSDT) integration)
- DacFx API / Schema compare -
Microsoft.SqlServer.DacFx NuGet APIs, schema compare
- Platform - ScriptDom, Microsoft.Data.SqlClient, .NET support, system DACPACs, compatibility defaults
Archived releases (162.x and earlier versions)
The following releases are archived and no longer supported.
162.5.57 SqlPackage
Release date: November 21, 2024
dotnet tool install -g microsoft.sqlpackage --version 162.5.57
Features
| Feature |
Details |
Applies to |
| DACPACs |
System DACPAC updates for Synapse Serverless and Azure SQL Database. |
Platform; DacFx API / Schema compare |
| Diagnostics |
Added a new command line parameter to specify the logging level. /DiagnosticsLevel: |
SqlPackage CLI |
| Diagnostics |
Added a new command line parameter to output a .zip diagnostics package, containing target and source model information along with diagnostic logging, deploy script, and deploy report. /DiagnosticPackageFile: |
SqlPackage CLI |
| Fabric Data Warehouse |
Added support for publish to Fabric Data Warehouse databases where table alter statements are required. |
SqlPackage CLI; DacFx API / Schema compare |
| SQL database in Microsoft Fabric |
Added support for SQL database in Microsoft Fabric in the target platform SqlDbFabricDatabaseSchemaProvider. |
SqlPackage CLI; DacFx API / Schema compare |
Fixes
| Feature |
Details |
Applies to |
| Deployment |
Fixed an issue where a deployment fails if there's a stored procedure or function referencing a memory-optimized system-versioned table, and the database is missing a memory-optimized system-versioned table due to being created by DBCC CLONEDATABASE. GitHub issue |
SqlPackage CLI; DacFx API / Schema compare |
| Deployment |
Fixed an issue where deployments to Synapse Serverless with role membership changes fails. |
SqlPackage CLI; DacFx API / Schema compare |
| Deployment |
Fixed an issue where deployments with a master key fail if the password on the master key wasn't set. Developer Community |
SqlPackage CLI; DacFx API / Schema compare |
| Import |
Fixed an issue with clustered columnstore indexes with nvarchar(max), varchar(max), and varbinary(max) types fail to import. GitHub issue |
SqlPackage CLI |
| Import |
Fixed an issue where importing a database with DDL triggers fails because the triggers are enabled before the data import is completed. |
SqlPackage CLI |
162.4.92 SqlPackage
Release date: September 18, 2024
dotnet tool install -g microsoft.sqlpackage --version 162.4.92
Features
| Feature |
Details |
Applies to |
| Deployment |
The default compatibility level for new databases in Azure SQL Database is now set to 160. Blog post |
Platform; SqlPackage CLI |
| JSON |
JSON data type is now supported in the target platform Azure SQL Database for import, export, extract, deployment, and SQL project build. |
SqlPackage CLI; MSBuild / SQL projects; DacFx API / Schema compare |
Fixes
| Feature |
Details |
Applies to |
| Deployment |
Fixed an issue where a partition function with a bit conversion function results in table rebuilds during deployment. GitHub issue |
SqlPackage CLI; DacFx API / Schema compare |
| Deployment |
Fixed an issue where deploying a change to an external table causes all external tables to be dropped and recreated. GitHub issue |
SqlPackage CLI; DacFx API / Schema compare |
| Deployment |
Fixed an issue where temporal tables with spaces in the column names for system_time columns produce invalid deployment scripts. Developer Community |
SqlPackage CLI; DacFx API / Schema compare |
| Deployment |
Fixed an issue where changing the column type between types that are compatible for type cast on a table resulted in an unnecessary table rebuild during deployment. GitHub issue |
SqlPackage CLI; DacFx API / Schema compare |
| Deployment |
Fixed an issue where the deployment script generated for Azure SQL Database includes an ignored statement to turn off Query Store regardless of SQL project settings. |
SqlPackage CLI |
| Export |
Fixed an issue where a BACPAC export fails during serialization but the trace log doesn't contain the failure message. GitHub issue |
SqlPackage CLI |
| Extract |
Fixed an issue where the extract operation reorders the indexes on a table when writing the table definition out to .sql files. |
SqlPackage CLI; DacFx API / Schema compare |
| JSON |
Fixed an issue where the isjson function's json_type_constraint parameter wasn't recognized as a second parameter. GitHub issue |
SqlPackage CLI; DacFx API / Schema compare |
| Platform |
References Microsoft.Data.SqlClient v5.1.6. |
Platform |
| Schema compare |
Fixed an issue where schema compare expects all statements to be in the same batch, resulting in duplicate statements. GitHub issue |
DacFx API / Schema compare |
| ScriptDOM |
References ScriptDOM 16.1.9142 |
Platform |
162.3.566 SqlPackage
Release date: June 24, 2024
dotnet tool install -g microsoft.sqlpackage --version 162.3.566
Fixes
| Feature |
Details |
Applies to |
| Deployment |
Fixed an issue where the deployment contributor API DeploymentPlanModifier methods are set as static methods. GitHub issue |
DacFx API / Schema compare |
| Platform |
The SqlPackage .zip build .NET SDK is updated from 8.0.301 to 8.0.302 |
Platform; SqlPackage CLI |
Known issues
| Feature |
Details |
Workaround |
| Deployment |
The Azure Synapse Analytics Workload Management feature (Workload Groups and Workload Classifiers) isn't yet supported. |
N/A |
| Import |
A BACPAC file created with SqlPackage export, except when installed by the .msi file, might fail to import with the Azure portal and Azure PowerShell when larger than 4 GB. |
Import the BACPAC with SqlPackage or create the BACPAC file with SqlPackage installed by the .msi file. |
| ScriptDOM |
Parsing a large file can result in a stack overflow. |
None |
162.3.563 SqlPackage
Release date: June 6, 2024
dotnet tool install -g microsoft.sqlpackage --version 162.3.563
Features
| Feature |
Details |
Applies to |
| Microsoft Fabric |
Added preview support for the target platform SqlDbFabricDatabaseSchemaProvider, representing Microsoft Fabric mirrored SQL databases. The data types supported in this target platform are limited to data types supported for mirroring to Microsoft Fabric. |
SqlPackage CLI; DacFx API / Schema compare |
| Platform |
References Microsoft.Data.SqlClient v5.1.5. |
Platform |
| ScriptDOM |
References ScriptDOM 161.9109. |
Platform |
Fixes
| Feature |
Details |
Applies to |
| Code analysis |
Fixed an issue where the build output from code analysis rules wasn't formed consistent with MSBuild diagnostic format guidelines. GitHub issue |
MSBuild / SQL projects |
| Deployment |
Fixed an issue where the deployment of an index with the ONLINE property set and a large object type (LOB) fails. |
SqlPackage CLI; DacFx API / Schema compare |
| Deployment |
Fixed an issue where the deployment of column encryption fails on a temporal table. GitHub issue |
SqlPackage CLI; DacFx API / Schema compare |
| Deployment |
Reverts the changes made to avoid storing absolute paths of referenced DACPACs after project build due to issues with backward compatibility in new behavior. GitHub issue |
MSBuild / SQL projects; DacFx API / Schema compare |
| Extract |
Fixed an issue where columns used in a multi-column distribution (MCD) table were incorrectly scripting as allowing NULL values. |
SqlPackage CLI; DacFx API / Schema compare |
| ScriptDOM |
Fixed an issue where selecting unspecified (*) columns from the table-valued function OPEN_JSON causes the SQL project fail to build. GitHub issue |
MSBuild / SQL projects; DacFx API / Schema compare |
Known issues
| Feature |
Details |
Workaround |
| Deployment |
The Azure Synapse Analytics Workload Management feature (Workload Groups and Workload Classifiers) isn't yet supported. |
N/A |
| Deployment |
The deployment contributor API DeploymentPlanModifier methods are set as static methods. |
Fixed in SqlPackage 162.3.566. |
| Import |
A BACPAC file created with SqlPackage export, except when installed by the .msi file, might fail to import with the Azure portal and Azure PowerShell when larger than 4 GB. |
Import the BACPAC with SqlPackage or create the BACPAC file with SqlPackage installed by the .msi file. |
| ScriptDOM |
Parsing a large file can result in a stack overflow. |
None |
162.2.111 SqlPackage
Release date: February 27, 2024
dotnet tool install -g microsoft.sqlpackage --version 162.2.111
Features
| Feature |
Details |
Applies to |
| Platform |
References Microsoft.Data.SqlClient v5.1.4. |
Platform |
| Platform |
SqlPackage self-contained (.zip) downloads are now built with .NET 8. |
Platform; SqlPackage CLI |
| Platform |
SqlPackage dotnet tool is now available for both .NET 6 and .NET 8. GitHub issue |
Platform; SqlPackage CLI |
| Platform |
SqlPackage preview releases are now available in the dotnet tool feed. |
Platform; SqlPackage CLI |
| Azure Synapse Analytics |
Added validation to the DW_COMPATIBILITY_LEVEL project property to ensure that the value is within the valid options of 0, 10, 20, 30, 40, 50, 9000 during project build. |
MSBuild / SQL projects |
| Deployment |
Added support for ONLINE index operations. Online index operations can be applied as a SqlPackage command line publish property, /p:PerformIndexOperationsOnline, and as a component in the SQL project model. GitHub issue |
SqlPackage CLI; MSBuild / SQL projects; DacFx API / Schema compare |
| Parquet |
Improvements to extract and publish operations with data in Parquet files, including performance improvements with parallel import of data and log file size reduction. |
SqlPackage CLI |
Fixes
| Feature |
Details |
Applies to |
| Deployment |
Fixed an issue where packages with functions used in the APPLY clause of a view fail to deploy. The previous error message was that the function wasn't found because the view was incorrectly deployed before the function. GitHub issue |
SqlPackage CLI; DacFx API / Schema compare |
| Deployment |
Fixed an issue where function keywords such as NATIVE_COMPILATION and SCHEMABINDING weren't correctly recognized and included in the deployment script. GitHub issue, Developer Community |
SqlPackage CLI; DacFx API / Schema compare |
| Deployment |
Fixed an issue where references to system tables in a VALUES clause fail to build with an error message that the value can't be null. Developer Community |
MSBuild / SQL projects; DacFx API / Schema compare |
| Deployment |
Fixed an issue where the absolute paths of referenced DACPACs were stored in the DACPAC after project build instead of the relative paths. GitHub issue |
MSBuild / SQL projects; DacFx API / Schema compare |
| Deployment |
Fixed an issue where the creation of a disabled clustered index causes the deployment to fail if another disabled index was to be created. GitHub issue |
SqlPackage CLI; DacFx API / Schema compare |
| Deployment |
Fixed an issue where a synonym to user-defined data types resulted in an unresolved reference. GitHub issue |
MSBuild / SQL projects; DacFx API / Schema compare |
| Extract |
Fixed an issue where the DacVersion property wasn't being set if a version was specified for the package that didn't follow major.minor.build format. GitHub issue |
SqlPackage CLI; DacFx API / Schema compare |
| Import |
Fixed an issue where certain collations, including Chinese_PRC_CI_AS, fail to import with an error message that the collation wasn't supported. GitHub issue |
SqlPackage CLI |
| Schema compare |
Fixed an issue where databases with UTF8 collation don't give the correct result. |
DacFx API / Schema compare |
| Schema compare |
Fixed an issue where schema compare doesn't include external data source, external file format, and external table objects when evaluating Synapse serverless SQL pools. |
DacFx API / Schema compare |
| Security |
Fixed SqlPackage on .NET support for universal authentication (/ua), which supports Microsoft Entra ID authentication with multifactor authentication. (MFA). |
SqlPackage CLI |
| System DACPACs |
Fixed an issue where the pdw* views weren't included in the Synapse Data Warehouse master.dacpac. GitHub issue, Developer Community |
Platform; DacFx API / Schema compare |
Known issues
| Feature |
Details |
Workaround |
| Deployment |
The Azure Synapse Analytics Workload Management feature (Workload Groups and Workload Classifiers) isn't yet supported. |
N/A |
| Import |
A BACPAC file created with SqlPackage export, except when installed by the .msi file, might fail to import with the Azure portal and Azure PowerShell when larger than 4 GB. |
Import the BACPAC with SqlPackage or create the BACPAC file with SqlPackage installed by the .msi file. |
| ScriptDOM |
Parsing a large file can result in a stack overflow. |
None |
162.1.172 SqlPackage
Release date: January 9, 2024
dotnet tool install -g microsoft.sqlpackage --version 162.1.172
Fixes
Known issues
| Feature |
Details |
Workaround |
| Deployment |
The Azure Synapse Analytics Workload Management feature (Workload Groups and Workload Classifiers) isn't yet supported. |
N/A |
| Import |
A BACPAC file created with SqlPackage export, except when installed by the .msi file, might fail to import with the Azure portal and Azure PowerShell when larger than 4 GB. |
Import the BACPAC with SqlPackage or create the BACPAC file with SqlPackage installed by the .msi file. |
| ScriptDOM |
Parsing a large file can result in a stack overflow. |
None |
162.1.167 SqlPackage
Release date: October 19, 2023
Features
| Feature |
Details |
Applies to |
| Platform |
References Microsoft.Data.SqlClient v5.1.1. |
Platform |
| Azure Synapse Analytics |
Added support for PARSER_VERSION in FORMAT_OPTIONS for Azure Synapse Analytics serverless SQL pools. Documentation |
SqlPackage CLI; DacFx API / Schema compare |
| Azure Synapse Analytics |
Added support for multi-column distribution (MCD) in CREATE VIEW for Azure Synapse Analytics dedicated SQL pools. GitHub issue |
SqlPackage CLI; DacFx API / Schema compare |
| Azure Synapse Analytics |
Added support for /p:TableData property on extract operations to Parquet files, enabling the ability to specify which tables to export data for. GitHub issue |
SqlPackage CLI |
| Fabric Data Warehouse |
Added support for extract and publish for Fabric Data Warehouse databases. Publish capabilities don't support changes that require existing tables to be altered. The target platform enum value is SqlDwUnifiedDatabaseSchemaProvider in SQL database projects. |
SqlPackage CLI; MSBuild / SQL projects; DacFx API / Schema compare |
| Parquet |
Added preview support for extract and publish with data stored in Parquet files in Azure Blob Storage with Azure SQL Managed Instance and SQL Server 2022 (16.x). Azure SQL Database and SQL Server 2019 (15.x) and earlier versions aren't supported. Data must be in supported data types for CETAS. Extract and publish with Parquet files offers performance improvements over import/export to BACPAC files in many scenarios. |
SqlPackage CLI |
| Publish |
Added /p:AllowTableRecreation property to publish operation. The default (true) is consistent with previous behavior, where a table change might require that a table is recreated while the table data is preserved however the deployment might take a significant amount of time or change tracking data could be lost. Setting the property /p:AllowTableRecreation to false results in the deployment not starting if recreation is needed for any table. GitHub issue |
SqlPackage CLI; DacFx API / Schema compare |
Fixes
| Feature |
Details |
Applies to |
| Application |
Fixed an issue where the SqlPackage CLI throws an exception when the output was redirected. GitHub issue |
SqlPackage CLI |
| Azure Synapse Analytics |
Fixed an issue where a publish operation fails to parse a statement containing the filepath() or filename() functions. |
SqlPackage CLI; DacFx API / Schema compare |
| Import |
AUTO_DROP option is excluded from statistics when importing a BACPAC to a version of SQL Server that doesn't support AUTO_DROP. |
SqlPackage CLI |
| Import |
Fixed an issue where imports of databases containing ALTER or CREATE of availability groups fails to import. |
SqlPackage CLI |
| Export |
Fixed an issue where dropped ledger columns were included in a BACPAC export, resulting in an error message during import. |
SqlPackage CLI |
| Export |
Fixed an issue where /p:CompressionOption wasn't honored when exporting to a BACPAC file. |
SqlPackage CLI |
| Extract |
Fixed an issue where /p:ExtractTarget options for non-DACPAC options still required the target file to have a .dacpac extension. GitHub issue |
SqlPackage CLI |
| Ledger |
Fixed an issue where import or publish of a database containing a dropped ledger table fails due to attempting to create permissions for the dropped table. |
SqlPackage CLI; DacFx API / Schema compare |
| Ledger |
Fixed an issue where import of a database containing a dropped ledger table fails due to attempting to import data to the dropped table. |
SqlPackage CLI |
| Polybase |
Fixed an issue where Azure SQL Managed Instance databases with RDBMS external tables couldn't be exported or extracted. GitHub issue |
SqlPackage CLI |
| Publish |
Fixed DropObjectsNotInSource to not drop objects that are permissions or role memberships. Use DropPermissionsNotInSource or DropRoleMembersNotInSource to enable dropping permissions or role memberships. GitHub issue |
SqlPackage CLI; DacFx API / Schema compare |
| Publish |
Fixed an issue where the publish operation fails when the user connecting doesn't have access to master in Azure SQL Database. |
SqlPackage CLI |
| Publish |
Fixed an issue where deployments that include interactions with column encryption experience intermittent execution timeout errors. |
SqlPackage CLI; DacFx API / Schema compare |
| Publish |
Fixed an issue where deploying a DACPAC built with .NET/.NET Core fails if RegisterDataTierApplication was set to true. GitHub issue |
SqlPackage CLI |
| Publish |
Fixed an issue where system versioned table is modified and a new schema is created results in the deployment failing. GitHub issue |
SqlPackage CLI; DacFx API / Schema compare |
Known issues
| Feature |
Details |
Workaround |
| Deployment |
The Azure Synapse Analytics Workload Management feature (Workload Groups and Workload Classifiers) isn't yet supported. |
N/A |
| Import |
A BACPAC file created with SqlPackage export, except when installed by the .msi file, might fail to import with the Azure portal and Azure PowerShell when larger than 4 GB. |
Import the BACPAC with SqlPackage or create the BACPAC file with SqlPackage installed by the .msi file. |
| ScriptDOM |
Parsing a large file can result in a stack overflow. |
None |
162.0.52 SqlPackage
Release date: May 11, 2023
Features
Fixes
| Feature |
Details |
Applies to |
| Azure Synapse Analytics |
Fixed an issue where the default command timeout wasn't set properly when connecting to Azure Synapse Analytics serverless SQL pools. |
SqlPackage CLI; DacFx API / Schema compare |
| Azure Synapse Analytics |
Fixed an issue where Azure Synapse Analytics serverless SQL pools incorrectly determine the default data and log paths. |
SqlPackage CLI; DacFx API / Schema compare |
| Azure Synapse Analytics |
Fixed an issue where Azure Synapse Analytics serverless SQL pools incorrectly determine the default login, user, and schema. |
SqlPackage CLI; DacFx API / Schema compare |
| Azure SQL Database |
Fixed an issue where temporal history retention wasn't correctly recognized as not configured (null). |
SqlPackage CLI; DacFx API / Schema compare |
| Deployment |
Fixed an issue where the deployment plan fails to detect a dependency on a table/view in subqueries within FROM VALUES clause. GitHub issue |
SqlPackage CLI; DacFx API / Schema compare |
| Deployment |
Fixed an issue where deployment fails when the target database contains a rule bound to a column. |
SqlPackage CLI; DacFx API / Schema compare |
| Deployment |
Fixed an issue where deployment fails when the target database contains a rule bound to a column with a user-defined type. GitHub issue |
SqlPackage CLI; DacFx API / Schema compare |
| Deployment |
Fixed an issue where the retention period on a temporal table is reset to the default value when another change is made to the table. GitHub issue |
SqlPackage CLI; DacFx API / Schema compare |
| Deployment |
Fixed an issue where updates to a primary key aren't included in the deployment when the table has compression options specified. |
SqlPackage CLI; DacFx API / Schema compare |
| Deployment |
Fixed an issue where a nonclustered index on a partitioned table is rebuilt even when no changes are made to the table. GitHub issue |
SqlPackage CLI; DacFx API / Schema compare |
| Deployment |
Fixed an issue where IgnoreColumnOrder property isn't honored by a history table when no changes are made to a system-versioned table except the columns are reordered. |
SqlPackage CLI; DacFx API / Schema compare |
| Deployment |
Fixed an issue where external tables are dropped and redeployed despite no changes when the table definition contained SQLCMD variables. GitHub issue |
SqlPackage CLI; DacFx API / Schema compare |
| Export |
Fixed an issue where the diagnostic information provided during an export operation incorrectly reports the size of a table in KB instead of Bytes. GitHub issue |
SqlPackage CLI |
| Import |
Fixed an issue where a Microsoft Entra ID user can't be created during import to Azure SQL Database, causing the import to fail. GitHub issue |
SqlPackage CLI |
| Ledger |
Fixed an issue where SqlPackage wasn't correctly identifying the error when the Ledger history table or view have an invalid two-part name. |
SqlPackage CLI; DacFx API / Schema compare |
| Permissions |
Fixed an issue where permissions assigned to a user in the database model aren't recognized, causing the project build or SqlPackage operation to fail. |
MSBuild / SQL projects; SqlPackage CLI; DacFx API / Schema compare |
| Query Store |
Fixed an issue where the flush_interval_seconds Query Store option wasn't correctly validated with a minimum value of 60 seconds. |
SqlPackage CLI; MSBuild / SQL projects; DacFx API / Schema compare |
| SQL Server 2022 (16.x) |
Fixed an issue where the function DATETRUNC wasn't recognized as a built-in function. Developer Community |
MSBuild / SQL projects; DacFx API / Schema compare |
| SQL Server 2022 (16.x) |
Fixed an issue where the function DATE_BUCKET wasn't recognized as a built-in function. |
MSBuild / SQL projects; DacFx API / Schema compare |
Known issues
| Feature |
Details |
Workaround |
| Deployment |
The Azure Synapse Analytics Workload Management feature (Workload Groups and Workload Classifiers) isn't yet supported. |
N/A |
| Import |
A BACPAC file created with SqlPackage export, except when installed by the .msi file, might fail to import with the Azure portal and Azure PowerShell when larger than 4 GB. |
Import the BACPAC with SqlPackage or create the BACPAC file with SqlPackage installed by the .msi file. |
| ScriptDOM |
Parsing a large file can result in a stack overflow. |
None |
161.8089.0 SqlPackage
Release date: February 13, 2023
| Platform |
Download |
Version |
Build |
| Windows .NET 6 |
.zip file |
161.8089.0 |
16.1.8089.0 |
| Windows |
.msi file |
161.8089.0 |
16.1.8089.0 |
| macOS .NET 6 |
.zip file |
161.8089.0 |
16.1.8089.0 |
| Linux .NET 6 |
.zip file |
161.8089.0 |
16.1.8089.0 |
Important
Version 161 of SqlPackage encrypts database connections by default. Previously successful connections with self-signed certificates or without encryption might not connect with v161 without updating the SqlPackage parameters. For more information, see https://aka.ms/dacfx-connection.
Features
| Feature |
Details |
Applies to |
| Deployment |
Added the ability for the GenerateSmartDefaults property on publish to populate values from a default constraint when set to true. GitHub issue |
SqlPackage CLI; DacFx API / Schema compare |
| Azure Synapse Analytics |
Added support for serverless SQL pools in Extract and Publish operations. |
SqlPackage CLI; DacFx API / Schema compare |
| SQL Server 2022 (16.x) |
Added support for ordered clustered columnstore indexes. |
SqlPackage CLI; MSBuild / SQL projects; DacFx API / Schema compare |
Fixes
| Feature |
Details |
Applies to |
| Deployment |
Fixed an issue where publishing to SQL on Linux fails due to the default data and log paths being empty. GitHub issue |
SqlPackage CLI; DacFx API / Schema compare |
| Deployment |
Fixed an issue where publishing an external table with file format changes results in an error. GitHub issue |
SqlPackage CLI; DacFx API / Schema compare |
| Deployment |
Fixed an issue where publishing with a column encrypted with randomized encryption doesn't fail immediately if the column encryption key (CEK) was inaccessible, delaying the deployment error until the column encryption step. |
SqlPackage CLI |
| Refactor |
Fixed an issue where a renamed column on a system versioned table results in the system versioning being turned off and not turned back on. GitHub issue |
SqlPackage CLI; DacFx API / Schema compare |
| Platform |
Fixed an issue where SqlPackage operations fail on RHEL 9 due to an encryption error. Moves to use the 6.0.10 version of the .NET 6 runtime. GitHub issue |
Platform; SqlPackage CLI |
| Schema compare |
Fixed an issue where the DoNotEvaluateSqlCmdVariables property for Publish and Script results in the SqlCmd variables also not being evaluated on both the source and target instead of only the source. |
DacFx API / Schema compare; SqlPackage CLI |
| ScriptDOM |
Fixed external table support for REJECT_SAMPLE_VALUE. |
Platform |
| ScriptDOM |
Fixed an issue where compression options couldn't be applied to a table with a clustered index. |
Platform |
| SQL projects |
Fixed an issue where valid options for the QueryStoreFlushInterval are incorrectly reported as invalid. Developer Community |
MSBuild / SQL projects |
Known issues
| Feature |
Details |
Workaround |
| Deployment |
The Azure Synapse Analytics Workload Management feature (Workload Groups and Workload Classifiers) isn't yet supported. |
N/A |
| ScriptDOM |
Parsing a large file can result in a stack overflow. |
None |
161.6374.0 SqlPackage
Release date: November 9, 2022
| Platform |
Download |
Version |
Build |
| Windows .NET 6 |
.zip file |
161.6374.0 |
16.1.6374.0 |
| Windows |
.msi file |
161.6374.0 |
16.1.6374.0 |
| macOS .NET 6 |
.zip file |
161.6374.0 |
16.1.6374.0 |
| Linux .NET 6 |
.zip file |
161.6374.0 |
16.1.6374.0 |
Important
Version 161 of SqlPackage encrypts database connections by default. Previously successful connections with self-signed certificates or without encryption might not connect with v161 without updating the SqlPackage parameters. For more information, see https://aka.ms/dacfx-connection.
Features
| Feature |
Details |
Applies to |
| Platform |
Changes connections to use encryption and not trust the server certificate by default. This is a breaking change for connections using self-signed certificates or without encryption by default. For more information, see https://aka.ms/dacfx-connection. |
Platform; SqlPackage CLI |
| Platform |
References Microsoft.Data.SqlClient v5.0.1 |
Platform |
| Platform |
SqlPackage is now available for installation as a dotnet tool for Windows, macOS, and Linux platforms. |
Platform; SqlPackage CLI |
| Always Encrypted |
Added support for VBS (Virtualization-based security) with secure enclaves. |
SqlPackage CLI; DacFx API / Schema compare |
| Connectivity |
Added support for TDS 8.0 and parameters for /SourceHostNameInCertificate and /TargetHostNameInCertificate to SqlPackage operations. |
SqlPackage CLI |
| Replication |
Added support for sp_addpublication with peer-to-peer replication. |
SqlPackage CLI; DacFx API / Schema compare |
| ScriptDOM |
Added support for IS NOT DISTINCT FROM syntax with predicate subqueries. |
Platform |
| Server-level roles |
Added support for additional fixed server roles: ##MS_DatabaseConnector##, ##MS_LoginManager##, ##MS_DatabaseManager##, ##MS_ServerStateManager##, ##MS_ServerStateReader##, ##MS_ServerPerformanceStateReader##, ##MS_ServerSecurityStateReader##, ##MS_DefinitionReader##, ##MS_PerformanceDefinitionReader##, ##MS_SecurityDefinitionReader##. |
SqlPackage CLI; DacFx API / Schema compare |
| SQL Server 2022 (16.x) |
Added support for T-SQL function changes associated with SQL Server 2022: GREATEST(), LEAST(), STRING_SPLIT(), DATETRUNC(), LTRIM(), RTRIM(), and TRIM(). |
SqlPackage CLI; MSBuild / SQL projects; DacFx API / Schema compare |
| SQL Server 2022 (16.x) |
Added support for JSON function changes associated with SQL Server 2022: ISJSON(), JSON_PATH_EXISTS(), JSON_OBJECT(), and JSON_ARRAY(). |
SqlPackage CLI; MSBuild / SQL projects; DacFx API / Schema compare |
| SQL Server 2022 (16.x) |
Added support for bit manipulation functions associated with SQL Server 2022: LEFT_SHIFT(), RIGHT_SHIFT(), BIT_COUNT(), GET_BIT(), and SET_BIT(). |
SqlPackage CLI; MSBuild / SQL projects; DacFx API / Schema compare |
| SQL Server 2022 (16.x) |
Added support for time series function changes associated with SQL Server 2022: DATE_BUCKET(), GENERATE_SERIES(), FIRST_VALUE(), and LAST_VALUE(). |
SqlPackage CLI; MSBuild / SQL projects; DacFx API / Schema compare |
| Statistics |
Added support for STATISTICS AUTO_DROP option. |
SqlPackage CLI; DacFx API / Schema compare |
| XML compression |
Added support for XML compression on XML indexes. |
SqlPackage CLI; DacFx API / Schema compare |
Known issues
| Feature |
Details |
Workaround |
| Deployment |
The Azure Synapse Analytics Workload Management feature (Workload Groups and Workload Classifiers) isn't yet supported. |
N/A |
| ScriptDOM |
Parsing a large file can result in a stack overflow. |
None |
19.2 SqlPackage
Release date: September 22, 2022
| Platform |
Download |
Version |
Build |
| Windows |
.msi file |
19.2 |
16.0.6296.0 |
| macOS .NET 6 |
.zip file |
19.2 |
16.0.6296.0 |
| Linux .NET 6 |
.zip file |
19.2 |
16.0.6296.0 |
| Windows .NET 6 |
.zip file |
19.2 |
16.0.6296.0 |
Features
| Feature |
Details |
Applies to |
| Connection pooling |
Enables connection pooling for all connections if the environment variable CONNECTION_POOLING_ENABLED is set to True. This is recommended for operations with Microsoft Entra ID username/password connections to avoid Microsoft Authentication Library (MSAL) throttling. |
SqlPackage CLI |
| Deployment options |
Surfaces friendly names for deployment options in DacFx .NET APIs. |
DacFx API / Schema compare |
| Dynamic Data Masking |
Added support for granular UNMASK permissions in Import/Export and Extract/Publish. |
SqlPackage CLI; DacFx API / Schema compare |
| Ledger |
Added SQL Ledger history table in schema model for validation and export/extract, doesn't import or publish the history table to a database. |
SqlPackage CLI; DacFx API / Schema compare; MSBuild / SQL projects |
| Platform |
SqlPackage is now built with .NET 6 |
Platform; SqlPackage CLI |
| SQL Server 2022 (16.x) |
Added support for permissions ALTER LEDGER CONFIGURATION, VIEW PERFORMANCE DEFINITION, VIEW ANY PERFORMANCE DEFINITION. Learn more about the permission definitions available in the permissions documentation. |
SqlPackage CLI; DacFx API / Schema compare |
| XML compression |
XML compression support in ScriptDOM, Import/Export, and Extract/Publish. More information on XML data and XML compression is available in the XML data documentation. |
SqlPackage CLI; DacFx API / Schema compare; Platform |
Fixes
| Feature |
Details |
Applies to |
| Export |
Fixed an issue where export fails when a table had stats with computed columns |
SqlPackage CLI |
| Import |
Fixed an issue where the import gets stuck at 95% |
SqlPackage CLI |
| ScriptDOM |
Fixed an issue where STRING_SPLIT doesn't support a NULL ordinal value |
Platform |
Known issues
| Feature |
Details |
Workaround |
| Deployment |
The Azure Synapse Analytics Workload Management feature (Workload Groups and Workload Classifiers) isn't yet supported. |
N/A |
| ScriptDOM |
Parsing a large file can result in a stack overflow. |
None |
| XML compression |
XML compression of an XML index isn't yet supported in SqlPackage. |
N/A |
19.1 SqlPackage
Release date: May 24, 2022
| Platform |
Download |
Version |
Build |
| Windows |
.msi file |
19.1 |
16.0.6161.0 |
| macOS .NET Core |
.zip file |
19.1 |
16.0.6161.0 |
| Linux .NET Core |
.zip file |
19.1 |
16.0.6161.0 |
| Windows .NET Core |
.zip file |
19.1 |
16.0.6161.0 |
Features
| Feature |
Details |
Applies to |
| Azure Synapse Analytics |
Added support for Native external data source. |
SqlPackage CLI; DacFx API / Schema compare |
| Extract |
Added support for ExtractTarget property on extract operations. Extract now supports extracting to .sql as a file per object organized in a single folder, object type, schema, or object type and schema. |
SqlPackage CLI |
| ScriptDOM |
Added support for IS NOT DISTINCT FROM syntax. |
Platform |
Fixes
| Feature |
Details |
Applies to |
| Azure Synapse Analytics |
Fixed a publish operation for table name change where table name includes '/' character. |
SqlPackage CLI; DacFx API / Schema compare |
| Export |
Fixed export of a SQL ledger history table with dependencies. |
SqlPackage CLI |
| Extract |
Fixed an extract operation failure where an offset clause using a function is used in a stored procedure. |
SqlPackage CLI; DacFx API / Schema compare |
| Extract |
Fixed warnings on extract operation for ledger tables. |
SqlPackage CLI |
| General |
Fixed an issue where command timeout setting wasn't properly applied. |
SqlPackage CLI; DacFx API / Schema compare |
| Import |
Fixed an issue where full text index gets disabled on import. |
SqlPackage CLI |
| Publish |
Fixed an issue where publish operation drops and recreates a clustered columnstore index when a column is added. |
SqlPackage CLI; DacFx API / Schema compare |
| Publish |
Fixed an issue where graph tables fail to deploy when a partition function includes leading zeros. |
SqlPackage CLI; DacFx API / Schema compare |
| ScriptDOM |
Fixed an issue where IIF condition is enclosed in parenthesis fails to parse. |
Platform |
Known issues
| Feature |
Details |
Workaround |
| Deployment |
The Azure Synapse Analytics Workload Management feature (Workload Groups and Workload Classifiers) isn't yet supported. |
N/A |
| Deployment |
Increased deployment time when deploying using Microsoft Entra ID user/password authentication due to Microsoft Authentication Library (MSAL) throttling. More Information on GitHub |
Use an alternative authentication method, such as Microsoft Entra service principals with Azure SQL |
| Deployment |
SqlPackage on .NET Core for Windows, macOS, and Linux fails during a publish operation with an error message "Unrecognized configuration section system.diagnostics" when in-place encryption is used for Always Encrypted with secure enclaves. |
Remove the file sqlpackage.dll.config from the SqlPackage folder. |
| ScriptDOM |
Parsing a large file can result in a stack overflow. |
None |
19.0 SqlPackage
Release date: January 25, 2022
| Platform |
Download |
Version |
Build |
| Windows |
.msi file |
19.0 |
16.0.5400.1 |
| macOS .NET Core |
.zip file |
19.0 |
16.0.5400.1 |
| Linux .NET Core |
.zip file |
19.0 |
16.0.5400.1 |
| Windows .NET Core |
.zip file |
19.0 |
16.0.5400.1 |
Features
| Feature |
Details |
Applies to |
| Always Encrypted |
Added support for in-place encryption for Always Encrypted columns. Publish can now use a server-side secure enclave to encrypt, decrypt, and re-encrypt database columns in-place. This avoids the expense of moving the data outside of the database. See prerequisites for in-place encryption in Configure column encryption in-place using Always Encrypted with secure enclaves. Note: In-place encryption is supported only with the offline approach. |
SqlPackage CLI; DacFx API / Schema compare |
| Azure Synapse Analytics |
Added support for column-level symmetric encryption. |
SqlPackage CLI; DacFx API / Schema compare |
| Ledger |
Added support for exporting and importing databases with ledger tables. The following limitations apply to Export: Ledger history tables and dropped ledger tables aren't migrated; the values of GENERATED ALWAYS columns and the data in ledger system views isn't migrated; the value of the database-level Ledger property is ignored. |
SqlPackage CLI |
| Platform |
Added support for .NET 6 as the target framework |
Platform |
| Platform |
References Microsoft.Data.SqlClient (3.0) instead of System.Data.SqlClient in .NET Framework version. Upgrade Microsoft.Data.SqlClient from 2.1.3 to 3.0 for .NET Core version. |
Platform |
| Platform |
Upgrades .NET Framework target version to .NET 4.6.2 |
Platform |
| ScriptDOM |
Added support for Sql160 parser. |
Platform |
Fixes
| Feature |
Details |
Applies to |
| Deployment |
Fixed an issue with interpretation of table distribution on column within a stored procedure. |
SqlPackage CLI; DacFx API / Schema compare |
| Deployment |
Fixed an issue with "Drop objects not in source" option during publish operation. |
SqlPackage CLI |
| Deployment |
Fixed an issue deploying a DACPAC with temporal table having sensitivity classification. |
SqlPackage CLI; DacFx API / Schema compare |
| Deployment |
Fixed a bug when variables are verified even when DoNotEvaluateSqlCmdVariables is set to true |
SqlPackage CLI; DacFx API / Schema compare |
| Extract |
Fixed an issue with Refactor log of referenced DACPAC according to includeCompositeObjects selection. |
SqlPackage CLI; DacFx API / Schema compare |
| Import |
Fixed an issue with importing database scope configurations that aren't supported in target server |
SqlPackage CLI |
| SQL Project |
Fixed an issue where incremental statistics caused an issue with the project build when applied to a primary key. |
MSBuild / SQL projects |
| SQL Project |
Fixed building a project with file tables. |
MSBuild / SQL projects |
Known issues
| Feature |
Details |
Workaround |
| Deployment |
The Azure Synapse Analytics Workload Management feature (Workload Groups and Workload Classifiers) isn't yet supported. |
N/A |
| Deployment |
Increased deployment time when deploying using Microsoft Entra ID user/password authentication due to Microsoft Authentication Library (MSAL) throttling. More Information on GitHub |
Use an alternative authentication method, such as Microsoft Entra service principals with Azure SQL |
| ScriptDOM |
Parsing a large file can result in a stack overflow. |
None |
18.8 SqlPackage
Release date: October 4, 2021
| Platform |
Download |
Version |
Build |
| Windows |
.msi file |
18.8 |
15.0.5282.3 |
| macOS .NET Core |
.zip file |
18.8 |
15.0.5282.3 |
| Linux .NET Core |
.zip file |
18.8 |
15.0.5282.3 |
| Windows .NET Core |
.zip file |
18.8 |
15.0.5282.3 |
Features
| Feature |
Details |
Applies to |
| Export |
Added option VerifyExtraction to change behavior of schema model validation on export |
SqlPackage CLI |
| Azure SQL |
Support for ledger database and tables, including import and export actions. |
SqlPackage CLI |
| Platform |
Upgrade Microsoft.Data.SqlClient from 2.0.0 to 2.1.3 for .NET Core version |
Platform |
| Azure Synapse Analytics |
Support for column encryption with symmetric key |
SqlPackage CLI; DacFx API / Schema compare |
| Azure Synapse Analytics |
Support for column encryption with CREATE CERTIFICATE |
SqlPackage CLI; DacFx API / Schema compare |
| Azure Synapse Analytics |
Support for MERGE statement |
SqlPackage CLI; DacFx API / Schema compare |
| Deployment |
Variable parameterization for AE columns, new publish property IsAlwaysEncryptedParameterizationEnabled |
SqlPackage CLI; DacFx API / Schema compare |
| Deployment |
Support for IgnoreWorkloadClassifiers and IgnoreDatabaseWorkloadGroups publish properties |
SqlPackage CLI; DacFx API / Schema compare |
| Deployment |
Support for external language runtimes |
SqlPackage CLI; DacFx API / Schema compare |
| ScriptDOM |
Support for ledger database and tables |
Platform |
| ScriptDOM |
Support for INCLUDE columns in inline index definitions |
Platform |
Fixes
| Feature |
Details |
Applies to |
| Deployment |
Fixed an issue where external user deployment to Azure SQL Managed Instance fails |
SqlPackage CLI; DacFx API / Schema compare |
| Deployment |
Fixed deployment order involving temporal tables to drop dependencies before turning off system versioning |
SqlPackage CLI; DacFx API / Schema compare |
| Deployment |
Fixed Always Encrypted deployment bug with error "Invalid object name '#tmpErrors'" |
SqlPackage CLI |
| Export |
Fixed validation for SqlPackage parameters ExcludeObjectType / ExcludeObjectTypes, and DoNotDropObjectType / DoNotDropObjectTypes |
SqlPackage CLI |
| Export |
Fixed export failure when there are change data capture (CDC) objects in database by excluding |
SqlPackage CLI |
| Extract |
Added a retry to extract validation when first time fails due to race condition |
SqlPackage CLI |
| Import |
Fixed occasional deadlocks when importing to Azure by setting MAXDOP to 1 |
SqlPackage CLI |
| Import |
Fixed import failure when temporal table has dependency on security policy with schema binding on |
SqlPackage CLI |
| Platform |
DacFramework.msi is now signed by "Microsoft SQL Server Data-Tier Application Framework" instead of "SQL Server 2012" |
Platform |
| Platform |
Default to large arrays in x64 SqlPackage, fixed some scenarios involving large databases |
Platform; SqlPackage CLI |
| Schema Compare |
Fixed schema compare failing for equal databases with database scoped configurations |
DacFx API / Schema compare |
| Schema Compare |
Fixed schema compare with columnstore indexes |
DacFx API / Schema compare |
| SQL Project |
Fixed a bug with build error for "GRANT EXECUTE ANY EXTERNAL SCRIPT" |
MSBuild / SQL projects |
| SQL Project |
Fixed a bug where database project with columnstore index and a (n)varchar(max) column builds successfully but fails at deployment |
MSBuild / SQL projects; SqlPackage CLI |
| SQL Project |
Fixed unresolved reference warnings for table distribution columns within Stored Procedures |
MSBuild / SQL projects |
Known issues
| Feature |
Details |
Workaround |
| Deployment |
The Azure Synapse Analytics Workload Management feature (Workload Groups and Workload Classifiers) isn't yet supported |
N/A |
| Deployment |
The Azure SQL ledger table feature isn't yet supported |
N/A |
18.7.1 SqlPackage
Release date: June 2, 2021
Build: 15.0.5164.1
Features
| Feature |
Details |
Applies to |
| Auditing |
Added support for Get started with Azure SQL Managed Instance auditing. |
SqlPackage CLI; DacFx API / Schema compare |
| Azure Synapse Analytics |
Added support for PREDICT. |
SqlPackage CLI; DacFx API / Schema compare |
| Logging |
Added SqlPackage version and architecture information to diagnostic log file. |
SqlPackage CLI |
Fixes
| Feature |
Details |
Applies to |
| Export |
Fixed an issue where exporting a table with text or image in the first column fails without a clustered index. |
SqlPackage CLI |
| Export |
Fixed an issue where exporting a table without a clustered index that has the order of columns in a statistic in a different order than the table create script fails. |
SqlPackage CLI |
18.7 SqlPackage
Release date: March 10, 2021
Build: 15.0.5084.2
Features
| Feature |
Details |
Applies to |
| Deployment |
Extract/Publish Big Data to/from Azure Storage. For more info, see SqlPackage for Big Data |
SqlPackage CLI |
| Azure Synapse Analytics |
Row level security support (inline table-valued function, security policy, security predicate) |
SqlPackage CLI; DacFx API / Schema compare |
| Azure Synapse Analytics |
Workload classification support |
SqlPackage CLI; DacFx API / Schema compare |
| Azure SQL Edge |
External streaming job support |
SqlPackage CLI; DacFx API / Schema compare |
| Azure SQL Edge |
Added table and database options for data retention. |
SqlPackage CLI; DacFx API / Schema compare |
| Import |
Added two new index option properties for import operation. DisableIndexesForDataPhase (Disable indexes before importing data into SQL Server, default true) and RebuildIndexesOfflineForDataPhase (Rebuild indexes offline after importing data into SQL Server, default false) |
SqlPackage CLI |
| Logging |
Added property for all operations (HashObjectNamesInLogs) that turns all object names into a hash string in log messages. |
SqlPackage CLI |
| Performance |
Improvements to import and export performance, including additional logging to help determining additional bottlenecks. |
SqlPackage CLI |
| SQLCMD |
Added property for Deployment and Schema Compare (DoNotEvaluateSqlCmdVariables) that specifies whether SQLCMD variables are replaced with values. |
SqlPackage CLI; DacFx API / Schema compare; MSBuild / SQL projects |
Fixes
| Feature |
Details |
Applies to |
| Deployment |
Changed default MAXDOP from 0 to 8 for Azure SQL, updating schema model default in DacFx |
SqlPackage CLI; DacFx API / Schema compare |
| Schema Compare |
Fixed stored procedures using OUT and OUTPUT keywords to be ignored as a difference |
DacFx API / Schema compare |
| Deployment |
Fixed additional validation for Big Data tokens |
SqlPackage CLI |
| Build/Deployment |
Fixed schema model cleanup of temp external tables for final DACPAC consistency. |
SqlPackage CLI; DacFx API / Schema compare |
| Build/Deployment |
Fixed error handling and non-Edge 150 RE. |
SqlPackage CLI; DacFx API / Schema compare |
| Import/Deployment |
Fixed sequence value restored during deployment |
SqlPackage CLI |
| Deployment |
Fixed an issue where changing the compression option on clustered index caused the table to be recreated instead of alter index. |
SqlPackage CLI; DacFx API / Schema compare |
| Deployment |
Fixed an issue where a clustered columnstore index was dropped and recreated if table column changed. |
SqlPackage CLI; DacFx API / Schema compare |
| Deployment |
Fixed external users getting dropped and recreated during deployment. |
SqlPackage CLI |
| Schema Compare |
Fixed schema compare issue with external streaming job. |
DacFx API / Schema compare |
| Import |
Fixed a null reference exception raised when enabling ambient setting ReliableDdlEnabled scripting a deployment report. |
SqlPackage CLI |
| Deployment |
Fixed an issue where deployment steps containing system versioning is created in the incorrect order. |
SqlPackage CLI; DacFx API / Schema compare |
| Deployment |
Fixed an issue where schema compare update or DACPAC deploy failed due to target containing temporal tables. |
SqlPackage CLI; DacFx API / Schema compare |
| Deployment |
Fixed identity value reseeding after deployment based on target's previous last value. |
SqlPackage CLI |
Known issues
| Feature |
Details |
Workaround |
| Deployment |
The Azure Synapse Analytics Workload Management feature (Workload Groups and Workload Classifiers) isn't yet supported |
N/A |
| Deployment |
In an incremental deploy scenario, when the user is dropping a temporal table along with dropping objects that are dependent on it, like functions, stored procedures etc. the deployment can fail. The script generation order tries to turn off SYSTEM_VERSIONING on the table that is a prerequisite for dropping the table, but the order of generated steps is incorrect. GitHub issue |
Generate the deployment script, move the System_Versioning OFF step to just before the table being dropped and then run the script. |
18.6 SqlPackage
Release date: September 18, 2020
Build: 15.0.4897.1
Features
| Feature |
Details |
Applies to |
| Platform |
Updated SqlPackage for .NET Core version to .NET Core 3.1 |
Platform; SqlPackage CLI |
| Always Encrypted |
Added support for secure enclave import and export for SQL Server 2019 (15.x) |
SqlPackage CLI; DacFx API / Schema compare |
| Deployment |
Added support to ignore change data capture enabled tables when exporting from Azure SQL Database |
SqlPackage CLI |
| Deployment |
Added support for index option OPTIMIZE_FOR_SEQUENTIAL_KEY in Azure SQL Database |
SqlPackage CLI; DacFx API / Schema compare |
| Deployment |
Added support for identity columns for Azure Synapse Analytics |
SqlPackage CLI; DacFx API / Schema compare |
| Help |
Output the SqlPackage version in the help (/?) and support the /version parameter |
SqlPackage CLI |
Fixes
| Feature |
Details |
Applies to |
| Deployment |
Fixed an incorrect deployment script generated when targeting Azure SQL Managed Instance as a non-sysadmin user |
SqlPackage CLI; DacFx API / Schema compare |
| Deployment |
Fixed loading deployment contributors when running script actions |
SqlPackage CLI; DacFx API / Schema compare |
| Help |
Outputs correct elapsed time in SqlPackage when operations take longer than a day |
SqlPackage CLI |
| Deployment |
Fixed DACPAC registration when deploying for .NET Core |
SqlPackage CLI |
| Deployment |
Fixed SqlPackage on .NET Core handling of the /accessToken (/at) parameter |
SqlPackage CLI |
| Deployment |
Allow ALTER TABLE statements in stored procedures as non-top-level statements |
SqlPackage CLI; DacFx API / Schema compare |
| Deployment |
Fixed Azure Synapse Analytics validation of materialized views to be case insensitive |
SqlPackage CLI; DacFx API / Schema compare |
Known issues
| Feature |
Details |
| Deployment |
The Azure Synapse Analytics Workload Management feature (Workload Groups and Workload Classifiers) isn't yet supported |
18.5.1 SqlPackage
Release date: June 24, 2020
Build: 15.0.4826.1
Fixes
| Feature |
Details |
Applies to |
| Deployment |
Fixed a regression that was introduced in 18.5 causing there to be an "Incorrect syntax near 'type'" error when deploying a DACPAC or importing a BACPAC with a user with external login to on premises |
SqlPackage CLI; DacFx API / Schema compare |
18.5 SqlPackage
Release date: April 28, 2020
Build: 15.0.4769.1
Features
| Feature |
Details |
Applies to |
| Deployment |
Data Sensitivity classification now supported for SQL Server 2008 and up, Azure SQL Database, and Azure Synapse Analytics |
SqlPackage CLI; DacFx API / Schema compare |
| Deployment |
Add Azure Synapse Analytics support for table constraints |
SqlPackage CLI; DacFx API / Schema compare |
| Deployment |
Add Azure Synapse Analytics support for ordered clustered columnstore index |
SqlPackage CLI; DacFx API / Schema compare |
| Deployment |
Add support for External Data Source (Oracle, Teradata, MongoDB/CosmosDB, ODBC, Big Data Cluster) and External Table for SQL Server 2019 (15.x) Big Data Cluster |
SqlPackage CLI; DacFx API / Schema compare |
| Deployment |
Add SQL Database Edge Instance as supported edition |
SqlPackage CLI |
| Deployment |
Support Azure SQL Managed Instance server names of the form '<server>.<dnszone>.database.windows.net' |
SqlPackage CLI |
| Deployment |
Add support for copy command in Azure Synapse Analytics |
SqlPackage CLI; DacFx API / Schema compare |
| Deployment |
Add deployment option IgnoreTablePartitionOptions during Publish to avoid table recreation when there's change in partition function on table for Azure Synapse Analytics |
SqlPackage CLI; DacFx API / Schema compare |
| .NET Core |
Add support for Microsoft.Data.SqlClient in .NET Core version of SqlPackage |
Platform; SqlPackage CLI |
Fixes
| Fix |
Details |
Applies to |
| Deployment |
Fixed parsing json path as expression |
SqlPackage CLI; DacFx API / Schema compare |
| Deployment |
Fixed generating GRANT statements for AlterAnyDatabaseScopedConfiguration and AlterAnySensitivityClassification permissions |
SqlPackage CLI; DacFx API / Schema compare |
| Deployment |
Fixed External Script permission not being recognized |
SqlPackage CLI; DacFx API / Schema compare |
| Deployment |
Fixed inline property - the implicit addition of the property shouldn't show in difference but explicit mention should show through script |
SqlPackage CLI; DacFx API / Schema compare |
| Deployment |
Fixed an issue where changing a Table referenced by a Materialized View (MV) causes Alter View statements to be generated. Alter View statements aren't supported for MVs for Azure Synapse Analytics. |
SqlPackage CLI; DacFx API / Schema compare |
| Deployment |
Fixed publish failing when adding column to a table with data for Azure Synapse Analytics |
SqlPackage CLI; DacFx API / Schema compare |
| Deployment |
Fixed update script should move data to a new table when changing the distribution column type (data loss scenario) for Azure Synapse Analytics |
SqlPackage CLI; DacFx API / Schema compare |
| ScriptDom |
Fixed ScriptDom bug where it couldn't recognize inline constraints defined after an inline index |
Platform |
| ScriptDom |
Fixed ScriptDom SYSTEM_TIME missing closing parenthesis when in a batch statement |
Platform |
| Always Encrypted |
Fixed #tmpErrors table failing to drop if SqlPackage reconnects and the temp table is already gone because the temporary table goes away when the connection dies |
SqlPackage CLI; DacFx API / Schema compare |
Known issues
| Feature |
Details |
| Deployment |
A regression was introduced in 18.5 causing there to be an "Incorrect syntax near 'type'" error when deploying a DACPAC or importing a BACPAC with a user with external login to on premises. Workaround is to use SqlPackage 18.4 and it will be fixed in the next SqlPackage release. |
| .NET Core |
Importing BACPACs with sensitivity classification fails with "Internal connection fatal error" because of this known issue in Microsoft.Data.SqlClient. This will be fixed in the next SqlPackage release. |
18.4.1 SqlPackage
Release date: December 13, 2019
Build: 15.0.4630.1
Fixes
| Fix |
Details |
Applies to |
| ScriptDom |
A ScriptDom parsing regression was introduced in 18.3.1 where 'RENAME' is incorrectly treated as a top-level token, cause parsing to fail. |
Platform |
Known issues
| Feature |
Details |
| Deployment |
A regression was introduced in 18.4.1 causing there to be an "Object reference not set to an instance of an object." error when deploying a DACPAC or importing a BACPAC with a user with external login. Workaround is to use SqlPackage 18.4 and it will be fixed in the next SqlPackage release. |
18.4 SqlPackage
Release date: October 29, 2019
Build: 15.0.4573.2
Features
| Feature |
Details |
Applies to |
| Deployment |
Add support to deploy to Azure Synapse Analytics. |
SqlPackage CLI; DacFx API / Schema compare |
| Platform |
SqlPackage .NET Core generally available for macOS, Linux, and Windows. |
Platform; SqlPackage CLI |
| Security |
Remove SHA1 code signing. |
Platform |
| Deployment |
Add support for new Azure database editions: GeneralPurpose, BusinessCritical, Hyperscale |
SqlPackage CLI; DacFx API / Schema compare |
| Deployment |
Add Azure SQL Managed Instance support for Microsoft Entra ID user and groups. |
SqlPackage CLI |
| Deployment |
Support the /AccessToken parameter for SqlPackage on .NET Core. |
SqlPackage CLI |
Known issues
| Feature |
Details |
| ScriptDom |
A ScriptDom parsing regression was introduced in 18.3.1 where 'RENAME' is incorrectly treated as a top-level token, cause parsing to fail. This will be fixed in the next SqlPackage release. |
Known issues for .NET Core
| Feature |
Details |
| Import |
For .bacpac files with compressed files over 4 GB in size, you might need to use the .NET Core version of SqlPackage to perform the import. This behavior is due to how .NET Core generates zip headers, which although valid, aren't readable by the .NET Full Framework version of SqlPackage. |
| Deployment |
The parameter /p:Storage=File isn't supported. Only Memory is supported on .NET Core. |
| Always Encrypted |
SqlPackage .NET Core doesn't support Always Encrypted columns. |
| Security |
SqlPackage .NET Core doesn't support the /ua parameter for multifactor authentication. |
| Deployment |
Older V2 DACPAC and BACPAC files that use json data serialization aren't supported. |
18.3.1 SqlPackage
Release date: September 13, 2019
Build: 15.0.4538.1
Features
| Feature |
Details |
Applies to |
| Deployment |
Add support to deploy to Azure Synapse Analytics (preview). |
SqlPackage CLI; DacFx API / Schema compare |
| Deployment |
Add /p:DatabaseLockTimeout=(INT32 '60') parameter to SqlPackage. |
SqlPackage CLI |
| Deployment |
Add /p:LongRunningCommandTimeout=(INT32) parameter to SqlPackage. |
SqlPackage CLI |
| Export/Extract |
Add /p:TempDirectoryForTableData=(STRING) parameter to SqlPackage. |
SqlPackage CLI |
| Deployment |
Allow deployment contributors to be loaded from additional locations. Deployment contributors are loaded from the same directory as the target .dacpac being deployed, the Extensions directory relative to the SqlPackage binary, and the /p:AdditionalDeploymentContributorPaths=(STRING) parameter added to SqlPackage where additional directory locations can be specified. |
SqlPackage CLI; DacFx API / Schema compare |
| Deployment |
Add support for OPTIMIZE_FOR_SEQUENTIAL_KEY. |
SqlPackage CLI; DacFx API / Schema compare |
Fixes
| Fix |
Details |
Applies to |
| Deployment |
Fixed automatic indexes so that they aren't dropped on deployment. |
SqlPackage CLI; DacFx API / Schema compare |
| Always Encrypted |
Fixed handling of Always Encrypted varchar columns. |
SqlPackage CLI; DacFx API / Schema compare |
| Build/Deployment |
Fixed the nodes() method resolution for xml column sets. |
SqlPackage CLI; DacFx API / Schema compare |
| ScriptDom |
Fixed additional cases where the 'URL' string was interpreted as a top level token. |
Platform |
| Graph |
Fixed generated SQL for pseudo column references in constraints. |
SqlPackage CLI; DacFx API / Schema compare |
| Export |
Generate random passwords that meet complexity requirements. |
SqlPackage CLI |
| Deployment |
Fixed command timeouts when retrieving constraints. |
SqlPackage CLI |
| .NET Core (preview) |
Fixed diagnostic logging to a file. |
Platform; SqlPackage CLI |
| .NET Core (preview) |
Use streaming to export table data to support large tables. |
SqlPackage CLI |
18.2 SqlPackage
Release date: April 15, 2019
Build: 15.0.4384.2
Features
| Feature |
Details |
Applies to |
| Graph |
Add graph table support for edge constraints and edge constraint clauses. |
SqlPackage CLI; DacFx API / Schema compare |
| Deployment |
Enabled model validation rule to support 32 columns for index keys for SQL Server 2016 and up. |
SqlPackage CLI; DacFx API / Schema compare |
Fixes
| Fix |
Details |
Applies to |
| Deployment |
Fixed reverse engineering a SQL Server 2016 RTM database due to an unsupported query hint being used. |
SqlPackage CLI; DacFx API / Schema compare |
| Deployment |
Fixed deployment ordering of auto close alter statements to occur before create filegroup statements. |
SqlPackage CLI; DacFx API / Schema compare |
| ScriptDom |
Fixed ScriptDom parsing regression where the 'URL' string was interpreted as a top level token. |
Platform |
| Deployment |
Fixed a null reference exception when parsing an alter table add index statement. |
SqlPackage CLI; DacFx API / Schema compare |
| Schema Compare |
Fixed schema compare for nullable persisted computed columns always showing as different. |
DacFx API / Schema compare |
18.1 SqlPackage
Release date: February 1, 2019
Build: 15.0.4316.1
Preview release.
Features
| Feature |
Details |
Applies to |
| Deployment |
Added support for UTF8 collations. |
SqlPackage CLI; DacFx API / Schema compare |
| Deployment |
Enabled nonclustered columnstore indexes on an indexed view. |
SqlPackage CLI; DacFx API / Schema compare |
| Platform |
Moved to .NET Core 2.2. |
Platform |
| Schema Compare |
Use memory backed storage for schema compare on .NET Core. |
DacFx API / Schema compare |
Fixes
| Fix |
Details |
Applies to |
| Performance |
Performance fix to use the legacy cardinality estimator for reverse engineering queries. |
SqlPackage CLI; DacFx API / Schema compare |
| Performance |
Fixed a significant schema compare performance issue when generating a script. |
DacFx API / Schema compare |
| Schema Compare |
Fixed the schema drift detection logic to ignore certain extended event (XEvent) sessions. |
DacFx API / Schema compare |
| Graph |
Fixed import ordering for graph tables. |
SqlPackage CLI; DacFx API / Schema compare |
| Export |
Fixed exporting external tables with object permissions. |
SqlPackage CLI |
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 |
| Deployment |
For .NET Core, build and deployment contributors aren't supported. |
| Deployment |
For .NET Core, older DACPAC and BACPAC files that use json data serialization aren't supported. |
| Deployment |
For .NET Core, referenced DACPACs (for example master.dacpac) might not resolve due to issues with case-sensitive file systems. A workaround is to capitalize the name of the reference file (for example MASTER.DACPAC). |
18.0 SqlPackage
Release date: October 24, 2018
Build: 15.0.4200.1
Features
| Feature |
Details |
Applies to |
| Deployment |
Added support for database compatibility level 150. |
SqlPackage CLI; DacFx API / Schema compare |
| Deployment |
Added support for Azure SQL Managed Instance. |
SqlPackage CLI; DacFx API / Schema compare |
| Performance |
Added MaxParallelism command-line parameter to specify the degree of parallelism for database operations. |
SqlPackage CLI |
| Security |
Added AccessToken command-line parameter to specify an authentication token when connecting to SQL Server. |
SqlPackage CLI |
| Import |
Added support to stream BLOB/CLOB data types for imports. |
SqlPackage CLI |
| Deployment |
Added support for scalar UDF INLINE option. |
SqlPackage CLI; DacFx API / Schema compare |
| Graph |
Added support for graph table MERGE syntax. |
SqlPackage CLI; DacFx API / Schema compare |
Fixes
| Fix |
Details |
Applies to |
| Graph |
Fixed unresolved pseudo-column for graph tables. |
SqlPackage CLI; DacFx API / Schema compare |
| Deployment |
Fixed creating a database with memory optimized file groups when memory optimized tables are used. |
SqlPackage CLI; DacFx API / Schema compare |
| Deployment |
Fixed including extended properties on external tables. |
SqlPackage CLI; DacFx API / Schema compare |
17.8 SqlPackage
Release date: June 22, 2018
Build: 14.0.4079.2
Features
| Feature |
Details |
Applies to |
| Diagnostics |
Improved error messages for connection failures, including the SqlClient exception message. |
SqlPackage CLI |
| Deployment |
Support index compression on single partition indexes for import/export. |
SqlPackage CLI; DacFx API / Schema compare |
Fixes
| Fix |
Details |
Applies to |
| Deployment |
Fixed a reverse engineering issue for XML column sets with SQL 2017 and later. |
SqlPackage CLI; DacFx API / Schema compare |
| Deployment |
Fixed an issue where scripting the database compatibility level 140 was ignored for Azure SQL Database. |
SqlPackage CLI; DacFx API / Schema compare |
17.4.1 SqlPackage
Release date: January 25, 2018
Build: 14.0.3917.1
Features
| Feature |
Details |
Applies to |
| Import/Export |
Added ThreadMaxStackSize command-line parameter to parse Transact-SQL with a large number of nested statements. |
SqlPackage CLI |
| Deployment |
Database catalog collation support. |
SqlPackage CLI; DacFx API / Schema compare |
Fixes
| Fix |
Details |
Applies to |
| Import |
When importing an Azure SQL Database BACPAC to an on-premises instance, fixed errors due to Database master keys without password aren't supported in this version of SQL Server. |
SqlPackage CLI |
| Graph |
Fixed an unresolved pseudo column error for graph tables. |
SqlPackage CLI; DacFx API / Schema compare |
| Schema Compare |
Fixed SQL authentication to compare schemas. |
DacFx API / Schema compare |
17.4.0 SqlPackage
Release date: December 12, 2017
Build: 14.0.3881.1
Features
| Feature |
Details |
Applies to |
| Deployment |
Added support for temporal retention policy on SQL 2017+ and Azure SQL Database. |
SqlPackage CLI; DacFx API / Schema compare |
| Diagnostics |
Added /DiagnosticsFile:"C:\Temp\SqlPackage.log" command-line parameter to specify a file path to save diagnostic information. |
SqlPackage CLI |
| Diagnostics |
Added /Diagnostics command-line parameter to log diagnostic information to the console. |
SqlPackage CLI |
Fixes
| Fix |
Details |
Applies to |
| Deployment |
No longer blocks when encountering a database compatibility level that isn't understood. Instead, the latest Azure SQL Database or on-premises platform is assumed. |
SqlPackage CLI; DacFx API / Schema compare |