运行 SQLPackage.exe /a:script 时出错



我正在尝试自动化数据库部署过程,我正在使用SqlPackage.exe.我有一些数据库部署过程使用此exe但最近我遇到了新数据库的问题。

当我尝试运行时:

"C:\Program Files (x86)\Microsoft SQL Server\110\DAC\bin\sqlpackage.exe"/a:Script/op:p_dbprm003.sql/sf:c:\p_dbprm003.dacpac/TargetServerName:servernamexyzw/TargetDatabaseName:p_dbprm003/Profile:c:\p_dbprm003.publish.xml

我收到消息:

无法解析对名为"[xxx_user ]"的元素的引用。 存在多个具有此名称的元素。要解决此错误,您必须添加 一个或多个消除歧义器。

我真的不知道这是什么意思。

我有一个用户[xxx_user]和一个同名的架构[xxx_user]。您认为这可能是导致错误的原因吗?

必须将 SqlPackage.exe 的路径变量设置为系统变量。它解决了我的问题。

对于任何阅读这篇旧文章的人来说,我今天遇到了同样的问题(Sql server 2017)并找到了解决方案。请注意原始帖子中的错误消息:

对名称为"[xxx_user ]"的元素的引用不能解决。存在多个具有此名称的元素。要解决错误,则必须添加一个或多个消除歧义符。

请注意,"[xxx_user ]"末尾有一个尾随空格。从用户/架构中删除尾随空格,导出 .dacpac,问题现在应该已解决。

最新更新