SQL在 Linux 的 SQL 服务器中找不到包

SQLPackage not found in SQL Server on Linux

我正在尝试使用 Linux 上的 SQL 软件包进行 dacpac 部署。

我的环境:

Server : Ubuntu Linux version 16.04

SQL Server 2017 latest release candidate version RC1.

SQL 服务器安装成功,我可以在 Ubuntu 上的 SQL 服务器数据库上创建表。现在我正在尝试在 Linux 上实施 dacpac 部署。根据此文档

https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-export-import-with-sqlpackage

SQL可执行程序包必须位于 /opt/mssql/bin。但事实并非如此。知道如何在 linux 上安装 SQL 软件包吗?

当我检查旧版本 CTP 2.1 时,我有那个 SqlPackage 可执行文件。 RC 1 中遗漏了吗?

如@Lin Leng-MSFT 所述,从 RC1 开始,sqlpackage 已从安装包中删除。也就是说 "SqlPackage can still be run against Linux remotely from Windows."

-关于从 SQL Server 2017 包中临时删除 sqlpackage-

目标是通过使用基于 .NET Core 的 DACFx API 的多 os 版本的 sqlpackage,在 Linux、macOS 和 Windows 上为客户提供最佳的 CLI 体验.

作为实现这一目标的权宜之计,我们在 Linux 的 SQL2017 CTP 中提供了基于 Windows 的 sqlpackage 的早期预览版本,以寻求客户反馈。我们已从 SQL2017 RC1 中删除此 sqlpackage 预览版。

sqlpackage 的多 os 版本的工作正在进行中,但我现在无法分享发布日期。在此之前,您可以使用以下一种或多种替代方法在图像的每个新 运行 上导入数据集:

1) 使用 sqlcmd CLI 工具将现有的 .bak 文件恢复到新映像中。https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-setup-tools

2) 运行 Windows 机器上的 sqlpackage 与新映像中的 SQL 2017 运行ning 一起工作。

3) 为您的数据库或特定表生成包含 CREATE + INSERT 语句的脚本。您可以在 Windows 上使用 SSMS 的生成脚本向导或新的基于 Python 的 mssql-scripter CLI(public 预览版)来生成脚本并根据需要将其签入源代码管理。然后,您可以使用 sqlcmd CLI 工具在新映像中执行脚本。 mssql-scripter安装说明请见README.md in https://github.com/Microsoft/sql-xplat-cli

如果您有更多问题或反馈,请发送电子邮件至 sanagama@microsoft.com,我们很乐意提供帮助。