通过


SqlPackage 发行说明(存档)

下载最新版本

本文列出了 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、兼容性默认值

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

以下版本已存档,不再受支持。

162.5.57 SqlPackage

发布日期:2024 年 11 月 21 日

dotnet tool install -g microsoft.sqlpackage --version 162.5.57
平台 下载
Windows .NET 8 .zip 文件
Windows操作系统 .msi 文件
macOS .NET 8 .zip 文件
Linux .NET 8 .zip 文件

功能

功能 详细信息 适用对象
DACPAC 对于 Synapse 无服务器和 Azure SQL 数据库的系统 DACPAC 更新。 平台;DacFx API/架构比较
诊断 添加了一个新的命令行参数来指定日志记录级别。 /DiagnosticsLevel: SqlPackage CLI
诊断 添加了一个新的命令行参数来输出 .zip 诊断包,其中包含目标和源模型信息以及诊断日志记录、部署脚本和部署报表。 /DiagnosticPackageFile: SqlPackage CLI
Fabric 数据仓库 添加了对发布到需要表修改语句的 Fabric 数据仓库数据库的支持。 SqlPackage CLI; DacFx API / 架构比较器
Microsoft Fabric 中的 SQL 数据库 添加了对目标平台SqlDbFabricDatabaseSchemaProvider的支持。 SqlPackage CLI; DacFx API / 架构比较器

修正

功能 详细信息 适用对象
部署 修复了一个问题:如果某个存储过程或函数引用了内存优化的系统版本表,而由于数据库由 DBCC CLONEDATABASE 创建,缺少内存优化的系统版本表,则部署会失败。 GitHub 问题 SqlPackage CLI; DacFx API / 架构比较器
部署 修复了由于角色成员身份更改而导致部署到 Synapse 无服务器失败的问题。 SqlPackage CLI; DacFx API / 架构比较器
部署 修复了当主密钥的密码未设置时,使用主密钥的部署会失败的问题。 开发人员社区 SqlPackage CLI; DacFx API / 架构比较器
Import 修复了 nvarchar(max)、varchar(max) 和 varbinary(max) 类型的聚集列存储索引无法导入的问题。 GitHub 问题 SqlPackage CLI
Import 修复了导入具有 DDL 触发器的数据库失败的问题,因为在数据导入完成之前启用了触发器。 SqlPackage CLI

162.4.92 SqlPackage

发布日期:2024 年 9 月 18 日

dotnet tool install -g microsoft.sqlpackage --version 162.4.92
平台 下载
Windows .NET 8 .zip 文件
Windows操作系统 .msi 文件
macOS .NET 8 .zip 文件
Linux .NET 8 .zip 文件

功能

功能 详细信息 适用对象
部署 Azure SQL 数据库中新数据库的默认兼容性级别现在设置为 160。 博客帖子 平台;SqlPackage CLI
JSON 目标平台 Azure SQL Database 现在支持使用 JSON 数据类型进行导入、导出、提取、部署和 SQL 项目构建。 SqlPackage CLI;MSBuild/SQL 项目;DacFx API/架构比较

修正

功能 详细信息 适用对象
部署 修复了使用位转换函数的分区函数在部署过程中导致表重新生成的问题。 GitHub 问题 SqlPackage CLI; DacFx API / 架构比较器
部署 修复了以下问题:将更改部署到外部表会导致删除并重新创建所有外部表。 GitHub 问题 SqlPackage CLI; DacFx API / 架构比较器
部署 修复了一个问题:system_time 列的列名称中包含空格的时态表生成无效的部署脚本。 开发人员社区 SqlPackage CLI; DacFx API / 架构比较器
部署 修复了以下问题:在部署期间,在表上对 类型强制转换 兼容的类型之间更改列类型会导致不必要的表重新生成。 GitHub 问题 SqlPackage CLI; DacFx API / 架构比较器
部署 修复了以下问题:为 Azure SQL 数据库生成的部署脚本包含一个忽略语句,用于关闭查询存储,而不考虑 SQL 项目设置。 SqlPackage CLI
Export 修复了 BACPAC 导出在序列化期间失败但跟踪日志不包含失败消息的问题。 GitHub 问题 SqlPackage CLI
Extract 修复了在将表定义 .sql 写入文件时,提取操作对表上的索引重新排序的问题。 SqlPackage CLI; DacFx API / 架构比较器
JSON 修复了 isjson 函数 json_type_constraint 的参数无法识别为第二个参数的问题。 GitHub 问题 SqlPackage CLI; DacFx API / 架构比较器
平台 引用了 Microsoft.Data.SqlClient v5.1.6。 平台
模式比较 修复了架构比较要求所有语句位于同一批中导致重复语句的问题。 GitHub 问题 DacFx API/架构比较
ScriptDOM 引用 ScriptDOM 16.1.9142 平台

162.3.566 SqlPackage

发布日期:2024 年 6 月 24 日

dotnet tool install -g microsoft.sqlpackage --version 162.3.566
平台 下载
Windows .NET 8 .zip 文件
Windows操作系统 .msi 文件
macOS .NET 8 .zip 文件
Linux .NET 8 .zip 文件

修正

功能 详细信息 适用对象
部署 修复了将部署参与者 API DeploymentPlanModifier 方法设置为静态方法的问题。 GitHub 问题 DacFx API/架构比较
平台 SqlPackage .zip 构建 .NET SDK 从 8.0.301 更新为 8.0.302 平台;SqlPackage CLI

已知问题

功能 详细信息 解决方法
部署 目前尚不支持 Azure Synapse Analytics 工作负荷管理功能(工作负荷组和工作负荷分类器)。 不适用
Import 使用 SqlPackage 导出创建的 BACPAC 文件,除非由 .msi 文件安装,否则在大于 4 GB 时可能无法通过 Azure 门户网站和 Azure PowerShell 导入。 使用 SqlPackage 导入 BACPAC,或使用该文件安装的 .msi SqlPackage 创建 BACPAC 文件。
ScriptDOM 分析大型文件可能会导致堆栈溢出。 没有

162.3.563 SqlPackage

发布日期:2024 年 6 月 6 日

dotnet tool install -g microsoft.sqlpackage --version 162.3.563
平台 下载
Windows .NET 8 .zip 文件
Windows操作系统 .msi 文件
macOS .NET 8 .zip 文件
Linux .NET 8 .zip 文件

功能

功能 详细信息 适用对象
Microsoft Fabric 添加了对目标平台 SqlDbFabricDatabaseSchemaProvider的预览支持,表示Microsoft Fabric 镜像 SQL 数据库。 此目标平台 支持的数据类型 仅限于镜像到 Microsoft Fabric 支持的数据类型。 SqlPackage CLI; DacFx API / 架构比较器
平台 引用 Microsoft.Data.SqlClient v5.1.5。 平台
ScriptDOM 引用 ScriptDOM 161.9109 平台

修正

功能 详细信息 适用对象
代码分析 修复了以下问题:代码分析规则的生成输出与 MSBuild 诊断格式准则不一致。 GitHub 问题 MSBuild /SQL 项目
部署 修复了设置ONLINE并部署大型对象类型(LOB)索引失败的问题。 SqlPackage CLI; DacFx API / 架构比较器
部署 修复了在临时表上部署列加密失败的问题。 GitHub 问题 SqlPackage CLI; DacFx API / 架构比较器
部署 还原所做的更改,以避免在项目生成后存储引用的 DACPAC 的绝对路径,因为新行为中存在向后兼容性的问题。 GitHub 问题 MSBuild/SQL 项目;DacFx API/架构比较
Extract 修复了在多列分布(MCD)表中使用的列错误地编写脚本以允许 NULL 值的问题。 SqlPackage CLI; DacFx API / 架构比较器
ScriptDOM 修复了以下问题:从表值函数*中选择未指定的 (OPEN_JSON) 列会导致 SQL 项目无法生成。 GitHub 问题 MSBuild/SQL 项目;DacFx API/架构比较

已知问题

功能 详细信息 解决方法
部署 目前尚不支持 Azure Synapse Analytics 工作负荷管理功能(工作负荷组和工作负荷分类器)。 不适用
部署 部署参与者 API DeploymentPlanModifier 方法设置为静态方法。 已在 SqlPackage 162.3.566 中修复。
Import 使用 SqlPackage 导出创建的 BACPAC 文件,除非由 .msi 文件安装,否则在大于 4 GB 时可能无法通过 Azure 门户网站和 Azure PowerShell 导入。 使用 SqlPackage 导入 BACPAC,或使用该文件安装的 .msi SqlPackage 创建 BACPAC 文件。
ScriptDOM 分析大型文件可能会导致堆栈溢出。 没有

162.2.111 SqlPackage

发布日期:2024 年 2 月 27 日

dotnet tool install -g microsoft.sqlpackage --version 162.2.111
平台 下载
Windows .NET 8 .zip 文件
Windows操作系统 .msi 文件
macOS .NET 8 .zip 文件
Linux .NET 8 .zip 文件

功能

功能 详细信息 适用对象
平台 引用了 Microsoft.Data.SqlClient v5.1.4。 平台
平台 SqlPackage 自包含 (.zip) 下载现使用 .NET 8 生成。 平台;SqlPackage CLI
平台 SqlPackage dotnet tool 现可用于 .NET 6 和 .NET 8。 GitHub 问题 平台;SqlPackage CLI
平台 SqlPackage 预览版现可在 dotnet tool 源中使用。 平台;SqlPackage CLI
Azure Synapse Analytics DW_COMPATIBILITY_LEVEL 项目属性添加了验证,以确保该值在项目生成期间的有效选项 0、10、20、30、40、50、9000 内。 MSBuild /SQL 项目
部署 添加了对 ONLINE 索引 操作的支持。 联机索引操作可作为 SqlPackage 命令行发布属性/p:PerformIndexOperationsOnline 应用,也可作为 SQL 项目模型中的组件应用。 GitHub 问题 SqlPackage CLI;MSBuild/SQL 项目;DacFx API/架构比较
Parquet 改进了针对 Parquet 文件中的数据的提取和发布操作,包括通过并行导入数据和减小日志文件大小来提高性能。 SqlPackage CLI

修正

功能 详细信息 适用对象
部署 修复了视图子句中使用的 APPLY 函数包无法部署的问题。 前面的错误消息是找不到该函数,因为视图在函数之前未正确部署。 GitHub 问题 SqlPackage CLI; DacFx API / 架构比较器
部署 修复了在部署脚本中无法正确识别和包含函数关键字NATIVE_COMPILATIONSCHEMABINDING的问题。 GitHub 问题开发者社区 SqlPackage CLI; DacFx API / 架构比较器
部署 修复了以下问题:VALUES 子句中对系统表的引用无法生成,并显示一条错误消息,指出该值不能为 null。 开发人员社区 MSBuild/SQL 项目;DacFx API/架构比较
部署 修复了以下问题:项目生成后,引用的 DACPAC 的绝对路径存储在 DACPAC 中,而不是相对路径。 GitHub 问题 MSBuild/SQL 项目;DacFx API/架构比较
部署 修复了一个问题:如果要创建另一个禁用索引,则禁用聚集索引的创建会导致部署失败。 GitHub 问题 SqlPackage CLI; DacFx API / 架构比较器
部署 修复了一个问题:用户定义的数据类型的同义词导致未解析的引用。 GitHub 问题 MSBuild/SQL 项目;DacFx API/架构比较
Extract 修复了以下问题:如果为包指定了一个不遵循 major.minor.build 格式的版本,则属性 DacVersion 未被设置。 GitHub 问题 SqlPackage CLI; DacFx API / 架构比较器
Import 修复了某些排序规则(包括 Chinese_PRC_CI_AS)无法导入的问题,并显示不支持排序规则的错误消息。 GitHub 问题 SqlPackage CLI
模式比较 修复了具有 UTF8 排序规则的数据库未给出正确结果的问题。 DacFx API/架构比较
模式比较 修复了评估 Synapse 无服务器 SQL 池时架构比较不包括外部数据源、外部文件格式和外部表对象的问题。 DacFx API/架构比较
安全性 已修复在 .NET 平台上对通用身份验证的 SqlPackage 支持,/ua该支持包括 Microsoft Entra ID 身份验证和多因素身份验证。 (MFA)。 SqlPackage CLI
系统 DACPACs 修复了 pdw*中未包含视图的问题master.dacpacGitHub 问题开发者社区 平台;DacFx API/架构比较

已知问题

功能 详细信息 解决方法
部署 目前尚不支持 Azure Synapse Analytics 工作负荷管理功能(工作负荷组和工作负荷分类器)。 不适用
Import 使用 SqlPackage 导出创建的 BACPAC 文件,除非由 .msi 文件安装,否则在大于 4 GB 时可能无法通过 Azure 门户网站和 Azure PowerShell 导入。 使用 SqlPackage 导入 BACPAC,或使用该文件安装的 .msi SqlPackage 创建 BACPAC 文件。
ScriptDOM 分析大型文件可能会导致堆栈溢出。 没有

162.1.172 SqlPackage

发布日期:2024 年 1 月 9 日

dotnet tool install -g microsoft.sqlpackage --version 162.1.172
平台 下载
Windows .NET 6 .zip 文件
Windows操作系统 .msi 文件
macOS .NET 6 .zip 文件
Linux .NET 6 .zip 文件

修正

功能 详细信息 适用对象
平台 引用了 Microsoft.Data.SqlClient v5.1.3。 平台

已知问题

功能 详细信息 解决方法
部署 目前尚不支持 Azure Synapse Analytics 工作负荷管理功能(工作负荷组和工作负荷分类器)。 不适用
Import 使用 SqlPackage 导出创建的 BACPAC 文件,除非由 .msi 文件安装,否则在大于 4 GB 时可能无法通过 Azure 门户网站和 Azure PowerShell 导入。 使用 SqlPackage 导入 BACPAC,或使用该文件安装的 .msi SqlPackage 创建 BACPAC 文件。
ScriptDOM 分析大型文件可能会导致堆栈溢出。 没有

162.1.167 SqlPackage

发布日期:2023 年 10 月 19 日

平台 下载
Windows .NET 6 .zip 文件
Windows操作系统 .msi 文件
macOS .NET 6 .zip 文件
Linux .NET 6 .zip 文件

功能

功能 详细信息 适用对象
平台 引用了 Microsoft.Data.SqlClient v5.1.1。 平台
Azure Synapse Analytics 添加了在 Azure Synapse Analytics 无服务器 SQL 池中对 PARSER_VERSION 的支持 FORMAT_OPTIONS文档 SqlPackage CLI; DacFx API / 架构比较器
Azure Synapse Analytics 添加了对 Azure Synapse Analytics 专用 SQL 池的多 CREATE VIEW 列分布(MCD)的支持。 GitHub 问题 SqlPackage CLI; DacFx API / 架构比较器
Azure Synapse Analytics 添加了对对 Parquet 文件的提取操作的 /p:TableData 属性的支持,使能够指定要导出数据的表。 GitHub 问题 SqlPackage CLI
Fabric 数据仓库 添加了对 Fabric 数据仓库数据库的提取和发布的支持。 发布功能不支持需要更改现有表的更改。 目标平台枚举值是 SQL 数据库项目中的 SqlDwUnifiedDatabaseSchemaProvider SqlPackage CLI;MSBuild/SQL 项目;DacFx API/架构比较
Parquet 添加了用于在 Azure Blob 存储中存储于 Parquet 文件的数据进行提取和发布的预览支持,适用于 Azure SQL 托管实例和 SQL Server 2022(16.x)。 不支持 Azure SQL 数据库和 SQL Server 2019(15.x)和早期版本。 数据必须是 CETAS 支持的数据类型。 在很多情况下,使用 Parquet 文件提取和发布可提高导入/导出到 BACPAC 文件的性能。 SqlPackage CLI
发布 添加了/p:AllowTableRecreation属性用于发布操作。 默认值(true)与以前的行为一致,其中表更改可能需要在保留表数据的同时重新创建表,但部署可能需要花费大量时间或丢失更改跟踪数据。 如果有表需要重新创建,将属性 /p:AllowTableRecreation 设置为 false 会导致部署不启动。 GitHub 问题 SqlPackage CLI; DacFx API / 架构比较器

修正

功能 详细信息 适用对象
应用程序 修复了重定向输出时 SqlPackage CLI 引发异常的问题。 GitHub 问题 SqlPackage CLI
Azure Synapse Analytics 修复了发布任务无法解析包含filepath()filename()函数语句的问题。 SqlPackage CLI; DacFx API / 架构比较器
Import AUTO_DROP 将 BACPAC 导入到不支持 AUTO_DROP的 SQL Server 版本时,选项将从统计信息中排除。 SqlPackage CLI
Import 修复了导入包含 ALTERCREATE 可用性组的数据库时导入失败的问题。 SqlPackage CLI
Export 修复了 BACPAC 导出中包含已删除账本列的问题,导致导入过程中出现错误消息。 SqlPackage CLI
Export 修复了导出到 BACPAC 文件时未应用 /p:CompressionOption 的问题。 SqlPackage CLI
Extract 修复了以下问题:非 DACPAC 选项的 /p:ExtractTarget 选项仍要求目标文件具有 .dacpac 扩展名。 GitHub 问题 SqlPackage CLI
账本 修复了由于尝试为已删除的表创建权限而导入或发布包含已删除账本表的数据库失败的问题。 SqlPackage CLI; DacFx API / 架构比较器
账本 修复了以下问题:由于尝试将数据导入到已删除的表,包含已删除账本表的数据库导入失败。 SqlPackage CLI
Polybase 修复了无法导出或提取具有 RDBMS 外部表的 Azure SQL 托管实例数据库的问题。 GitHub 问题 SqlPackage CLI
发布 修复了DropObjectsNotInSource,以防止删除作为权限或角色成员身份的对象。 使用 DropPermissionsNotInSourceDropRoleMembersNotInSource 启用删除权限或角色成员身份。 GitHub 问题 SqlPackage CLI; DacFx API / 架构比较器
发布 修复了当用户连接无法访问 Azure SQL 数据库中的 master 时,发布操作失败的问题。 SqlPackage CLI
发布 修复了包括与列加密交互的部署遇到间歇性执行超时错误的问题。 SqlPackage CLI; DacFx API / 架构比较器
发布 修复了以下问题:如果 RegisterDataTierApplication 设置为 true,则部署使用 .NET/.NET Core 生成的 DACPAC 将失败。 GitHub 问题 SqlPackage CLI
发布 修复了修改系统版本控制表并创建新架构导致部署失败的问题。 GitHub 问题 SqlPackage CLI; DacFx API / 架构比较器

已知问题

功能 详细信息 解决方法
部署 目前尚不支持 Azure Synapse Analytics 工作负荷管理功能(工作负荷组和工作负荷分类器)。 不适用
Import 使用 SqlPackage 导出创建的 BACPAC 文件,如果不是由 .msi 文件安装,当其大于 4 GB 时,可能无法通过 Azure 门户和 Azure PowerShell 导入。 使用 SqlPackage 导入 BACPAC,或使用该文件安装的 .msi SqlPackage 创建 BACPAC 文件。
ScriptDOM 分析大型文件可能会导致堆栈溢出。 没有

162.0.52 SqlPackage

发布日期:2023 年 5 月 11 日

平台 下载 版本
Windows .NET 6 .zip 文件 162.0.52
Windows操作系统 .msi 文件 162.0.52
macOS .NET 6 .zip 文件 162.0.52
Linux .NET 6 .zip 文件 162.0.52

功能

功能 详细信息 适用对象
平台 SqlPackage 现收集使用数据,包括匿名功能使用情况和诊断数据。 有关详细信息,请参阅使用数据收集 SqlPackage CLI
平台 引用的Microsoft.Data.SqlClient版本为v5.1.0 平台
Azure Synapse Analytics 添加了对 DW_COMPATIBILITY_LEVEL的支持。 SqlPackage CLI;MSBuild/SQL 项目;DacFx API/架构比较
ScriptDOM ScriptDOM 现在 NuGet 上作为独立包提供,并在 GitHub 上开放源代码。 平台
系统 DACPACs 系统 DACPAC mastermsdb 现已作为 Microsoft.SqlServer.Dacpacs.MasterMicrosoft.SqlServer.Dacpacs.Msdb 在 NuGet 上提供。 DacFx GitHub 存储库中提供了有关系统 DACPAC 和使用 DACPAC 作为包引用的详细信息。 平台;DacFx API/架构比较

修正

功能 详细信息 适用对象
Azure Synapse Analytics 修复了连接到 Azure Synapse Analytics 无服务器 SQL 池时默认命令超时未正确设置的问题。 SqlPackage CLI; DacFx API / 架构比较器
Azure Synapse Analytics 修复了 Azure Synapse Analytics 无服务器 SQL 池错误地确定默认数据和日志路径的问题。 SqlPackage CLI; DacFx API / 架构比较器
Azure Synapse Analytics 修复了 Azure Synapse Analytics 无服务器 SQL 池错误地确定默认登录名、用户和架构的问题。 SqlPackage CLI; DacFx API / 架构比较器
Azure SQL 数据库 修复了一个问题,即时间历史保留策略未能被正确识别为未配置(null)。 SqlPackage CLI; DacFx API / 架构比较器
部署 修复了部署计划在FROM VALUES子句的子查询中无法检测到对表/视图的依赖项的问题。 GitHub 问题 SqlPackage CLI; DacFx API / 架构比较器
部署 修复了当目标数据库包含绑定到列的规则时部署失败的问题。 SqlPackage CLI; DacFx API / 架构比较器
部署 修复了当目标数据库包含绑定到具有用户定义的类型的列的规则时部署失败的问题。 GitHub 问题 SqlPackage CLI; DacFx API / 架构比较器
部署 修复了当对表进行其他更改时,临时表的保留期重置为默认值的问题。 GitHub 问题 SqlPackage CLI; DacFx API / 架构比较器
部署 修复了当表指定压缩选项时,部署中不包含对主键的更新的问题。 SqlPackage CLI; DacFx API / 架构比较器
部署 修复了以下问题:即使对表没有更改,分区表上的非聚集索引也会重新生成。 GitHub 问题 SqlPackage CLI; DacFx API / 架构比较器
部署 修复了以下问题 IgnoreColumnOrder:当系统版本控制表中没有进行更改,仅对列进行了重新排序时,历史记录表不遵循属性。 SqlPackage CLI; DacFx API / 架构比较器
部署 修复了以下问题:尽管表定义包含 SQLCMD 变量时没有更改,但外部表会被删除和重新部署。 GitHub 问题 SqlPackage CLI; DacFx API / 架构比较器
Export 修复了导出操作期间提供的诊断信息错误地报告表的大小(以 KB 而不是字节为单位)。 GitHub 问题 SqlPackage CLI
Import 修复了在导入到 Azure SQL 数据库期间无法创建 Microsoft Entra ID 用户的问题,导致导入失败。 GitHub 问题 SqlPackage CLI
账本 修复了当账本历史记录表或视图具有无效的两部分名称时 SqlPackage 无法正确识别错误的问题。 SqlPackage CLI; DacFx API / 架构比较器
权限 修复了无法识别分配给数据库模型中用户的权限的问题,导致项目生成或 SqlPackage 操作失败。 MSBuild/SQL 项目;SqlPackage CLI;DacFx API/架构比较
查询存储 修复了一个问题,flush_interval_secondsQuery Store 选项未能以60秒的最小值正确验证。 SqlPackage CLI;MSBuild/SQL 项目;DacFx API/架构比较
SQL Server 2022 (16.x) 修复了无法将函数 DATETRUNC 识别为内置函数的问题。 开发人员社区 MSBuild/SQL 项目;DacFx API/架构比较
SQL Server 2022 (16.x) 修复了无法将函数 DATE_BUCKET 识别为内置函数的问题。 MSBuild/SQL 项目;DacFx API/架构比较

已知问题

功能 详细信息 解决方法
部署 目前尚不支持 Azure Synapse Analytics 工作负荷管理功能(工作负荷组和工作负荷分类器)。 不适用
Import 使用 SqlPackage 导出创建的 BACPAC 文件,除非通过 .msi 文件安装,否则在大小超过 4 GB 时,可能无法通过 Azure 门户和 Azure PowerShell 导入。 使用 SqlPackage 导入 BACPAC,或使用该文件安装的 .msi SqlPackage 创建 BACPAC 文件。
ScriptDOM 分析大型文件可能会导致堆栈溢出。 没有

161.8089.0 SqlPackage

发布日期:2023 年 2 月 13 日

平台 下载 版本 构建
Windows .NET 6 .zip 文件 161.8089.0 16.1.8089.0
Windows操作系统 .msi 文件 161.8089.0 16.1.8089.0
macOS .NET 6 .zip 文件 161.8089.0 16.1.8089.0
Linux .NET 6 .zip 文件 161.8089.0 16.1.8089.0

重要

SqlPackage 版本 161 默认会加密数据库连接。 以前使用自签名证书或未加密的成功连接可能无法与 v161 连接,而无需更新 SqlPackage 参数。 有关详细信息,请参阅 https://aka.ms/dacfx-connection

功能

功能 详细信息 适用对象
部署 添加了GenerateSmartDefaults属性在发布时设置为true时,从默认约束中填充值的功能。 GitHub 问题 SqlPackage CLI; DacFx API / 架构比较器
Azure Synapse Analytics 添加了对提取和发布操作中的 无服务器 SQL 池 的支持。 SqlPackage CLI; DacFx API / 架构比较器
SQL Server 2022 (16.x) 添加了对 有序聚集列存储索引的支持。 SqlPackage CLI;MSBuild/SQL 项目;DacFx API/架构比较

修正

功能 详细信息 适用对象
部署 修复了以下问题:由于默认数据和日志路径为空,在 Linux 上发布到 SQL 失败。 GitHub 问题 SqlPackage CLI; DacFx API / 架构比较器
部署 修复了以下问题:发布具有文件格式更改的外部表会导致错误。 GitHub 问题 SqlPackage CLI; DacFx API / 架构比较器
部署 修复了一个问题:使用随机加密的列在列加密密钥(CEK)无法访问的情况下不会立即失败,而是在列加密步骤中延迟报告部署错误。 SqlPackage CLI
重构 修复了以下问题:系统版本控制表上的重命名列导致系统版本控制处于关闭状态,且未重新打开。 GitHub 问题 SqlPackage CLI; DacFx API / 架构比较器
平台 修复了由于加密错误,SqlPackage 操作在 RHEL 9 上失败的问题。 转换为使用 6.0.10 版本的 .NET 6 运行时。 GitHub 问题 平台;SqlPackage CLI
模式比较 修复了以下问题 DoNotEvaluateSqlCmdVariables发布脚本 的属性不会在源和目标上计算 SqlCmd 变量,而不是只计算源。 DacFx API/架构比较;SqlPackage CLI
ScriptDOM 修复了对 REJECT_SAMPLE_VALUE 的外部表支持。 平台
ScriptDOM 修复了无法将压缩选项应用于具有聚集索引的表的问题。 平台
SQL 项目 修复了一个问题,即有效选项 QueryStoreFlushInterval 被错误地报告为无效。 开发人员社区 MSBuild /SQL 项目

已知问题

功能 详细信息 解决方法
部署 目前尚不支持 Azure Synapse Analytics 工作负荷管理功能(工作负荷组和工作负荷分类器)。 不适用
ScriptDOM 分析大型文件可能会导致堆栈溢出。 没有

161.6374.0 SqlPackage

发布日期:2022 年 11 月 9 日

平台 下载 版本 构建
Windows .NET 6 .zip 文件 161.6374.0 16.1.6374.0
Windows操作系统 .msi 文件 161.6374.0 16.1.6374.0
macOS .NET 6 .zip 文件 161.6374.0 16.1.6374.0
Linux .NET 6 .zip 文件 161.6374.0 16.1.6374.0

重要

SqlPackage 版本 161 默认会加密数据库连接。 以前使用自签名证书或未加密的成功连接可能无法与 v161 连接,而无需更新 SqlPackage 参数。 有关详细信息,请参阅 https://aka.ms/dacfx-connection

功能

功能 详细信息 适用对象
平台 将连接更改为使用加密,并且默认情况下不信任服务器证书。 对于使用自签名证书或默认情况下不加密的连接,这是一个重大变更。 有关详细信息,请参阅 https://aka.ms/dacfx-connection 平台;SqlPackage CLI
平台 引用了 Microsoft.Data.SqlClient v5.0.1 平台
平台 SqlPackage 现在可以在 Windows、macOS 和 Linux 平台上以的形式进行dotnet tool 平台;SqlPackage CLI
始终加密 (Always Encrypted) 添加了对具有 安全隔离区的 VBS(基于虚拟化的安全性)的支持。 SqlPackage CLI; DacFx API / 架构比较器
连接 为 SqlPackage 操作添加了对 TDS 8.0 和参数/SourceHostNameInCertificate/TargetHostNameInCertificate的支持。 SqlPackage CLI
复制 在对等复制中添加了对 sp_addpublication 的支持。 SqlPackage CLI; DacFx API / 架构比较器
ScriptDOM 添加了对带谓词子查询的 IS NOT DISTINCT FROM 语法的支持。 平台
服务器级角色 添加了对其他固定服务器角色的支持:##MS_DatabaseConnector####MS_LoginManager####MS_DatabaseManager####MS_ServerStateManager####MS_ServerStateReader####MS_ServerPerformanceStateReader####MS_ServerSecurityStateReader####MS_DefinitionReader####MS_PerformanceDefinitionReader####MS_SecurityDefinitionReader## SqlPackage CLI; DacFx API / 架构比较器
SQL Server 2022 (16.x) 添加了对与 SQL Server 2022:GREATEST()、、LEAST()STRING_SPLIT()DATETRUNC()LTRIM()RTRIM()TRIM()关联的 T-SQL 函数更改的支持。 SqlPackage CLI;MSBuild/SQL 项目;DacFx API/架构比较
SQL Server 2022 (16.x) 添加了对 与 SQL Server 2022ISJSON()JSON_PATH_EXISTS()JSON_OBJECT()JSON_ARRAY()关联的 JSON 函数更改的支持。 SqlPackage CLI;MSBuild/SQL 项目;DacFx API/架构比较
SQL Server 2022 (16.x) 添加了对与 SQL Server 2022 相关的位操作函数的支持LEFT_SHIFT()RIGHT_SHIFT()BIT_COUNT()GET_BIT()SET_BIT() SqlPackage CLI;MSBuild/SQL 项目;DacFx API/架构比较
SQL Server 2022 (16.x) 添加了对与 SQL Server 2022 相关的时序函数更改的支持:DATE_BUCKET()GENERATE_SERIES()FIRST_VALUE()LAST_VALUE() SqlPackage CLI;MSBuild/SQL 项目;DacFx API/架构比较
统计信息 添加了对 STATISTICS AUTO_DROP 选项的支持。 SqlPackage CLI; DacFx API / 架构比较器
XML 压缩 添加了对 XML 索引的 XML 压缩的支持。 SqlPackage CLI; DacFx API / 架构比较器

已知问题

功能 详细信息 解决方法
部署 目前尚不支持 Azure Synapse Analytics 工作负荷管理功能(工作负荷组和工作负荷分类器)。 不适用
ScriptDOM 分析大型文件可能会导致堆栈溢出。 没有

19.2 SqlPackage

发布日期:2022 年 9 月 22 日

平台 下载 版本 构建
Windows操作系统 .msi 文件 19.2 16.0.6296.0
macOS .NET 6 .zip 文件 19.2 16.0.6296.0
Linux .NET 6 .zip 文件 19.2 16.0.6296.0
Windows .NET 6 .zip 文件 19.2 16.0.6296.0

功能

功能 详细信息 适用对象
连接池 如果环境变量 CONNECTION_POOLING_ENABLED 设置为 True,则为所有连接启用连接池。 建议在涉及使用 Microsoft Entra ID 用户名/密码连接的操作中进行,以避免 Microsoft 身份验证库(MSAL)限制。 SqlPackage CLI
部署选项 显示 DacFx .NET API 中的部署选项的易记名称。 DacFx API/架构比较
动态数据屏蔽 在导入/导出和提取/发布功能中添加了对精细 UNMASK 权限的支持。 SqlPackage CLI; DacFx API / 架构比较器
账本 在架构模型中添加了用于验证和导出/提取的 SQL 账本历史记录表,不会将历史记录表导入或发布到数据库。 SqlPackage CLI;DacFx API/架构比较;MSBuild /SQL 项目
平台 SqlPackage 现已使用 .NET 6 生成 平台;SqlPackage CLI
SQL Server 2022 (16.x) 添加了对权限ALTER LEDGER CONFIGURATIONVIEW PERFORMANCE DEFINITIONVIEW ANY PERFORMANCE DEFINITION的支持。 详细了解权限文档中提供的权限定义。 SqlPackage CLI; DacFx API / 架构比较器
XML 压缩 ScriptDOM、导入/导出和提取/发布中的 XML 压缩支持。 XML 数据文档中提供了有关 XML 数据和 XML 压缩的详细信息。 SqlPackage CLI;DacFx API/架构比较;平台

修正

功能 详细信息 适用对象
Export 修复了当表具有包含计算列的统计信息时导出失败的问题 SqlPackage CLI
Import 修复了导入停滞在 95% 的问题 SqlPackage CLI
ScriptDOM 修复了STRING_SPLIT不支持NULL序号值的问题 平台

已知问题

功能 详细信息 解决方法
部署 目前尚不支持 Azure Synapse Analytics 工作负荷管理功能(工作负荷组和工作负荷分类器)。 不适用
ScriptDOM 分析大型文件可能会导致堆栈溢出。 没有
XML 压缩 SqlPackage 尚不支持 XML 索引的 XML 压缩。 不适用

19.1 SqlPackage

发布日期:2022 年 5 月 24 日

平台 下载 版本 构建
Windows操作系统 .msi 文件 19.1 16.0.6161.0
macOS .NET 核心 .zip 文件 19.1 16.0.6161.0
Linux .NET 核心 .zip 文件 19.1 16.0.6161.0
Windows .NET 核心 .zip 文件 19.1 16.0.6161.0

功能

功能 详细信息 适用对象
Azure Synapse Analytics 添加了对 本机外部数据源的支持。 SqlPackage CLI; DacFx API / 架构比较器
Extract 添加了对 ExtractTarget 提取操作的属性的支持。 提取现在支持将 .sql 提取为每个对象的文件,以在单个文件夹中按照对象类型、架构或对象类型和架构进行组织。 SqlPackage CLI
ScriptDOM 添加了对 IS NOT DISTINCT FROM 语法的支持。 平台

修正

功能 详细信息 适用对象
Azure Synapse Analytics 修复了表名称更改的发布操作,其中表名包括“/”字符。 SqlPackage CLI; DacFx API / 架构比较器
Export 修复了具有依赖项的 SQL 账本历史记录表的导出。 SqlPackage CLI
Extract 修复了在存储过程中使用函数的偏移子句导致提取操作失败的问题。 SqlPackage CLI; DacFx API / 架构比较器
Extract 修复了账本表提取操作的警告。 SqlPackage CLI
概况 修复了命令超时设置未正确应用的问题。 SqlPackage CLI; DacFx API / 架构比较器
Import 修复了在导入时禁用全文索引的问题。 SqlPackage CLI
发布 修复了在数据库发布操作中添加列时删除并重建聚集列存储索引的问题。 SqlPackage CLI; DacFx API / 架构比较器
发布 修复了当分区函数包含前导零时图形表无法部署的问题。 SqlPackage CLI; DacFx API / 架构比较器
ScriptDOM 修复了条件 IIF 括在括号中时无法解析的问题。 平台

已知问题

功能 详细信息 解决方法
部署 目前尚不支持 Azure Synapse Analytics 工作负荷管理功能(工作负荷组和工作负荷分类器)。 不适用
部署 由于 Microsoft 身份验证库(MSAL)限流,使用 Microsoft Entra ID 用户/密码身份验证进行部署会导致部署时间增加。 有关 GitHub 的详细信息 通过 Azure SQL 使用替代身份验证方法,例如 Microsoft Entra 服务主体
部署 当对具有安全 enclave 的 Always Encrypted 使用就地加密时,适用于 Windows、macOS 和 Linux 的 .NET Core 上的 SqlPackage 在发布操作期间失败,并显示错误消息“无法识别的配置部分 system.diagnostics”。 从 SqlPackage 文件夹中删除文件 sqlpackage.dll.config
ScriptDOM 分析大型文件可能会导致堆栈溢出。 没有

19.0 SqlPackage

发布日期:2022 年 1 月 25 日

平台 下载 版本 构建
Windows操作系统 .msi 文件 19.0 16.0.5400.1
macOS .NET 核心 .zip 文件 19.0 16.0.5400.1
Linux .NET 核心 .zip 文件 19.0 16.0.5400.1
Windows .NET 核心 .zip 文件 19.0 16.0.5400.1

功能

功能 详细信息 适用对象
始终加密 (Always Encrypted) 添加了对 Always Encrypted 列就地加密的支持。 现在,可以使用服务器端安全区就地加密、解密和重新加密数据库列。 这可以节省将数据移动到数据库外部的费用。 请参阅使用安全加密区的 Always Encrypted 对列加密进行就地加密配置的先决条件。 注意:只有脱机方法才支持就地加密。 SqlPackage CLI; DacFx API / 架构比较器
Azure Synapse Analytics 添加了对列级对称加密的支持。 SqlPackage CLI; DacFx API / 架构比较器
账本 添加了对使用账本表导出和导入数据库的支持。 以下限制适用于导出:不迁移账本历史记录表和删除的账本表;不迁移账本系统视图中 GENERATED ALWAYS 列的值和数据;忽略数据库级账本属性的值。 SqlPackage CLI
平台 添加了对 .NET 6 作为目标框架的支持 平台
平台 引用 Microsoft.Data.SqlClient (3.0),而不是 .NET Framework 版本中的 System.Data.SqlClient。 对于 .NET Core 版本,将 Microsoft.Data.SqlClient 从 2.1.3 升级到 3.0。 平台
平台 将 .NET Framework 目标版本升级到 .NET 4.6.2 平台
ScriptDOM 添加了对 Sql160 分析器的支持。 平台

修正

功能 详细信息 适用对象
部署 修复了解释存储过程中列上的表分布的问题。 SqlPackage CLI; DacFx API / 架构比较器
部署 修复了发布操作期间“删除不在源中的对象”选项的问题。 SqlPackage CLI
部署 修复了部署具有敏感度分类的时间表的 DACPAC 的问题。 SqlPackage CLI; DacFx API / 架构比较器
部署 修复了在DoNotEvaluateSqlCmdVariables被设置为 true 时仍然验证变量的错误。 SqlPackage CLI; DacFx API / 架构比较器
Extract 修复了根据 includeCompositeObjects 选择的引用 DACPAC 重构日志的问题。 SqlPackage CLI; DacFx API / 架构比较器
Import 修复了导入目标服务器中不支持的数据库范围配置的问题 SqlPackage CLI
SQL 项目 修复了将增量统计信息应用于主键时导致项目生成出现问题的问题。 MSBuild /SQL 项目
SQL 项目 修复了使用文件表构建项目的问题。 MSBuild /SQL 项目

已知问题

功能 详细信息 解决方法
部署 目前尚不支持 Azure Synapse Analytics 工作负荷管理功能(工作负荷组和工作负荷分类器)。 不适用
部署 由于 Microsoft 身份验证库(MSAL)的速率限制,使用 Microsoft Entra ID 用户名/密码身份验证进行部署时的部署时间增加了。 有关 GitHub 的详细信息 通过 Azure SQL 使用替代身份验证方法,例如 Microsoft Entra 服务主体
ScriptDOM 分析大型文件可能会导致堆栈溢出。 没有

18.8 SqlPackage

发布日期:2021 年 10 月 4 日

平台 下载 版本 构建
Windows操作系统 .msi 文件 18.8 15.0.5282.3
macOS .NET 核心 .zip 文件 18.8 15.0.5282.3
Linux .NET 核心 .zip 文件 18.8 15.0.5282.3
Windows .NET 核心 .zip 文件 18.8 15.0.5282.3

功能

功能 详细信息 适用对象
Export 添加了更改导出时架构模型验证行为的选项VerifyExtraction SqlPackage CLI
Azure SQL 支持账本数据库和表,包括导入和导出操作。 SqlPackage CLI
平台 对于 .NET Core 版本,将 Microsoft.Data.SqlClient 从 2.0.0 升级到 2.1.3 平台
Azure Synapse Analytics 支持使用对称密钥进行列加密 SqlPackage CLI; DacFx API / 架构比较器
Azure Synapse Analytics 支持使用CREATE CERTIFICATE进行列加密 SqlPackage CLI; DacFx API / 架构比较器
Azure Synapse Analytics MERGE 语句的支持 SqlPackage CLI; DacFx API / 架构比较器
部署 针对 AE 列的变量参数化,新增发布属性 IsAlwaysEncryptedParameterizationEnabled SqlPackage CLI; DacFx API / 架构比较器
部署 IgnoreWorkloadClassifiersIgnoreDatabaseWorkloadGroups 发布属性的支持 SqlPackage CLI; DacFx API / 架构比较器
部署 对外部语言运行时的支持 SqlPackage CLI; DacFx API / 架构比较器
ScriptDOM 支持账本数据库和表 平台
ScriptDOM 支持 INCLUDE 内联索引定义中的列 平台

修正

功能 详细信息 适用对象
部署 修复了外部用户部署到 Azure SQL 托管实例失败的问题 SqlPackage CLI; DacFx API / 架构比较器
部署 修复了在关闭系统版本控制之前涉及临时表删除依赖项的部署顺序 SqlPackage CLI; DacFx API / 架构比较器
部署 修复了 Always Encrypted 部署的 bug,出现错误“对象名称'#tmpErrors'” SqlPackage CLI
Export 修复了 SqlPackage 参数 ExcludeObjectType / ExcludeObjectTypesDoNotDropObjectType / DoNotDropObjectTypes 的验证问题。 SqlPackage CLI
Export 通过排除数据库中的变更数据捕获 (CDC) 对象,修复了导出失败的问题。 SqlPackage CLI
Extract 为了解决第一次因竞争条件失败的问题,添加了重试机制,以便重新进行验证提取。 SqlPackage CLI
Import 修复了通过将 MAXDOP 设置为 1 导入 Azure 时偶尔出现的死锁问题。 SqlPackage CLI
Import 修复了当临时表依赖于绑定了架构的安全策略时导入失败的问题 SqlPackage CLI
平台 DacFramework.msi 现在由“Microsoft SQL Server Data-Tier Application Framework”而不是“SQL Server 2012”进行签名 平台
平台 默认为 x64 SqlPackage 中的大型数组,修复了涉及大型数据库的一些方案 平台;SqlPackage CLI
架构比较 修复了架构比较在具有数据库范围配置的相等数据库上失败的问题 DacFx API/架构比较
架构比较 修复了架构与列存储索引的比较 DacFx API/架构比较
SQL 项目 修复了“GRANT EXECUTE ANY EXTERNAL SCRIPT”构建错误中的一个错误 MSBuild /SQL 项目
SQL 项目 修复了具有列存储索引和 (n)varchar(max) 列的数据库项目生成成功但在部署时失败的 bug MSBuild/SQL 项目;SqlPackage CLI
SQL 项目 修复了存储过程中表分布列的未解析引用警告 MSBuild /SQL 项目

已知问题

功能 详细信息 解决方法
部署 目前尚不支持 Azure Synapse Analytics 工作负荷管理功能(工作负荷组和工作负荷分类器) 不适用
部署 尚不支持 Azure SQL 账本表功能 不适用

18.7.1 SqlPackage

发布日期:2021 年 6 月 2 日

内部版本: 15.0.5164.1

功能

功能 详细信息 适用对象
审计 添加了对 Azure SQL 托管实例审核入门的支持。 SqlPackage CLI; DacFx API / 架构比较器
Azure Synapse Analytics 添加了对 PREDICT 的支持。 SqlPackage CLI; DacFx API / 架构比较器
伐木业 向诊断日志文件添加了 SqlPackage 版本和体系结构信息。 SqlPackage CLI

修正

功能 详细信息 适用对象
Export 修复了在没有聚集索引的情况下导出第一列中包含文本或图像的表失败的问题。 SqlPackage CLI
Export 修复了一个问题:导出表时,如果该表没有聚集索引并且该表统计信息中的列顺序与表创建脚本中的顺序不同,则导出会失败。 SqlPackage CLI

18.7 SqlPackage

发布日期:2021 年 3 月 10 日

内部版本: 15.0.5084.2

功能

功能 详细信息 适用对象
部署 从 Azure 存储提取或向其中发布大数据。 有关详细信息,请参阅 SqlPackage for Big Data SqlPackage CLI
Azure Synapse Analytics 行级别安全性支持(内联表值函数、安全策略、安全谓词) SqlPackage CLI; DacFx API / 架构比较器
Azure Synapse Analytics 工作负荷分类支持 SqlPackage CLI; DacFx API / 架构比较器
Azure SQL Edge 外部流式处理作业支持 SqlPackage CLI; DacFx API / 架构比较器
Azure SQL Edge 针对数据保留添加了表和数据库选项。 SqlPackage CLI; DacFx API / 架构比较器
Import 为导入操作添加了两个新的索引选项属性。 DisableIndexesForDataPhase (在将数据导入 SQL Server 之前禁用索引,默认值为 true)和 RebuildIndexesOfflineForDataPhase (将数据导入 SQL Server 后脱机重新生成索引,默认值 false) SqlPackage CLI
伐木业 添加了所有操作()的属性,这些操作将所有HashObjectNamesInLogs对象名称转换为日志消息中的哈希字符串。 SqlPackage CLI
性能 对导入和导出性能的改进,包括增加日志记录以帮助确定新的瓶颈。 SqlPackage CLI
SQLCMD 添加了部署和架构比较(DoNotEvaluateSqlCmdVariables)的属性,该属性指定是否将 SQLCMD 变量替换为值。 SqlPackage CLI;DacFx API/架构比较;MSBuild /SQL 项目

修正

功能 详细信息 适用对象
部署 已将 MAXDOP 的默认值从 0 更改为 8,在 DacFx 中更新架构模型默认值 SqlPackage CLI; DacFx API / 架构比较器
架构比较 修复了存储过程,其中使用 OUTOUTPUT 关键字的差异将被忽略。 DacFx API/架构比较
部署 修正了大数据令牌的其他验证措施 SqlPackage CLI
Build/Deployment 临时外部表的架构模型清理已完成,以确保DACPAC最终的一致性。 SqlPackage CLI; DacFx API / 架构比较器
Build/Deployment 修复了错误处理机制和非 Edge 150 RE 的问题。 SqlPackage CLI; DacFx API / 架构比较器
Import/Deployment 在部署过程中修复并还原了序列值 SqlPackage CLI
部署 修复了更改聚集索引的压缩选项时导致重新创建表而不是 alter index 的问题。 SqlPackage CLI; DacFx API / 架构比较器
部署 修复了在表列更改时删除并重新创建聚集列存储索引的问题。 SqlPackage CLI; DacFx API / 架构比较器
部署 修复了在部署过程中删除和重新创建外部用户的问题。 SqlPackage CLI
架构比较 修复了外部流式处理作业的架构比较问题。 DacFx API/架构比较
Import 修复了启用环境设置 ReliableDdlEnabled 脚本部署报表时引发的 null 引用异常。 SqlPackage CLI
部署 修复了以下问题:创建包含系统版本控制的部署步骤时顺序不正确。 SqlPackage CLI; DacFx API / 架构比较器
部署 修复了由于目标包含时态表导致架构比较更新或 DACPAC 部署失败的问题。 SqlPackage CLI; DacFx API / 架构比较器
部署 部署后,基于目标的上一个末值重置了标识值。 SqlPackage CLI

已知问题

功能 详细信息 解决方法
部署 目前尚不支持 Azure Synapse Analytics 工作负荷管理功能(工作负荷组和工作负荷分类器) 不适用
部署 在增量部署方案中,当用户删除临时表时,如果删除依赖于它的对象(如函数、存储过程等),部署可能会失败。 脚本生成顺序尝试关闭表SYSTEM_VERSIONING,这是删除该表的先决条件,但生成步骤的顺序不正确。 GitHub 问题 生成部署脚本,将System_Versioning OFF 步骤移到删除表之前,然后运行脚本。

18.6 SqlPackage

发布日期:2020 年 9 月 18 日

构建: 15.0.4897.1

功能

功能 详细信息 适用对象
平台 已将 SqlPackage 的 .NET Core 版本更新为 .NET Core 3.1 平台;SqlPackage CLI
始终加密 (Always Encrypted) 添加了对 SQL Server 2019(15.x) 的安全 enclave 导入和导出的支持 SqlPackage CLI; DacFx API / 架构比较器
部署 添加了支持,以在从 Azure SQL 数据库导出时忽略已启用变更数据捕获的表 SqlPackage CLI
部署 在 Azure SQL 数据库中添加了对索引选项 OPTIMIZE_FOR_SEQUENTIAL_KEY 的支持 SqlPackage CLI; DacFx API / 架构比较器
部署 添加了对 Azure Synapse Analytics 的标识列的支持 SqlPackage CLI; DacFx API / 架构比较器
帮助 在帮助 (/?) 中输出 SqlPackage 版本,并支持 /version 参数 SqlPackage CLI

修正

功能 详细信息 适用对象
部署 修复了以非 sysadmin 用户身份将目标设为 Azure SQL 托管实例时生成的错误部署脚本。 SqlPackage CLI; DacFx API / 架构比较器
部署 修复了在运行脚本操作时加载部署的问题 SqlPackage CLI; DacFx API / 架构比较器
帮助 当操作持续时间超过一天时,在 SqlPackage 中输出正确的经过时间 SqlPackage CLI
部署 修复了为 .NET Core 部署时的 DACPAC 注册问题 SqlPackage CLI
部署 修复了在 .NET Core 上 SqlPackage 的 /accessToken/at)参数处理问题。 SqlPackage CLI
部署 允许在存储过程内将 ALTER TABLE 语句用作非顶级语句 SqlPackage CLI; DacFx API / 架构比较器
部署 修复了在具体化视图中验证 Azure Synapse Analytics 时不区分大小写的问题 SqlPackage CLI; DacFx API / 架构比较器

已知问题

功能 详细信息
部署 目前尚不支持 Azure Synapse Analytics 工作负荷管理功能(工作负荷组和工作负荷分类器)

18.5.1 SqlPackage

发布日期:2020 年 6 月 24 日

内部版本: 15.0.4826.1

修正

功能 详细信息 适用对象
部署 修复了在 18.5 中引入的回归缺陷,该缺陷导致当将具有外部登录的用户的 DACPAC 部署或 BACPAC 导入到本地时,会出现“接近'type'的语法不正确”错误。 SqlPackage CLI; DacFx API / 架构比较器

18.5 SqlPackage

发布日期:2020 年 4 月 28 日

内部版本: 15.0.4769.1

功能

功能 详细信息 适用对象
部署 现在 SQL Server 2008 及更高版本、Azure SQL 数据库和 Azure Synapse Analytics 支持数据敏感度分类 SqlPackage CLI; DacFx API / 架构比较器
部署 添加对表约束的 Azure Synapse Analytics 支持 SqlPackage CLI; DacFx API / 架构比较器
部署 添加对有序聚集列存储索引的 Azure Synapse Analytics 支持 SqlPackage CLI; DacFx API / 架构比较器
部署 为 SQL Server 2019 (15.x) 大数据群集添加对外部数据源(Oracle、Teradata、MongoDB/CosmosDB、ODBC、大数据群集)和外部表的支持 SqlPackage CLI; DacFx API / 架构比较器
部署 添加 SQL Database Edge 实例作为支持的版本 SqlPackage CLI
部署 支持格式为“<server>.<dnszone>.database.windows.net”的 Azure SQL 托管实例服务器名称 SqlPackage CLI
部署 在 Azure Synapse Analytics 中添加对复制命令的支持 SqlPackage CLI; DacFx API / 架构比较器
部署 在发布过程中添加部署选项 IgnoreTablePartitionOptions ,以避免因 Azure Synapse Analytics 表的分区函数更改而导致表重新创建。 SqlPackage CLI; DacFx API / 架构比较器
.NET 核心 在 SqlPackage 的 .NET Core 版本中添加对 Microsoft.Data.SqlClient 的支持 平台;SqlPackage CLI

修正

修复 详细信息 适用对象
部署 修复了将 json 路径解析为表达式 SqlPackage CLI; DacFx API / 架构比较器
部署 修复了生成GRANT语句的AlterAnyDatabaseScopedConfigurationAlterAnySensitivityClassification权限问题 SqlPackage CLI; DacFx API / 架构比较器
部署 修复了无法识别的外部脚本权限 SqlPackage CLI; DacFx API / 架构比较器
部署 修复了内联属性 - 属性的隐式添加不应显示差异,但显式提及应通过脚本显示 SqlPackage CLI; DacFx API / 架构比较器
部署 修复了以下问题:更改具体化视图引用的表(MV)会导致生成 Alter View 语句。 Azure Synapse Analytics 的 MV 不支持 Alter View 语句。 SqlPackage CLI; DacFx API / 架构比较器
部署 修复了在向具有数据的表中添加列时,导致 Azure Synapse Analytics 发布失败的问题 SqlPackage CLI; DacFx API / 架构比较器
部署 修复了更新脚本在更改 Azure Synapse Analytics 的分布列类型(数据丢失方案)时应将数据移动到新表 SqlPackage CLI; DacFx API / 架构比较器
ScriptDom 修复了 ScriptDom 的 bug,导致无法识别在内联索引之后定义的内联约束。 平台
ScriptDom 修复了 ScriptDom SYSTEM_TIME 在批处理语句中缺少右括号的问题 平台
始终加密 (Always Encrypted) 修复了 #tmpErrors 表无法删除的问题:当 SqlPackage 重新连接时,如果由于连接丢失导致临时表已经消失,#tmpErrors 表会无法正常被删除。 SqlPackage CLI; DacFx API / 架构比较器

已知问题

功能 详细信息
部署 18.5 中引入了回归,导致在部署 DACPAC 或将具有外部登录名的用户导入 BACPAC 时出现“类型附近不正确的语法”错误。 使用 sqlpackag 18.4 可暂时避开此问题,将在下一个 sqlpackag 版本中进行修复。
.NET 核心 由于 Microsoft.Data.SqlClient 中存在此 已知问题 ,导入敏感度分类的 BACPAC 失败并出现“内部连接致命错误”。 此问题将在下一个 SqlPackage 版本中修复。

18.4.1 SqlPackage

发布日期:2019 年 12 月 13 日

内部版本: 15.0.4630.1

修正

修复 详细信息 适用对象
ScriptDom ScriptDom 分析回归在 18.3.1 中引入,其中“重命名”被错误地视为顶级令牌,导致分析失败。 平台

已知问题

功能 详细信息
部署 在 18.4.1 中引入了一个回归错误,导致部署 DACPAC 或导入 BACPAC 时,如果用户是外部登录用户,会出现“对象引用未设置为对象的实例”的错误。 使用 sqlpackag 18.4 可暂时避开此问题,将在下一个 sqlpackag 版本中进行修复。

18.4 SqlPackage

发布日期:2019 年 10 月 29 日

内部版本: 15.0.4573.2

功能

功能 详细信息 适用对象
部署 添加了对部署到 Azure Synapse Analytics 的支持。 SqlPackage CLI; DacFx API / 架构比较器
平台 SqlPackage .NET Core 一般可用于 macOS、Linux 和 Windows。 平台;SqlPackage CLI
安全性 删除 SHA1 代码签名。 平台
部署 添加对新 Azure 数据库版本的支持:GeneralPurpose、BusinessCritical、超大规模 SqlPackage CLI; DacFx API / 架构比较器
部署 添加对 Microsoft Entra ID 用户和组的 Azure SQL 托管实例支持。 SqlPackage CLI
部署 支持 .NET Core 上的 SqlPackage 的 /AccessToken 参数。 SqlPackage CLI

已知问题

功能 详细信息
ScriptDom ScriptDom 分析回归在 18.3.1 中引入,其中“重命名”被错误地视为顶级令牌,导致分析失败。 此问题将在下一个 SqlPackage 版本中修复。

.NET Core 的已知问题

功能 详细信息
Import 对于 .bacpac 大小超过 4 GB 的压缩文件,可能需要使用 .NET Core 版本的 SqlPackage 来执行导入。 此行为是由于 .NET Core 生成的 zip 标头虽然有效,但无法被 SqlPackage 的 .NET 完整框架版本读取。
部署 不支持参数 /p:Storage=File。 .NET Core 仅支持 Memory。
始终加密 (Always Encrypted) SqlPackage .NET Core 不支持 Always Encrypted 列。
安全性 SqlPackage .NET Core 不支持多重身份验证的 /ua 参数。
部署 不支持使用 json 数据序列化的旧 V2 DACPAC 和 BACPAC 文件。

18.3.1 SqlPackage

发布日期:2019 年 9 月 13 日

内部版本: 15.0.4538.1

功能

功能 详细信息 适用对象
部署 添加对部署到 Azure Synapse Analytics(预览版)的支持。 SqlPackage CLI; DacFx API / 架构比较器
部署 将 /p:DatabaseLockTimeout=(INT32 '60') 参数添加到 SqlPackage。 SqlPackage CLI
部署 将 /p:LongRunningCommandTimeout=(INT32) 参数添加到 SqlPackage。 SqlPackage CLI
Export/Extract 将 /p:TempDirectoryForTableData=(STRING) 参数添加到 SqlPackage。 SqlPackage CLI
部署 允许从其他位置加载部署参与者。 部署参与者从所部署的目标 .dacpac 所在的同一目录中加载、相对于 SqlPackage 二进制文件的 Extensions 目录,以及添加到 SqlPackage 的 /p:AdditionalDeploymentContributorPaths=(STRING) 参数,可在其中指定其他目录位置。 SqlPackage CLI; DacFx API / 架构比较器
部署 添加对OPTIMIZE_FOR_SEQUENTIAL_KEY的支持。 SqlPackage CLI; DacFx API / 架构比较器

修正

修复 详细信息 适用对象
部署 修复了自动索引,以便不会在部署时删除它们。 SqlPackage CLI; DacFx API / 架构比较器
始终加密 (Always Encrypted) 修复了 Always Encrypted varchar 列的处理。 SqlPackage CLI; DacFx API / 架构比较器
Build/Deployment 修复了 nodes() 的 xml 列集方法解析。 SqlPackage CLI; DacFx API / 架构比较器
ScriptDom 修复了将“URL”字符串解释为顶级令牌的其他情况。 平台
Graph 修复了在约束中引用伪列时生成的 SQL。 SqlPackage CLI; DacFx API / 架构比较器
Export 生成满足复杂性要求的随机密码。 SqlPackage CLI
部署 修复了检索约束时命令超时的问题。 SqlPackage CLI
.NET Core(预览版) 修复了对文件的诊断日志记录。 平台;SqlPackage CLI
.NET Core(预览版) 使用流式传输来导出表数据,以支持大型表。 SqlPackage CLI

18.2 SqlPackage

发布日期:2019 年 4 月 15 日

内部版本: 15.0.4384.2

功能

功能 详细信息 适用对象
Graph 添加了对边缘约束和边缘约束子句的图形表支持。 SqlPackage CLI; DacFx API / 架构比较器
部署 启用了模型验证规则以支持 SQL Server 2016 及更高版本的索引键的 32 个列。 SqlPackage CLI; DacFx API / 架构比较器

修正

修复 详细信息 适用对象
部署 修复了在对 SQL Server 2016 RTM 数据库进行反向工程时,由于使用了不支持的查询提示而导致的问题。 SqlPackage CLI; DacFx API / 架构比较器
部署 修复了自动关闭 alter 语句的部署顺序,使其发生在创建文件组语句之前。 SqlPackage CLI; DacFx API / 架构比较器
ScriptDom 修复了 ScriptDom 分析中的回归错误,其中“URL”字符串被解释为顶级标记。 平台
部署 修复了在分析“ALTER TABLE ADD INDEX”语句时出现的空引用异常问题。 SqlPackage CLI; DacFx API / 架构比较器
架构比较 修复了始终显示为不同的可为空的持久化计算列的架构比较。 DacFx API/架构比较

18.1 SqlPackage

发布日期:2019 年 2 月 1 日

内部版本: 15.0.4316.1

预览版。

功能

功能 详细信息 适用对象
部署 添加了对 UTF8 排序规则的支持。 SqlPackage CLI; DacFx API / 架构比较器
部署 已在索引视图上启用非聚集列存储索引。 SqlPackage CLI; DacFx API / 架构比较器
平台 已移动到 .NET Core 2.2。 平台
架构比较 将内存支持的存储用于在 .NET Core 上进行架构比较。 DacFx API/架构比较

修正

修复 详细信息 适用对象
性能 修复了性能以使用旧版基数估计器进行反向工程查询。 SqlPackage CLI; DacFx API / 架构比较器
性能 修复了生成脚本时出现的重大架构比较性能问题。 DacFx API/架构比较
架构比较 修复了架构偏移检测逻辑以忽略某些扩展事件 (XEvent) 会话。 DacFx API/架构比较
Graph 修复了图形表的导入顺序。 SqlPackage CLI; DacFx API / 架构比较器
Export 修复了导出具有对象权限的外部表的问题。 SqlPackage CLI

已知问题

此版本包括面向 .NET Core 2.2 的 SqlPackage 跨平台预览版。 SqlPackage 可以在 macOS 和 Linux 上运行。

已知问题 详细信息
部署 对于 .NET Core,不支持生成和部署参与者。
部署 对于 .NET Core,不支持使用 json 数据序列化的较旧的 DACPAC 和 BACPAC 文件。
部署 对于 .NET Core,由于文件系统区分大小写的问题,引用的 DACPAC(例如 master.dacpac)可能无法解决。 解决方法是将引用文件的名称大写(例如 MASTER.DACPAC)。

18.0 SqlPackage

发布日期:2018 年 10 月 24 日

内部版本: 15.0.4200.1

功能

功能 详细信息 适用对象
部署 添加了对数据库兼容级别 150 的支持。 SqlPackage CLI; DacFx API / 架构比较器
部署 添加了对 Azure SQL 托管实例的支持。 SqlPackage CLI; DacFx API / 架构比较器
性能 添加了 MaxParallelism 命令行参数以指定数据库操作的并行度。 SqlPackage CLI
安全性 添加了 AccessToken 命令行参数,用于在连接到 SQL Server 时指定身份验证令牌。 SqlPackage CLI
Import 添加了对流式传输 BLOB/CLOB 数据类型以进行导入的支持。 SqlPackage CLI
部署 添加了对标量 UDF INLINE 参数的支持。 SqlPackage CLI; DacFx API / 架构比较器
Graph 添加了对图形表 MERGE 语法的支持。 SqlPackage CLI; DacFx API / 架构比较器

修正

修复 详细信息 适用对象
Graph 修复了图形表的未解析伪列。 SqlPackage CLI; DacFx API / 架构比较器
部署 修复了使用内存优化表时创建具有内存优化文件组的数据库的问题。 SqlPackage CLI; DacFx API / 架构比较器
部署 修复了将扩展属性包括在外部表中的问题。 SqlPackage CLI; DacFx API / 架构比较器

17.8 SqlPackage

发布日期:2018 年 6 月 22 日

内部版本: 14.0.4079.2

功能

功能 详细信息 适用对象
诊断 改进了连接失败的错误消息,包括 SqlClient 异常消息。 SqlPackage CLI
部署 支持对单分区索引进行索引压缩以便导入/导出。 SqlPackage CLI; DacFx API / 架构比较器

修正

修复 详细信息 适用对象
部署 修复了 SQL 2017 及更高版本的 XML 列集的反向工程问题。 SqlPackage CLI; DacFx API / 架构比较器
部署 修复了在 Azure SQL 数据库中,脚本编写时忽略了数据库兼容性级别 140 的问题。 SqlPackage CLI; DacFx API / 架构比较器

17.4.1 SqlPackage

发布日期:2018 年 1 月 25 日

内部版本: 14.0.3917.1

功能

功能 详细信息 适用对象
导入/导出 添加了 ThreadMaxStackSize 命令行参数来分析具有大量嵌套语句的 Transact-SQL。 SqlPackage CLI
部署 数据库目录排序规则支持。 SqlPackage CLI; DacFx API / 架构比较器

修正

修复 详细信息 适用对象
Import 将 Azure SQL 数据库 BACPAC 导入到本地实例时,解决了由于此版本的 SQL Server 不支持没有密码的数据库主密钥而引起的错误。 SqlPackage CLI
Graph 修复了图形表的未解析伪列错误。 SqlPackage CLI; DacFx API / 架构比较器
架构比较 修复了用于比较架构的 SQL 身份验证问题。 DacFx API/架构比较

17.4.0 SqlPackage

发布日期:2017 年 12 月 12 日

内部版本: 14.0.3881.1

功能

功能 详细信息 适用对象
部署 添加了对 SQL 2017+ 和 Azure SQL 数据库上的时态保留策略 的支持。 SqlPackage CLI; DacFx API / 架构比较器
诊断 添加了 /DiagnosticsFile:"C:\Temp\SqlPackage.log" 命令行参数以指定用于保存诊断信息的文件路径。 SqlPackage CLI
诊断 添加了 /Diagnostics 命令行参数以将诊断信息记录到控制台。 SqlPackage CLI

修正

修复 详细信息 适用对象
部署 遇到无法理解的数据库兼容性级别时,不再阻止。 相反,会假定最新的 Azure SQL 数据库或本地平台。 SqlPackage CLI; DacFx API / 架构比较器