【问题标题】:Web Deploy - DACPAC / XML OutputWeb 部署 - DACPAC / XML 输出
【发布时间】:2014-05-31 05:51:20
【问题描述】:

我正在尝试部署一个 Web 应用程序。我可以很好地部署网站部分,但是不会部署 SQL 数据库。我在开发机器上的 VS2012 中收到的错误是:

错误 24 Web 部署任务失败。 ((5/6/2014 1:36:23 PM)在远程计算机上处​​理请求时出错。)

(2014 年 5 月 6 日下午 1:36:23)在远程计算机上处​​理请求时出错。 服务器在处理请求时遇到问题。有关详细信息,请联系服务器管理员。

在 web/sql 服务器上,事件日志给出:

*User: 
Client IP: 192.168.254.122
Content-Type: application/msdeploy
Version: 9.0.0.0
MSDeploy.VersionMin: 7.1.600.0
MSDeploy.VersionMax: 9.0.1762.0
MSDeploy.Method: Sync
MSDeploy.RequestId: ea61751c-29cf-4764-8ad3-210cedc8fa53
MSDeploy.RequestCulture: en-US
MSDeploy.RequestUICulture: en-US
ServerVersion: 9.0.1762.0
Skip: objectName="^configProtectedData$"
Provider: auto, Path: 
A tracing deployment agent exception occurred that was propagated to the client. Request ID 'ea61751c-29cf-4764-8ad3-210cedc8fa53'. Request Timestamp: '5/6/2014 1:36:13 PM'. Error Details:
ERROR_CANNOT_PROCESS_DACPAC_OUTPUT Microsoft.Web.Deployment.DeploymentDetailedException: The output received from executing dacpac in a seperate process was not valid xml.  Learn more at: http://go.microsoft.com/fwlink/?LinkId=221672#ERROR_CANNOT_PROCESS_DACPAC_OUTPUT. ---> 

        System.Xml.XmlException: Data at the root level is invalid. Line 19, position 10.
           at System.Xml.XmlTextReaderImpl.Throw(Exception e)
           at System.Xml.XmlTextReaderImpl.ParseRootLevelWhitespace()
           at System.Xml.XmlTextReaderImpl.ParseDocumentContent()
           at System.Xml.XmlLoader.LoadDocSequence(XmlDocument parentDoc)
           at System.Xml.XmlDocument.Load(XmlReader reader)
           at System.Xml.XmlDocument.LoadXml(String xml)
           at Microsoft.Web.Deployment.SqlDacPacProvider.ProcessExeOutput()
           --- End of inner exception stack trace ---
           at Microsoft.Web.Deployment.SqlDacPacProvider.ProcessExeOutput()
           at Microsoft.Web.Deployment.SqlDacPacProvider.RunExecutableAsync(String exeName, String arguments, Int32 waitInterval, Int32 retryAttempts)
           at Microsoft.Web.Deployment.SqlDacPacProvider.Add(DeploymentObject source, Boolean whatIf)
           at Microsoft.Web.Deployment.DeploymentObject.Add(DeploymentObject source, DeploymentSyncContext syncContext)
           at Microsoft.Web.Deployment.DeploymentSyncContext.HandleAdd(DeploymentObject destObject, DeploymentObject sourceObject)
           at Microsoft.Web.Deployment.DeploymentSyncContext.SyncChildren(DeploymentObject dest, DeploymentObject source)
           at Microsoft.Web.Deployment.DeploymentSyncContext.SyncChildrenOrder(DeploymentObject dest, DeploymentObject source)
           at Microsoft.Web.Deployment.DeploymentSyncContext.ProcessSync(DeploymentObject destinationObject, DeploymentObject sourceObject)
           at Microsoft.Web.Deployment.DeploymentObject.SyncToInternal(DeploymentObject destObject, DeploymentSyncOptions syncOptions, PayloadTable payloadTable, ContentRootTable contentRootTable, Nullable`1 syncPassId, String syncSessionId)
           at Microsoft.Web.Deployment.DeploymentAgent.HandleSync(DeploymentAgentAsyncData asyncData, Nullable`1 passId)
           at Microsoft.Web.Deployment.DeploymentAgent.HandleRequestWorker(DeploymentAgentAsyncData asyncData)
           at Microsoft.Web.Deployment.DeploymentAgent.HandleRequest(DeploymentAgentAsyncData asyncData)*

当我从 VS2012 为 SQL 数据库“测试连接”时,它工作得很好,所以我知道这不是连接/身份验证问题。看起来 dacpac 文件可能使用了错误版本的 XML?如果没有人有办法修复给出的错误,我有办法手动部署数据库吗?

【问题讨论】:

    标签: sql xml visual-studio web-deployment


    【解决方案1】:

    我遇到了这个问题,最后是权限问题。

    用户只有db_datareader、db_datawriter和execute。

    我需要给 SSDT 用户 db_owner,然后我才能克服这个错误。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-01-25
      • 1970-01-01
      • 2018-03-16
      • 1970-01-01
      • 2018-08-28
      • 2016-05-09
      • 2013-01-15
      • 1970-01-01
      相关资源
      最近更新 更多