在Sharepoint 2003 中stsadm 沒有對單個網站進行備份還原的功能。
在MOSS 2007中,Microsoft 添加了這個功能。我的故事經歷是這樣的:
由於第一次安裝配置時沒有經驗,設置了單服務器場(數據庫訪問賬號為服務器的本機管理員)
後來因為要加服務器進Server Farm ,就把Server Farm 進行了重新建置,當由於已不少的同事在裏面上傳了資料
。所以要進行內容遷移。因為網站中的錯誤,這個過程本人操作的比較複雜.
大概就是用“管理中心”的“備份/還原”進行操作。但沒有一次是還原完全成功的。或多或少都會報點錯。只是
網站內容還可以使用。所以也沒有在意。後來又試過使用“管理中心”“操作”“內容部署”去對兩個Server
Farm 進行內容轉移。報的錯誤是“Guid 的格式不對”.
經過幾次的轉移,網站越來越慢。已接近沒法接受的地步。但服務器又不報錯。所以,一直沒有好的辦法解決。
前天想起了Stsadm -o 的export/import 方法可以對網站級別進行備份/還原。報著試一試的態度,對Server Farm
下的幾個網站分別進行了Export. 但在做頂級網站的Export 時又報了GUID 的格式錯誤。
所以,網站很慢很有可能就是這個錯誤引起的。於是,把子網站分別Export 。再把頂級網站的幾個文檔庫內容進
行了備份(直接COPY了出來)。
再重新建立了WEB Application /Web 網站集。再分別一個一個的把那些子網站Import 進來。這樣,除了頂級網站
的內容沒有恢復外,子網站全部內容還原。
再在頂級網站建立文檔庫,把文件COPY 回網站內。這樣一個“新”的網站就出現了。
再次進行整個網站集的Export ,那個GUID 的問題也沒有了。
今天,同事們都訪問,速度已明顯加快。說明已恢復正常。
使用到的命令:
stsadm -o export -url http://moss/IT -filename c:\mossbak\IT.bak -includeusersecurity
stsadm -o import -url http://moss/IT -filename c:\mossbak\IT.bak -includeusersecurity
具體還有一些參數,可以另加。
錯誤:
Guid should contain 32 digits with 4 dashes (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx). at
System.Guid..ctor(String g) at Microsoft.SharePoint.Deployment.FieldTemplateSerializer.ParseLookups
(SPField fieldTemplate, ExportObjectManager objectManager) at
Microsoft.SharePoint.Deployment.FieldTemplateSerializer.GetDataFromObjectModel(Object obj,
SerializationInfo info, StreamingContext context) at
Microsoft.SharePoint.Deployment.DeploymentSerializationSurrogate.GetObjectData(Object obj,
SerializationInfo info, StreamingContext context) at
Microsoft.SharePoint.Deployment.XmlFormatter.SerializeObject(Object obj, ISerializationSurrogate
surrogate, String elementName, Boolean bNeedEnvelope) at
Microsoft.SharePoint.Deployment.XmlFormatter.Serialize(Stream serializationStream, Object
topLevelObject) at Microsoft.SharePoint.Deployment.ObjectSerializer.Serialize(DeploymentObject
deployObject, Stream serializationStream) at
Microsoft.SharePoint.Deployment.SPExport.SerializeObjects() at
Microsoft.SharePoint.Deployment.SPExport.Run()
內容部署工作 'CG' 失敗。發生的例外狀況是 'System.FormatException' : 'Guid should contain 32 digits
with 4 dashes (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx).'
雖然不是一個完美的解決辦法,再訪問很慢的問題已解決。