我正在尝试在Linux上使用SQLPackage进行dacpac部署。
我的环境:
服务器:Ubuntu Linux版本16.04
SQL Server 2017最新发布候选版本RC1。
SQL Server安装成功,我可以在Ubuntu上的SQL Server数据库上创建表。现在我正在尝试在Linux上实现dacpac部署。根据此文档
https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-export-import-with-sqlpackage
SQLPackage可执行文件必须位于/ opt / mssql / bin。但事实并非如此。知道如何在linux上安装SQLPackage吗?
当我检查旧版本的CTP 2.1时,我有那个SqlPackage可执行文件。 RC 1错过了吗?
答案 0 :(得分:2)
- 关于从SQL Server 2017包中临时删除sqlpackage -
目标是通过使用基于.NET Core的DACFx API的多os版sqlpackage,为客户提供Linux,macOS和Windows上最佳的CLI体验。
作为实现这一目标的一个障碍,我们在Linux上的SQL2017 CTP中提供了基于Windows的sqlpackage的早期预览版本,以寻求客户反馈。我们从SQL2017 RC1中删除了sqlpackage的预览版本。
关于sqlpackage的多操作系统版本的工作正在进行中,但我目前无法共享发布日期。在此之前,您可以使用以下一个或多个替代方法在图像的每次新运行中导入数据集:
1)使用sqlcmd CLI工具将现有的.bak文件恢复到新映像中。https://docs.microsoft.com/en-us/sql/linux/sql-server-linux-setup-tools
2)在Windows机器上运行sqlpackage以使用在新映像中运行的SQL 2017。
3)为您的数据库或特定表生成一个包含CREATE + INSERT语句的脚本。您可以在Windows上使用SSMS的“生成脚本”向导或新的基于Python的mssql-scripter CLI(公共预览)来生成脚本,并根据需要将其检入源代码管理中。然后,您可以使用sqlcmd CLI工具在新映像中执行脚本。有关mssql-scripter安装说明,请参阅README.md inhttps://github.com/Microsoft/sql-xplat-cli
如果您有更多问题或反馈意见,请发送电子邮件至sanagama@microsoft.com,我们将很乐意为您提供帮助。
答案 1 :(得分:1)
如@Lin Leng-MSFT所述,自RC1起,sqlpackage已从安装包中删除。那说" SqlPackage仍然可以从Windows远程运行Linux。"