内容部署失败

内容部署失败

我有一个 SharePoint 2007 场(带 SP2,6 月累积更新)托管一个 Internet 网站,并且发现将内容从我们的暂存环境移动到生产的夜间内容部署增量作业失败,并出现以下错误。当发生这种情况时,我们知道解决它的唯一方法是手动运行完整部署。然而,这个问题似乎在几天后再次出现。关于如何找出这个问题的根本原因并纠正它,有什么建议吗?

发现重复的名称“9f2cdd1e-e4a5-433c-b4eb-f2baf9a46f0f”。在 Microsoft.SharePoint.SPFieldCollection.AddFieldAsXmlInternal(String schemaXml、Boolean addToDefaultView、SPAddFieldOptions op)在 Microsoft.SharePoint.Deployment.ListSerializer.CreateOrUpdateField(SPList list、String fieldName、XmlNode fieldNode)在 Microsoft.SharePoint.Deployment.ListSerializer.UpdateListFields(SPList list、Dictionary`2 listMetaData)在 Microsoft.SharePoint.Deployment.ListSerializer.SetObjectData(Object obj、SerializationInfo info、StreamingContext context、ISurrogateSelector selector)在 Microsoft.SharePoint.Deployment.XmlFormatter.ParseObject(Type objectType、Boolean isChildObject)在 Microsoft.SharePoint.Deployment.XmlFormatter.DeserializeObject(Type objectType、Boolean isChildObject、DeploymentObject envelope)在 Microsoft.SharePoint.Deployment.XmlFormatter.Deserialize(Stream serializationStream)在Microsoft.SharePoint.Deployment.ObjectSerializer.Deserialize(Stream serializationStream) 在 Microsoft.SharePoint.Deployment.ImportObjectManager.ProcessObject(XmlReader xmlReader) 在 Microsoft.SharePoint.Deployment.SPImport.DeserializeObjects() 在 Microsoft.SharePoint.Deployment.SPImport.Run()

答案1

已部署的内容与新内容发生冲突。无法确定您的问题是什么,但有以下几种可能性:

  • 您正在部署之前已部署的内容
  • 两个包中包含相同的内容,部署第二个包时崩溃
  • 两个不同内容项具有相同名称的相同 Gui
  • 两个不同内容项具有相同的 guid,但名称相同
  • 内容项指南在部署之间发生变化
  • 内容项的名称在部署之间发生变化

您如何部署到您的阶段环境?当您更改用于构建解决方案的机器时是否会出现错误?

答案2

瑞安,

我同意 Shiraz 的基本前提;堆栈跟踪似乎确实表明您正在与现有对象发生碰撞。一些额外的想法:

  1. 您指出您的暂存环境是只读的。您的生产环境也是只读的吗?

  2. 是否有可能某人或某个流程正在改变生产环境中的现有项目/对象...或引入变更(例如,回滚到以前的版本,更改发布日期等)我见过这种情况并产生您遇到的情况。

排除无意的生产更改:如果您的生产网站集不是只读模式,您是否可以将其置于这种状态?如果不行,您是否可以启用网站集审核来查看是否有无意中引入的更改?

根据您的堆栈跟踪的详细信息,看起来您的导入操作由于添加或修改某些列表数据而失败 - 可能是标准列表项,也可能是发布页面相关(因为发布页面实际上只是专门的列表项本身)。

您指出需要进行完整部署来解决增量失败问题。您可能已经知道这一点,但完整部署并不一定能让您“脱离困境”。使用完整部署,您将覆盖增量部署所需的更改令牌信息,以便知道应该更新、更改和删除什么。混合增量部署和完整部署的多次迭代可能会导致一些非常奇怪的现象,尤其是在内容部署之前删除对象时。

最后一点:您是否尝试过从命令行(通过 STSADM.exe)运行有问题的内容部署?这样做可以让您更深入地了解该过程,并获取可能有助于故障排除的其他消息。

我希望这有帮助!

答案3

感谢 Sean 和 Shiraz 的帮助。我实施了一种似乎有效的解决方法,即直接将我的创作环境发布到生产环境。到目前为止,我还没有看到任何错误。也许双跳导致了流程中某个地方的更改。

相关内容