【发布时间】:2018-08-31 07:31:05
【问题描述】:
我正在 Windows 机器上使用 sqlpackage 构建数据库 dacpac。该项目包含对master.dacpac的引用
我将 dacpac 移动到 linux 机器(mssql-server-linux docker 映像)并恢复数据库。
deploy-database.sh
# publish dacpac using sqlpackage
./sqlpackage/sqlpackage /Action:Publish /sf:"/MyDb.dacpac" /tu:sa /tp:Password1 /tdn:MyDb /tsn:localhost
错误:
没有提供文件供参考 master.dacpac;部署可能会失败。创建包时,原始引用文件是 位于 C:$(windows 机器路径)\MASTER.DACPAC。初始化 部署(失败) 部署计划生成过程中发生错误。部署无法继续。错误 SQL0:对外部元素的引用来自 无法解析名为“master.dacpac”的源,因为没有 这样的源被加载。警告 SQL72025:没有为 参考master.dacpac;部署可能会失败。当包裹是 创建后,原始引用文件位于 C:$(windows machine 路径)\MASTER.DACPAC。
添加引用时出错。部署不能 继续。命令“/bin/sh -c sh /deploy-database.sh”返回一个 非零码:1
我曾尝试将master.dacpac 直接添加到项目中,并将其复制到 docker 映像中,但出现相同的错误。
如何在 linux 环境中恢复引用 master.dacpac 的 dapac?
【问题讨论】:
-
即使您将
master.dacpac复制到与mydb.dacpac相同的文件夹并使用/p:IncludeCompositeObjects=true运行sqlpackage 仍然失败?
标签: sql-server docker dacpac sqlpackage