SqlPackage 的发行说明

下载最新版本

本文列出了 SqlPackage 的已发布版本提供的功能和修补程序。

如何阅读这些发行说明

每个部分中的“应用于”列的范围如下:

  • SqlPackage CLI - 命令行操作(发布、导入、导出、提取、Parquet、诊断、dotnet 工具)
  • MSBuild /SQL 项目 - SQL 项目生成(Microsoft.Build.Sql SDK、SQL Server Data Tools (SSDT) 集成)
  • DacFx API/架构比较 - Microsoft.SqlServer.DacFx NuGet API,架构比较
  • 平台 - ScriptDom、Microsoft.Data.SqlClient、.NET 支持、系统 DACPAC、兼容性默认值

当前版本 (170.x)

以下版本是当前支持的 SqlPackage 版本。

170.5.96.0 SqlPackage

上映日期: 2026年9月15日

dotnet tool install -g microsoft.sqlpackage --version 170.5.96.0
Platform Download
Windows .NET 10 .zip 文件
Windows .NET框架 .msi 文件
macOS .NET 10 .zip 文件
Linux .NET 10 .zip 文件

Features

Feature Details 适用对象
Extract 添加了 DacExtractOptions.PermissionGranteeScope 属性和 DacPermissionGranteeScope.DatabaseRolesOnly 选项,用于仅提取授予数据库角色或拒绝数据库角色的权限。 默认情况下,提取操作仍包含所有数据库主体的权限。 该选项也作为 SqlPackage 的提取属性提供。 SqlPackage CLI; DacFx API / 架构比较器
Platform DacPackage 添加了只读的 SqlCmdVariablesTargetPlatform 属性,这使调用方能够在部署前检查包的 SQLCMD 变量和目标平台。 DacFx API/架构比较
模式比较 SchemaComparisonResult 新增了 IncludeAll()ExcludeAll() 方法,以更改所有可排除架构差异的包含状态。 DacFx API/架构比较
SQL 项目 新增 SkipExistingModelValidationTSqlObjectOptions。 该选项允许模型在已有错误时继续添加、更新和删除操作,支持SQL项目中的实时IntelliSense模型更新。 DacFx API/架构比较
Vector 增加了对表值参数和函数返回类型中向量列维度和基类型的支持。 MSBuild/SQL 项目;DacFx API/架构比较
ScriptDom 已将 ScriptDom 更新为 180.102.0 版本。 Platform

Fixes

Feature Details 适用对象
代码分析 修复了一个问题:规则 SR0007 会针对空安全的 IS DISTINCT FROMIS NOT DISTINCT FROM 谓词错误地报告可空列警告。 GitHub 问题 MSBuild /SQL 项目
Deployment 修复了因部署选项冲突导致 DoNotDropExtendedProperties=True 未生效的问题。 GitHub 问题 SqlPackage CLI; DacFx API / 架构比较器
Deployment 修复了一个问题:当未定义触发模式时,DacFx 生成了不必要的 ALTER TRIGGER 语句。 GitHub 问题 SqlPackage CLI; DacFx API / 架构比较器
Deployment 修复了一个问题:从项目中发布内联约束时会生成冗余的 ALTER TABLE ... ADD CONSTRAINT 语句。 GitHub 问题 SqlPackage CLI; DacFx API / 架构比较器
Deployment 修复了部署时会为未命名的默认约束生成错误 DROP 语句的问题。 GitHub 问题 SqlPackage CLI; DacFx API / 架构比较器
Deployment 修复了一个问题:@level1type=N'NULL'在安全策略的扩展属性上使用了sp_addextendedproperty SqlPackage CLI; DacFx API / 架构比较器
Deployment 修复了一个问题:执行 BACPAC 导入或部署时,可能会先部署使用了 OPENROWSET(BULK ..., DATA_SOURCE = ...) 的存储过程,而后才部署其外部数据源。 GitHub 问题 SqlPackage CLI; DacFx API / 架构比较器
Deployment 修复了一个问题:在列重新排序后,部署预览报告未显示表重建将重新创建的默认约束。 生成的部署脚本已经正确了。 GitHub 问题 SqlPackage CLI; DacFx API / 架构比较器
Export 修复了一个问题:较大的 BACPAC 导出会因 System.IO.Packaging 中的 Stream was too long 溢出而失败。 SqlPackage CLI
Export 修复了将大型固定长度 Always Encrypted 列导出到 BACPAC 文件时出现的一个问题。 SqlPackage CLI
Extract 修复了在提取安全策略的对象级权限时出现的 InvalidCastException 问题。 GitHub 问题 SqlPackage CLI; DacFx API / 架构比较器
Extract 修复了一个问题:在 Azure SQL 数据库 提取过程中,Microsoft Entra 外部登录名或常规 SQL 登录名的用户与登录名之间的映射关系会丢失。 GitHub 问题 SqlPackage CLI; DacFx API / 架构比较器
Extract 修复了一个问题:提取 SQL 项目时,会将每批次的 SET ANSI_NULLSSET QUOTED_IDENTIFIER 选项写入生成的 .sqlproj 中,从而导致无法在 Microsoft Fabric 的 Data Warehouse 中部署需要这些选项的对象。 SqlPackage CLI;MSBuild / SQL 项目
Extract 修复了在 SQL Server 2027 中存在系统定义的外部语言时,使用 SQL72018: SqlExternalLanguage could not be imported 进行逆向工程失败的问题。 SqlPackage CLI; DacFx API / 架构比较器
Extract 修复了一个问题:在 Azure SQL 托管实例 上对外部语言进行逆向工程时,会因无法绑定 is_system_language 而失败。 SqlPackage CLI; DacFx API / 架构比较器
Import 修复了一个问题:当表的唯一键包含 VARBINARY(MAX) 列时,BACPAC 导入会导致一个较大的 NULL 值为空。 SqlPackage CLI
Import 修复了一个问题:带有向量索引的云 BACPAC 导入会在表数据加载之前失败。 向量索引的创建现在在数据阶段完成。 SqlPackage CLI
Platform 修复了旧版 DACPAC 在不可查找的包部件流上进行反序列化时失败的问题。 SqlPackage CLI; DacFx API / 架构比较器
Platform 修复了一个问题:DacPackage.Unpack 允许将包部分路径解析到请求的目标目录之外。 DacFx API/架构比较
模式比较 修复了一个问题:在针对 Microsoft Fabric 中的 Data Warehouse 进行架构比较时,生成的部署脚本错误地包含了已排除表中的主键和其他约束。 DacFx API/架构比较
模式比较 修复了一个问题:在架构比较时,会为可内联编写脚本的元素生成冗余的子元素脚本。 DacFx API/架构比较
SQL 项目 修复了一个问题:对于通过同义词解析的引用,会报告 SQL71558 标识符大小写警告。 GitHub 问题 MSBuild /SQL 项目
SQL 项目 修复了一个创建或更新 SQL 项目时产生非确定性对象排序的问题。 GitHub 问题 MSBuild /SQL 项目
SQL 项目 修复了一个问题:SQL 项目在引用外部数据(如 OPENROWSET)时构建失败。 GitHub 问题 MSBuild /SQL 项目
SQL 项目 修复了 SQL 项目构建中 VECTOR_SEARCH 表别名和距离列解析的问题。 MSBuild/SQL 项目;DacFx API/架构比较
SQL 项目 更新了错误信息位置,以 (line,col) 取代 (line,col,line,col) MSBuild /SQL 项目

170.4.83.3 SqlPackage

发布日期: 2026 年 6 月 3 日

dotnet tool install -g microsoft.sqlpackage --version 170.4.83.3
Platform Download
Windows .NET 10 .zip 文件
Windows .NET框架 .msi 文件
macOS .NET 10 .zip 文件
Linux .NET 10 .zip 文件

Features

Feature Details 适用对象
数据库选项 添加了对数据库选项 AUTOMATIC_INDEX_COMPACTION的支持。 自动索引压缩文档 SqlPackage CLI; DacFx API / 架构比较器
动态数据掩码 添加了对Microsoft Fabric中Data Warehouse提取和发布操作的动态数据掩码的支持。 SqlPackage CLI; DacFx API / 架构比较器
Extract 添加了将数据库提取到 SQL 项目格式的支持。 GitHub 问题 SqlPackage CLI; DacFx API / 架构比较器
Platform 引用 Microsoft.Data.SqlClient v6.1.5。 Platform
ScriptDom 已将 ScriptDom 更新为版本 180.18.1。 Platform

Fixes

Feature Details 适用对象
Deployment 修复了由架构绑定函数阻止 ALTER TABLE 操作导致的部署失败。 SqlPackage CLI; DacFx API / 架构比较器
Deployment 修复了在部署到数据库时保留外部模型所有权信息的问题。 SqlPackage CLI; DacFx API / 架构比较器
Deployment 修复了将表 CLUSTER BY 部署到 Microsoft Fabric 中的 Data Warehouse 时出现的一个问题。 SqlPackage CLI; DacFx API / 架构比较器
Deployment 修复了将具有 IDENTITY 列的表部署到 Microsoft Fabric 的 Data Warehouse 时出现的问题。 SqlPackage CLI; DacFx API / 架构比较器
Deployment 修复了以下问题:在部署过程中,系统会按全大写形式查找 DacPac 文件,这可能导致在某些区域设置(如土耳其语)中部署失败。 GitHub 问题 SqlPackage CLI; DacFx API / 架构比较器
Import 修复了以下问题:数据库触发器和 DDL 触发器在向表中插入数据时可能干扰导入过程。 SqlPackage CLI; DacFx API / 架构比较器
模式比较 修复了以下问题:增加 varchar 字段长度会导致数据丢失警告,并且在存在行数据时某项检查会失败。 GitHub 问题 SqlPackage CLI; DacFx API / 架构比较器
SQL 项目 修复了在非 Windows 系统的计算机上从项目生成 SQL 文件时出现的问题。 MSBuild /SQL 项目
SQL 项目 修复了一个问题:使用 .scmp 文件作为源生成的脚本中包含不需要的 SET ANSI_NULLS OFF 命令。 GitHub 问题 MSBuild/SQL 项目;DacFx API/架构比较
模式比较 修复了当 TargetScripts 文件中缺少 .scmp 标记时异常消息不正确的问题。 GitHub 问题 DacFx API/架构比较
Deployment 修复了一个问题:将 NullReferenceExceptionIncludeCompositeObjects=true 引用一起使用时,会出现 SameDatabaseGitHub 问题 SqlPackage CLI; DacFx API / 架构比较器
Platform 改进了在 .NET Core 上指定不受支持的存储模型时的错误消息。 GitHub 问题 平台; SqlPackage CLI
Fabric 数据仓库 修复了以下问题:由于不支持IDENTITYSEED语法,将具有INCREMENT列的表部署到Fabric Data Warehouse失败。 GitHub 问题 SqlPackage CLI; DacFx API / 架构比较器

170.3.93 SqlPackage

发布日期: 2026 年 2 月 10 日

dotnet tool install -g microsoft.sqlpackage --version 170.3.93
Platform Download
Windows .NET 10 .zip 文件
Windows .msi 文件
macOS .NET 10 .zip 文件
Linux .NET 10 .zip 文件

Features

Feature Details 适用对象
Deployment 添加了对数据库选项 ACCELERATED_DATABASE_RECOVERYOPTIMIZED_LOCKING. SqlPackage CLI; DacFx API / 架构比较器
Permissions 增强权限发布以包括 EXECUTE ON EXTERNAL MODEL 权限。 SqlPackage CLI; DacFx API / 架构比较器
Platform 向 DacFx 库和 SqlPackage CLI 添加了 .NET 10 支持。 SqlPackage dotnet tool 适用于 .NET 8 和 .NET 10。 平台;SqlPackage CLI;DacFx API/架构比较
Platform 向 DacFx 库添加了 .NET Standard 2.0 支持。 平台;DacFx API/架构比较
Platform 引用 Microsoft.Data.SqlClient v6.1.3。 Platform
ScriptDom 已将 ScriptDom 更新为版本 170.157.0。 Platform
Vector 扩展向量列支持,以允许更改基类型。 SqlPackage CLI;MSBuild/SQL 项目;DacFx API/架构比较

Fixes

Feature Details 适用对象
Deployment 修复了在 Microsoft Fabric 中部署到 SQL 数据库时遇到的错误,该错误发生于目标数据库包含安全策略的情况下。 SqlPackage CLI; DacFx API / 架构比较器
Export 修复了一个问题:由于布尔属性值使用了.dacpacTrue/值而不是小写的Falsetrue/值,导致导出的false文件无法通过XSD架构验证。 GitHub 问题 SqlPackage CLI
Import 修复了在不向用户发出警告的情况下,以无提示方式导入名称(如/"$)中具有特殊字符的表时无法导入数据的问题。 GitHub 问题 SqlPackage CLI
Ledger 修复了包含计算列的账本表在模型验证和生成过程中导致 NullReferenceException 的问题。 GitHub 问题 MSBuild/SQL 项目;DacFx API/架构比较
SQL 项目 修复了在表上生成具有内联聚集列存储索引定义的 SQL 项目失败并出现语法错误的问题。 GitHub 问题 MSBuild /SQL 项目
SQL 项目 修复了以下问题:当表中包含 NVARCHAR(MAX) 或其他 LOB 类型列时,其聚集列存储索引错误地显示一条错误消息,指出矢量列不支持列存储索引。 GitHub 问题 MSBuild /SQL 项目
Vector 修复了以下问题:使用 VECTOR_SEARCH 的过程报告一条验证警告,指出无法解析列引用。 GitHub 问题 MSBuild/SQL 项目;DacFx API/架构比较

170.2.70 SqlPackage

发布日期: 2025 年 10 月 14 日

dotnet tool install -g microsoft.sqlpackage --version 170.2.70
Platform Download
Windows .NET 8 .zip 文件
Windows .msi 文件
macOS .NET 8 .zip 文件
Linux .NET 8 .zip 文件

Features

Feature Details 适用对象
外部模型 添加了对 Azure SQL 数据库和 SQL Server 2025(17.x)中的外部模型的支持,用于导入、导出、提取、部署和 SQL 项目生成。 SqlPackage CLI;MSBuild/SQL 项目;DacFx API/架构比较
外部模型 添加了对函数 AI_GENERATE_CHUNKSAI_GENERATE_EMBEDDINGS 的支持。 SqlPackage CLI; DacFx API / 架构比较器
JSON 添加了对 Azure SQL 数据库和 SQL Server 2025(17.x)中的 JSON 索引的支持,用于导入、导出、提取、部署和 SQL 项目生成。 SqlPackage CLI;MSBuild/SQL 项目;DacFx API/架构比较
JSON 添加了对 JSON 函数JSON_ARRAYAGGJSON_OBJECTAGG和 的支持JSON_QUERY SqlPackage CLI;MSBuild/SQL 项目;DacFx API/架构比较
Platform SqlPackage .zip 生成 .NET SDK 已更新为 8.0.414 平台; SqlPackage CLI
正则表达式 添加了对 REGEXP_LIKE 函数的支持。 SqlPackage CLI;MSBuild/SQL 项目;DacFx API/架构比较
ScriptDom 已将 ScriptDom 更新为版本 170.128.0。 Platform
Vector 添加了对 Azure SQL 数据库和 SQL Server 2025(17.x)中的矢量索引的支持,用于导入、导出、提取、部署和 SQL 项目生成。 SqlPackage CLI;MSBuild/SQL 项目;DacFx API/架构比较
Vector 将向量数据类型的支持扩展到 SQL Server 2025 (17.x),并指定 32 位浮点大小。 SqlPackage CLI;MSBuild/SQL 项目;DacFx API/架构比较
Vector 添加了对 Vector 函数 VECTOR_SEARCH的支持。 SqlPackage CLI;MSBuild/SQL 项目;DacFx API/架构比较

Fixes

Feature Details 适用对象
数据掩码 修复了在项目生成期间无法识别日期/时间数据掩码函数的问题。 GitHub 问题 MSBuild /SQL 项目
外部模型 修复了由于外部模型依赖于数据库范围凭据导致项目构建失败的问题。 MSBuild /SQL 项目
JSON 修复了将 JSON 索引与默认 JSON 路径进行比较时的 bug。 DacFx API/架构比较;SqlPackage CLI
Platform 引用 Microsoft.Data.SqlClient v5.1.7。 Platform
XML 修复了在模型比较期间 XML 查询路径(xQuery)不被视为区分大小写的问题。 即使在不区分大小写的数据库上,xQuery 路径也区分大小写。 GitHub 问题 DacFx API/架构比较;SqlPackage CLI

170.1.61 SqlPackage

发布日期: 2025 年 7 月 30 日

dotnet tool install -g microsoft.sqlpackage --version 170.1.61
Platform Download
Windows .NET 8 .zip 文件
Windows .msi 文件
macOS .NET 8 .zip 文件
Linux .NET 8 .zip 文件

Features

Feature Details 适用对象
数据虚拟化 添加了对导入、导出、提取和发布操作中与 Azure SQL 数据库 数据虚拟化 相关的对象的支持。 SqlPackage CLI
数据虚拟化 使用 parquet 文件发布预览功能中增加了 Azure SQL 数据库,因此能够使用 Azure Blob 存储和 parquet 文件将数据导入数据库。 Azure SQL 数据库不支持将数据提取到 parquet 文件,因为 Azure SQL 数据库依赖于 功能,而CREATE EXTERNAL TABLE AS SELECT SqlPackage CLI
Deployment 添加了对发布属性 /p:IgnorePreDeployScript/p:IgnorePostDeployScript 的支持。 这些属性默认值为 false,启用这些属性会导致部署计划省略相应的脚本。 GitHub 问题 SqlPackage CLI; DacFx API / 架构比较器
Permissions 增加了对 Microsoft Fabric 中 Azure SQL 数据库和 SQL 数据库权限 ALTER ANY EXTERNAL MIRROR 的支持。 导出包含一个或多个 镜像表的数据库需要此权限。 GitHub 问题 SqlPackage CLI; DacFx API / 架构比较器
Permissions 添加了对 SQL Server 2025(17.x)中权限 CREATE ANY EXTERNAL MODELALTER ANY EXTERNAL MODEL 的支持。 SqlPackage CLI; DacFx API / 架构比较器
Permissions 添加了对 SQL Server 2025 (17.x) 和 Azure SQL 数据库的权限 ALTER ANY INFORMATION PROTECTION 的支持。 SqlPackage CLI; DacFx API / 架构比较器
Platform SqlPackage .zip 生成 .NET SDK 已更新为 8.0.412。 平台; SqlPackage CLI
ScriptDom 已将 ScriptDom 更新为版本 170.0.64。 Platform
ScriptDom 更新 Fabric 平台中的数据仓库以在 ScriptDom 中使用 TSqlFabricDWParser 平台;DacFx API/架构比较

Fixes

Feature Details 适用对象
始终加密 (Always Encrypted) 修复了以下问题:Interactive 发布参数的 /AzureKeyVaultAuthMethod 选项无法正常工作。 SqlPackage CLI
Deployment 修复了在部署中未正确设置DbScopedConfigMaxDOPSecondary的问题GitHub 问题 SqlPackage CLI; DacFx API / 架构比较器
Deployment 修复了发布包含外键约束的表时因 Microsoft Fabric 中的数据仓库不支持语法而导致失败的问题。 SqlPackage CLI
Deployment 修复了以下问题:在 Microsoft Fabric 中部署到 SQL 数据库时纳入了服务器对象。 Microsoft Fabric 中的 SQL 数据库中不支持服务器对象。 GitHub 问题 SqlPackage CLI
Deployment 修复了以下问题:创建聚集列存储索引时首先创建聚集索引,这增加了部署开销和时间。 GitHub 问题 SqlPackage CLI
Extract 修复了从 Microsoft Fabric 中的 SQL 数据库中提取数据库会导致用户定义脚本不可用的问题。 GitHub 问题 SqlPackage CLI

170.0.94 SqlPackage

发布日期: 4月 15, 2025

dotnet tool install -g microsoft.sqlpackage --version 170.0.94
Platform Download
Windows .NET 8 .zip 文件
Windows .msi 文件
macOS .NET 8 .zip 文件
Linux .NET 8 .zip 文件

Features

Feature Details 适用对象
DACPACVerify 在预览工具 .dacpac 中,添加了对验证两个 文件内容的支持。 DacFx API/架构比较
Extract 添加了对将.dacpac文件解压缩到文件夹的支持。 该 /Action:Extract 命令与 /SourceFile:/TargetFile: 参数一起使用。 目标文件必须是一个文件夹,并且当指定源文件 ().dacpac 时,任何数据库连接属性都无效。 提取自/p:ExtractTarget=SchemaObjectType文件而不是源数据库时,需要.dacpac属性。 可执行文件 Dacunpack.exe 将从 DacFx.msi 安装程序中删除。 SqlPackage CLI; DacFx API / 架构比较器
Parquet 添加了对将 Azure Blob 存储中的 Parquet 文件与 SqlPackage 提取和发布操作配合使用时对数据类型时间戳、rowversion、uniqueidentifier、text、ntext、image、json、xml 和 vector 的支持。 SqlPackage CLI
Parquet 添加了在表中包含不支持的数据类型时,将表数据导出和导入到 BCP 文件的支持,同时利用 Azure Blob 存储中的 Parquet 文件通过 SqlPackage 完成其他数据的提取和发布操作。 一个示例数据类型是 sql_variant,包含该类型列的表将写入 BCP 文件,.dacpac 而其他所有表则写入 Azure Blob 存储中的 Parquet 文件。 SqlPackage CLI
Platform 将 .NET Framework 的 SqlPackage 版本更新为 .NET Framework 4.7.2。 平台; SqlPackage CLI
Platform 删除了对 .NET 6 的支持。 平台; SqlPackage CLI
ScriptDom 将 ScriptDom 更新到版本 170.18.0。 Platform
SQL 项目 Microsoft Fabric 中 Azure SQL 数据库和 SQL 数据库的默认兼容级别现在设置为 170。 有关详细信息,请参阅 Azure SQL 数据库中的数据库兼容性级别 170 和 Microsoft Fabric 中的 SQL 数据库 MSBuild /SQL 项目
Vector 目标平台 Azure SQL 数据库 现在支持矢量数据类型进行导入、导出、提取、部署和 SQL 项目构建。 SqlPackage CLI;MSBuild/SQL 项目;DacFx API/架构比较

Fixes

Feature Details 适用对象
Deployment 修复了以下问题:将更改部署到外部表会导致删除和重新创建所有外部表(如果修改后的表不包含任何 REJECT_VALUE 值或 REJECT_SAMPLE_VALUE)。 SqlPackage CLI; DacFx API / 架构比较器
Deployment 修复了一个问题:如果列的排序规则已被指定且与数据库的默认排序规则匹配,在更改列长度以扩展时,会错误地出现数据丢失警告。 GitHub 问题 SqlPackage CLI; DacFx API / 架构比较器
Deployment 修复了表上的敏感度分类更改导致重新创建索引的问题。 GitHub 问题 SqlPackage CLI; DacFx API / 架构比较器
Export 优化了导出操作期间表大小估计的使用。 SqlPackage CLI
Extract 修复了使用数据库引用提取 .dacpac 失败的问题。 GitHub 问题 SqlPackage CLI; DacFx API / 架构比较器
Fabric 数据仓库 修复了在发布操作期间调用sp_refreshsqlmodule系统存储过程的问题。 Fabric 数据仓库不支持 sp_refreshsqlmodule ,这会导致部署失败。 SqlPackage CLI
Fabric 数据仓库 修复了从 Fabric 数据仓库中提取数据库时,表约束包含在 .dacpac 文件中但不包含在 .sql 文件中的问题。 GitHub 问题 SqlPackage CLI
SQL 项目 修复了问题:在 Visual Studio 中没有安装 SSDT 的情况下进行构建,会导致构建行为不正确。 GitHub 问题 MSBuild /SQL 项目
SQL 项目 修复了启用代码分析时构建警告在输出中重复的问题。 GitHub 问题 MSBuild /SQL 项目
SQL 项目 修复了 Service Broker 参数设置为变量会导致错误警告的问题。 GitHub 问题 MSBuild /SQL 项目

存档版本 (162.x 和更早版本)

可以在 SqlPackage 发行说明(存档)中找到版本 162.x 及更早版本的发行说明。