使用STSADM导出和导入网站集

时间:2009-01-28 13:15:04

标签: sharepoint import export stsadm

尝试使用stsadm导入现有导出时遇到问题。

成功导出网站集后,我创建了一个新的空白网站。当我运行import命令时,它运行一段时间,然后完成,并出现以下错误:

01/28/2009 13:04:28.84 STSADM.EXE(0x3F54)0x1D74 Windows SharePoint Services常规72ju高 stsadm:找到重复的名称“Team”。 Callstack:at Microsoft.SharePoint位于Microsoft.SharePoint的Microsoft.SharePoint.Deployment.FieldTemplateSerializer.CreateField(SPWeb web,SerializationInfoHelper infoHelper)上的Microsoft.SharePoint.SPFieldCollection.AddFieldAsXmlInternal(String schemaXml,Boolean addToDefaultView,SPAddFieldOptions op)中的.SPFieldCollection.AddFieldToWeb(String strXml,Boolean checkDisplayName) .Deployment.FieldTemplateSerializer.SetObjectData(Object obj,SerializationInfo info,StreamingContext context,ISurrogateSelector selector)at Microsoft.SharePoint.Deployment.XmlFormatter.ParseObject(Type objectType,Boolean isChildObject)at Microsoft.SharePoint.Deployment.XmlFormatter.DeserializeObject(Type objectType, Boolean isChildObject,Deployme ...
01/28/2009 13:04:28.84 * STSADM.EXE(0x3F54)0x1D74 Windows SharePoint Services常规72ju高... ntObject信封)位于Microsoft.SharePoint.Deployment的Microsoft.SharePoint.Deployment.XmlFormatter.Deserialize(Stream serializationStream) Microsoft.SharePoint上的Microsoft.SharePoint.Deployment.SPImport.Run()上的Microsoft.SharePoint.Deployment.SPImport.DeserializeObjects()的Microsoft.SharePoint.Deployment.ImportObjectManager.ProcessObject(XmlReader xmlReader)上的.ObjectSerializer.Deserialize(Stream serializationStream)。 Microsoft.SharePoint.StsAdmin.SPStsAdmin.RunOperation上的.StsAdmin.SPImportOperation.Run(StringDictionary keyValues)(SPGlobalAdmin globalAdmin,String strOperation,StringDictionary keyValues,SPParamCollection pars)

当我运行该网站时,似乎刚刚完成了半个工作,并在错误处停止了。

有人能指出我可能导致此错误的正确方向吗?

非常感谢

基兰

4 个答案:

答案 0 :(得分:1)

您安装了December cumulative update吗?微软最近修复了内容迁移框架中的一些错误。

答案 1 :(得分:1)

堆栈跟踪告诉我们很多关于发生了什么的事情。 最重要的一行是Microsoft.SharePoint.SPFieldCollection.AddFieldToWeb 这意味着当字段而不是列表添加到SPWeb时,会发生错误。 如果添加到具有现有名称的SPFieldCollection,则会出错。

如果您感到好奇,可以使用SharePointManager在网站上找到一个高峰。

发生这种情况的原因是您正在恢复到子站点,主站点仍然包含所有字段。

您最好的办法是确保您拥有最新的补丁等(see Lars suggestion)。

Walm3864 post是正确的,因为新网站集不会出现同样的问题。 新网站集通常是一个严肃的决定,必须根据您当前的信息架构进行评判。

这不会影响搜索,因为可以使用托管路径将新网站集添加到现有网址(例如http://intranet/sites/ mynewsiteyay

它将影响您的备份策略,因为您需要将新数据库添加到该流程。

为某些较大的子站点添加新的网站集可能会有所帮助,因为如果所有数据库都低于100GB,它将会缩短备份时间。重要的是尽早拆分潜在的大型网站,因为事后很难做到这一点。

答案 2 :(得分:1)

找到此冲突的一种方法是打开CMP文件(例如使用Winrar),然后查看manifest.xml文件。 在那里,搜索=“团队”。即使显示名称不同,您也可能会找到两个NAME =“Team”... - >我们遇到了类似的问题,我们必须修复源站点(集合),然后在我们成功导入之前重新导出它。

希望这有帮助。

答案 3 :(得分:0)

它可能与列表ID冲突。 试试这个,创建一个新的内容数据库,然后创建一个新的网站集并进行导入?