SqlPackage 在 Windows、macOS 和 Linux 上运行,可通过 dotnet tool
或作为独立 zip 下载进行安装。 有关最新版本的详细信息,请参阅发行说明。
- 版本号: 170.1.61
- 内部版本号: 170.1.61.1
- 发布日期: 2025 年 7 月 30 日
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)。
Installation, cross-platform
要将 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
Troubleshoot installation
如果在安装过程中遇到问题,请执行以下步骤:
确保安装 .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
Preview releases
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 file |
Windows | .msi file |
macOS .NET 8 | .zip file |
Linux .NET 8 | .zip file |
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 sqlpackage
Note
可能缺少依赖项。 使用以下命令安装这些依赖项,具体取决于你的 Linux 版本:
Debian:
sudo apt-get install libunwind8
Red Hat:
yum install libunwind yum install libicu
Ubuntu:
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 sqlpackage
Note
安全设置可能需要修改才能在 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 会安装到
Uninstall SqlPackage
如果使用 Windows 安装程序安装了 SqlPackage,则按照删除任何 Windows 应用程序的方式进行卸载。
如果使用 .zip 或其他存档安装了 SqlPackage,则删除文件。
Automated environments
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+
Available Languages
可采用以下语言安装此版本的 SqlPackage:
SqlPackage .NET 8 Windows:
中文(简体) | 中文(繁体) | 英语(美国) | 法语 | 德语 | 意大利语 | 日语 | 韩语 | 葡萄牙语(巴西) | 俄语 | 西班牙语
SqlPackage .NET Framework Windows:
中文(简体) | 中文(繁体) | 英语(美国) | 法语 | 德语 | 意大利语 | 日语 | 韩语 | 葡萄牙语(巴西) | 俄语 | 西班牙语
SqlPackage .NET 8 macOS:
中文(简体) | 中文(繁体) | 英语(美国) | 法语 | 德语 | 意大利语 | 日语 | 韩语 | 葡萄牙语(巴西) | 俄语 | 西班牙语
SqlPackage .NET 8 Linux:
中文(简体) | 中文(繁体) | 英语(美国) | 法语 | 德语 | 意大利语 | 日语 | 韩语 | 葡萄牙语(巴西) | 俄语 | 西班牙语