下载并安装 SqlPackage

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

如果在安装过程中遇到问题,请执行以下步骤:

  1. 确保安装 .NET SDK:运行以下命令验证计算机上是否已安装 .NET SDK:

    dotnet --list-sdks
    

    如果未列出 .NET SDK,请从 .NET SDK 下载页下载并安装它。

  2. 验证 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
    
  3. 重试安装:验证 .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

  1. 下载适用于 Linux 的 SqlPackage

  2. 提取文件并启动 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

  1. 下载适用于 macOS 的 SqlPackage

  2. 提取文件并启动 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)

  1. 下载适用于 Windows 的 SqlPackage

  2. 提取文件,方法是在 Windows 资源管理器中右键单击文件,然后依次选择“全部提取...”和目标目录。

  3. 打开新的终端窗口,并键入 cd,以转到 SqlPackage 的提取位置:

    > sqlpackage
    

Windows (.NET Framework)

此版本的 SqlPackage 包括标准 Windows 安装程序体验和 .zip:

  1. 下载并运行适用于 Windows 的 DacFramework.msi 安装程序
  2. 打开一个新的命令提示符窗口,并运行 SqlPackage
    • SqlPackage 会安装到 C:\Program Files\Microsoft SQL Server\170\DAC\bin 文件夹

Uninstall SqlPackage

如果使用 Windows 安装程序安装了 SqlPackage,则按照删除任何 Windows 应用程序的方式进行卸载。

如果使用 .zip 或其他存档安装了 SqlPackage,则删除文件。

Automated environments

Evergreen 链接可用于下载最新的 Sqlpackage 版本:

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.x64Microsoft.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:
中文(简体) | 中文(繁体) | 英语(美国) | 法语 | 德语 | 意大利语 | 日语 | 韩语 | 葡萄牙语(巴西) | 俄语 | 西班牙语