转自http://www.cnblogs.com/DongJie1982/archive/2008/06/30.html
当用stsadm.exe 工具 backup 一个网站集然后 restore到其他Application 上,Event Log里面经常出现下列错误:
Event Type: Error
Event Source: Office SharePoint Server
Event Category: User Profiles
Event ID: 5553
Date: 4/28/2008
Time: 4:00:03 PM
User: N/A
Computer: *****
Description:
failure trying to synch site 2a918abf-12ce-4819-811d-803f0f87d313 for ContentDB 1c85deaa-d2a2-4f01-90ec-fca3f691dab3 WebApp ada1f800-c105-4970-bca0-c43d699daadc. Exception message was Cannot insert duplicate key row in object 'dbo.UserMemberships' with unique index 'CX_UserMemberships_RecordId_MemberGroupId_SID'.
出现这种原因是:在一个form 场里,Backup当前的网站级,让后restore到另外一个Application下面.在两个application地数据会产生相同的Guid,这样当同步操作,会残生冲突.
解决问题如下:
根据上面的ContentDB去SQLServer 找到那个网站级:
Database: Sharepoint_Config, Table dbo.Objects
SELECT Id, ClassId, ParentId, Name, Status, Version, Properties
FROM Objects WHERE (Id = ‘ada1f800-c105-4970-bca0-c43d699daadc’)
用这个的Name字段可以找到网站集,比如是88.
去管理中心找到网站集所对应的内容数据库。比如是MOSS_QAS_88_Content
继续下列操作.
A.先分离数据库:
Ststam -o preparetomove -contentdb {SQLServer:DatabaseName} -site {site collection's Url}
B.删除 内容数据库:
Stsadm -o deletecontentdb -url {Application's url.Ex:http://Moss:8080} -databasename {DatabaseName} -databaseserver {SQL Sever name}
C,重新附加数据库:
stsadm -o addcontentdb -url {Application's url.Ex:http://Moss:8080} -databasename {DatabaseName} -databaseserver {SQL Sever name
Ok.重启动一下IIS.
"%systemdrive%\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\bin\stsadm" -o preparetomove -contentDB 172.20.0.50:MOSS_QAS_88_Content
"%systemdrive%\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\bin\stsadm" -o deletecontentdb -url http://localhost:88/ -databasename MOSS_QAS_88_Content
"%systemdrive%\Program Files\Common Files\Microsoft Shared\Web Server Extensions\12\bin\stsadm" -o addcontentdb -url http://localhost:88/ -databasename MOSS_QAS_88_Content