我已尝试使用DACPAC Deployer将数据库部署到位于不同域中的服务器。通过ghost帐户建立服务器连接,我之前使用XCOPY Deployer成功部署到同一台服务器。
DACPAC部署已被拒绝,我收到了以下错误消息。
安装命令\“C:\ Users \ rmghost \ AppData \ Local \ Temp \ ReleaseManagement \ ROMEO.DB Deployer \ 201408121235204725703-3 \ sqlpackage.exe / Action:Publish /SourceFile:".dacpac”/ TargetServerName:“ “/ TargetDatabaseName:”“\”失败,退出代码为“ - 2146232576 \”。
请分享您的想法以解决此问题。
答案 0 :(得分:2)
编辑: 您还可以查看空的TargetServerName和TargetDatabaseName。这些值应该在您的发布模板中给出。
这是进一步调试的一种方法 - 这将从等式中删除RM:
我们需要知道执行的命令是什么以及执行的工作目录。这可以通过查看部署程序日志(在此位置部署发生的目标服务器上可用)来检索:%Temp%\ Microsoft \ ReleaseManagement \ 12.0 \ Logs \ DeploymentAgent.exe.log)。在此日志中,查看以下两个条目(或类似条目)的部署时间:
2012-05-12 10:40:12 - Verbose - RM.DeploymentAgent.Services.Deployer.ComponentProcessor.InstallComponent: Deployment: **********Installation will be done from this folder: "C:\Users\DeployerUser\AppData\Local\Temp\InRelease\XBAP\20120620073259" 2012-05-12 10:40:12 - Verbose - RM.DeploymentAgent.Services.Deployer.ComponentProcessor.InstallComponent: Deployment: **********Installing component using command "xbapdeploy.exe -pn XbapDemo -d c:\temp\xbapdemo3"
接下来是以运行Deployer Windows服务的用户打开命令提示符,导航到上面显示的文件夹并执行命令。
这将模仿部署代理的行为,并应提供更多信息以帮助解决问题。让我们知道你找到了什么。
答案 1 :(得分:0)
" Microsoft.SqlServer.TransactSql.ScriptDom.dll"目标数据库服务器中缺少这是DACPAC部署的先决条件。所以我安装了#34; Microsoft SQL Server 2012 Transact-SQL ScriptDom"并触发了RM的发布。发布成功。
非常感谢您的支持...... !!!