首页 > 解决方案 > 错误:无法解析来自名为“master.dacpac”的源对外部元素的引用

问题描述

我正在 Windows 机器上使用 sqlpackage 构建数据库 dacpac。该项目包含对master.dacpac

我将 dacpac 移动到 linux 机器(dockermssql-server-linux映像)并恢复数据库。

部署数据库.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。Initializing deployment (Failed) 部署计划生成过程中出错。部署无法继续。错误 SQL0:无法解析来自名为“master.dacpac”的源对外部元素的引用,因为没有加载此类源。警告 SQL72025:没有为参考 master.dacpac 提供文件;部署可能会失败。创建包时,原始引用文件位于 C:$(windows 机器路径)\MASTER.DACPAC。

添加引用时出错。部署无法继续。命令“/bin/sh -c sh /deploy-database.sh”返回非零代码:1

我尝试master.dacpac直接添加到项目中并将其复制到 docker 映像中,但发生了同样的错误。

如何在引用 master.dacpac 的 linux 环境中恢复 dapac?

标签: sql-serverdockerdacpacsqlpackage

解决方案


我有一个类似的问题,我的解决方案是重命名 dacpac 文件大写,(例如:)MASTER.DACPAC这对我有用,以及使包含 dacpac 文件的目录成为工作目录。


推荐阅读