SqlPackage 在 Windows、macOS 和 Linux 上运行,可通过 dotnet tool 或作为独立 zip 下载进行安装。 有关最新版本的详细信息,请参阅发行说明。
- 版本号: 170.2.70
- 内部版本号: 170.2.70.1
- 发布日期: 2025 年 10 月 14 日
SqlPackage是同时为 .NET 8 和 .NET Framework 开发和发布的。 建议通过方便的 dotnet tool 方法(这是一种跨平台的方法,且易于更新)或便携的独立 .zip 下载安装 .NET 8 SqlPackage 版本。 .NET 8 SqlPackage 版本受益于 .NET 的性能和可伸缩性的持续进步,作为新式应用程序重点的一部分,这与适用于 Windows 的 .NET Framework 的维护支持形成鲜明对比。 .NET Framework 版本仅作为 .msi Windows Installer 提供。
Note
以前,SqlPackage 具有不同的版本号 (19) 和生成号 (160.x)。 从版本 161 开始,SqlPackage 的版本号与它关联的 DacFx 版本号匹配(例如 162.0.52)。
安装,跨平台
要将 SqlPackage 作为 dotnet 工具安装,需要在计算机上安装 .NET SDK。 将 SqlPackage 作为全局工具安装后,它会在路径上以 sqlpackage 的形式出现,这是安装适用于 Windows、macOS 和 Linux 的 SqlPackage 的推荐方法。 SqlPackage 可用作 .NET 8 及更高版本的 dotnet 工具。
若要将 SqlPackage 作为全局 .NET 工具安装,请运行以下命令:
dotnet tool install -g microsoft.sqlpackage
有关 dotnet tool install 命令可用选项的详细信息,请参阅 dotnet 工具安装文档。
若要将 SqlPackage 更新到最新版本,请运行以下命令:
dotnet tool update -g microsoft.sqlpackage
若要卸载 SqlPackage,请运行以下命令:
dotnet tool uninstall -g microsoft.sqlpackage
使用 .NET 9 或更高版本安装 SqlPackage
若要使用较新版本的 .NET SDK 安装 SqlPackage,请添加到 --allow-roll-forward install 命令:
dotnet tool install -g microsoft.sqlpackage --allow-roll-forward
此选项允许 SqlPackage 在未安装 .NET 8 的情况下使用较新版本的 .NET 运行时。
排查安装问题
如果在安装过程中遇到问题,请执行以下步骤:
确保安装 .NET SDK:运行以下命令验证计算机上是否已安装 .NET SDK:
dotnet --list-sdks如果未列出 .NET SDK,请从 .NET SDK 下载页下载并安装它。
验证 NuGet 源配置:SqlPackage 已发布到
nuget.org,后者是一个公共 NuGet 源。 你可能会遇到提示microsoft.sqlpackage找不到的错误。microsoft.sqlpackage is not found in NuGet feeds C:\Program Files(x86)\Microsoft SDKs\NuGetPackages\确保为 dotnet 配置了 NuGet 源
nuget.org。 通过运行以下命令列出配置的 NuGet 源:dotnet nuget list source此命令应显示 NuGet 源的列表。 在输出中查找
nuget.org,该输出通常列为https://api.nuget.org/v3/index.json。 如果未列出nuget.org,请使用以下命令将其添加为 NuGet 源:dotnet nuget add source https://api.nuget.org/v3/index.json重试安装:验证 .NET SDK 安装和 NuGet 源配置后,请使用相应的命令重试安装 SqlPackage:
dotnet tool install -g microsoft.sqlpackage
预览版本
SqlPackage 的预览版现已通过 dotnet tool 源提供。 若要访问预览版,请使用 --prerelease 选项和 dotnet tool 命令。 例如,若要安装最新的预览版,请运行以下命令:
dotnet tool install -g --prerelease microsoft.sqlpackage
若要将 SqlPackage 更新到最新的预览版,请运行以下命令:
dotnet tool update -g --prerelease microsoft.sqlpackage
预览版列表可在适用于 SqlPackage 的 dotnet 工具信息摘要上获得。
安装,文件下载(可选)
SqlPackage 还准备好作为适用于 Windows、macOS 和 Linux 的独立下载。 但是,无需安装 .NET,操作系统要求 与 dotnet 工具安装相同。 此 .zip 下载中包含的依赖项在 SqlPackage 的 dotnet tool 选项中更新得更为频繁。 以下链接适用于最新版本的 SqlPackage:
| Platform | Download |
|---|---|
| Windows .NET 8 | .zip 文件 |
| Windows | .msi 文件 |
| macOS .NET 8 | .zip 文件 |
| Linux .NET 8 | .zip 文件 |
Linux
提取文件并启动 SqlPackage。 打开新的终端窗口并键入以下命令:
cd ~ mkdir sqlpackage unzip ~/Downloads/sqlpackage-linux-<version string>.zip -d ~/sqlpackage echo "export PATH=\"\$PATH:$HOME/sqlpackage\"" >> ~/.bashrc chmod a+x ~/sqlpackage/sqlpackage source ~/.bashrc sqlpackageNote
可能缺少依赖项。 使用以下命令安装这些依赖项,具体取决于你的 Linux 版本:
Debian:
sudo apt-get install libunwind8Red Hat:
yum install libunwind yum install libicuUbuntu:
sudo apt-get install libunwind8
macOS
提取文件并启动 SqlPackage。 打开新的终端窗口并键入以下命令:
mkdir sqlpackage unzip ~/Downloads/sqlpackage-osx-<version string>.zip -d ~/sqlpackage chmod +x ~/sqlpackage/sqlpackage echo 'export PATH="$PATH:~/sqlpackage"' >> ~/.bash_profile source ~/.bash_profile sqlpackageNote
安全设置可能需要修改才能在 macOS 上运行 SqlPackage。 使用以下命令从命令行与 Gatekeeper 进行交互。
执行 SqlPackage 之前:
sudo spctl --master-disable执行 SqlPackage 之后:
sudo spctl --master-enable
Windows (.NET 8)
提取文件,方法是在 Windows 资源管理器中右键单击文件,然后依次选择“全部提取...”和目标目录。
打开新的终端窗口,并键入 cd,以转到 SqlPackage 的提取位置:
> sqlpackage
Windows (.NET Framework)
此版本的 SqlPackage 包括标准 Windows 安装程序体验和 .zip:
- 下载并运行适用于 Windows 的 DacFramework.msi 安装程序
- 打开一个新的命令提示符窗口,并运行 SqlPackage
- SqlPackage 会安装到
C:\Program Files\Microsoft SQL Server\170\DAC\bin文件夹
- SqlPackage 会安装到
卸载 SqlPackage
如果使用 Windows 安装程序安装了 SqlPackage,则按照删除任何 Windows 应用程序的方式进行卸载。
如果使用 .zip 或其他存档安装了 SqlPackage,则删除文件。
自动化环境
Evergreen 链接可用于下载最新的 Sqlpackage 版本:
- Linux (https://aka.ms/sqlpackage-linux)
- macOS (https://aka.ms/sqlpackage-macos)
- Windows (https://aka.ms/sqlpackage-windows)
- Windows、.NET Framework (https://aka.ms/dacfx-msi)
DacFx
SqlPackage 是 DacFx 框架的命令行接口,公开了一些公共 DacFx API。 DacServices (Microsoft.SqlServer.Dac) 是一种用于将数据库部署集成到应用程序管道的相关机制。 DacServices API 可通过 NuGet 在包 Microsoft.SqlServer.DACFx 中获得。
在 .NET CLI 中使用以下命令,将 NuGet 包添加到 .NET 项目:
dotnet add package Microsoft.SqlServer.DacFx
Note
其他 NuGet 包在 DacFx 名称下发布,Microsoft.SqlServer.DacFx.x64 和 Microsoft.SqlServer.DacFx.x86。 对这两个平台的支持包含在Microsoft.SqlServer.DacFx包中。 应对此包(而不是 x64 或 x86 变体)进行新的引用。
受支持的操作系统
SqlPackage 在 Windows、macOS 和 Linux 上运行,并使用 .NET 8 生成。 .NET 8 OS 要求是 SqlPackage 的最低要求,因为 SqlPackage 存在依赖项,所以其具有其他要求。
Windows (x64)
- Windows 11
- Windows 10 (1607+)
- Windows Server Core 2012 R2 及更高版本
- Windows Server 2012 R2 及更高版本
macOS
- macOS 12 “蒙特利”+
Linux (x64)
- Debian 11+
- Red Hat Enterprise Linux 8+
- SUSE Linux Enterprise Server v12 SP2+
- Ubuntu 20.04+
可用语言
可采用以下语言安装此版本的 SqlPackage:
SqlPackage .NET 8 Windows:
中文(简体) | 中文(繁体) | 英语(美国) | 法语 | 德语 | 意大利语 | 日语 | 韩语 | 葡萄牙语(巴西) | 俄语 | 西班牙语
SqlPackage .NET Framework Windows:
中文(简体) | 中文(繁体) | 英语(美国) | 法语 | 德语 | 意大利语 | 日语 | 韩语 | 葡萄牙语(巴西) | 俄语 | 西班牙语
SqlPackage .NET 8 macOS:
中文(简体) | 中文(繁体) | 英语(美国) | 法语 | 德语 | 意大利语 | 日语 | 韩语 | 葡萄牙语(巴西) | 俄语 | 西班牙语
SqlPackage .NET 8 Linux:
中文(简体) | 中文(繁体) | 英语(美国) | 法语 | 德语 | 意大利语 | 日语 | 韩语 | 葡萄牙语(巴西) | 俄语 | 西班牙语