隨著微軟最新平台SharePoint 2010的發布,加上SharePoint 2010帶來的更多先進的特性,越來越多的用戶開始考慮把之前在MOSS2007做的項目升級到SharePoint2010上.
微軟官方提供的升級方法有兩種:就地升級(In-place Upgrade)和附加資料庫升級(Attach databases Upgrade)
最近正好參與了一個升級的項目,於是我嘗試了兩種升級方式.
就地升級:
舊伺服器場的架構:windows 2003 SQL Server2005 MOSS 2007 都是64位
在升級之前確認MOSS 2007已經打過sp2,然後運行STSADM.EXE -o preupgradecheck ,運行完畢會自動打開html格式的升級檢測報告,會告訴你支持哪種升級方式,還會列出哪些可以平滑升級,哪些需要單獨部署,存在哪些問題等,強烈建議升級前運行該命令,可能這裡花的幾分鐘可以解決升級中帶來的大問題.然後把Windows 2003升級到Windows 2008 R2,SQL Server 2005 打sp3 cu3,然後升級MOSS 2007到SharePoint2010.
其中Windows 2003升級到Windows 2008 R2的過程最長,需要注意Windows 2003企業版只能升級到Windows 2008 R2企業版,不支持升級到Windows 2008 R2標準版.
SQL Server2005需要打最新的CU,否則在SharePoint安裝完進行配置嚮導的時候會報錯.
前面的升級都非常順利,到了SharePoint升級配置的第二步報錯了,“未能初始化升級序列.已引發類型為 System.ArgumentException 的異常.其他異常信息: {0} 參數不支持指定的值 ”,檢查SharePoint的LOG日誌,Windows 2008的系統日誌,沒有更詳細的錯誤信息,只好作罷.嘗試第二種升級.
附加資料庫升級:
舊伺服器場的架構:windows 2003 SQL Server2005 MOSS 2007 都是32位
準備一個乾淨的新伺服器場,架構是:windows 2008 R2 SQL Server2008 R2 SharePoint 2010 都是64位,SharePoint 建好一個新的web應用程序,後面會用舊的內容資料庫覆蓋,不用建網站集.
同樣建議運行STSADM.EXE -o preupgradecheck 進行升級檢查.
強烈建議升級之前做好舊伺服器場資料庫的備份.接下來把舊伺服器場中的內容資料庫(一般是XXX_Content的DB)分離,複製到新的伺服器場的資料庫伺服器,從新服務場的SharePoint管理中心把內容資料庫刪除,
然後把資料庫附加到新資料庫伺服器上. 接下來運行PowerShell,輸入
Mount-SPContentDatabase -Name <DatabaseName> -DatabaseServer <ServerName> -WebApplication <URL> [-Updateuserexperience]其中:<DatabaseName> 是要升級的資料庫的名稱,就是剛剛附加上的資料庫名;<ServerName> 是在其上存儲資料庫的伺服器,也就是新的SharePoint伺服器;<URL> 是將承載網站的 Web 應用程序的 URL.Updateuserexperience是可選的,如果不選,升級后的網站跟沒升級之前的外觀是一樣的,以後可以在網站管理中進行可視化升級.
運行完畢會給出一個簡單的報告,告訴你哪些升級成功,哪些沒有升級成功,一般自己開發的那些功能,包括工作流、feature、eventhanlder等都會失敗.
這個時候就可以訪問升級后的站點了,外表看起來跟升級前一模一樣,如果有自己開發的一些功能,建議還是重新部署一遍.如果選擇可視化升級,升級后就變成2010的界面了.
總結:從舊伺服器場的架構就可以看出兩種升級方式最大的區別,就地升級只支持64位到64位的升級,而附加資料庫升級還支持32位到64位的升級;實際應用中,採用就地升級的還是佔少數,畢竟一般情況下,公司會把07到10的升級看作一個比較大的項目,可能也會趁機修改或者增加一些新功能.微軟官網還介紹了一種混合升級方式,就是升級過程中組合運用這兩種方法,比較適合更大型的多個內容資料庫的網站.有興趣的可以試試.
本文出自 「fishvsfrog」 博客,謝絕轉載!
[火星人 ] moss2007升級到moss2010之準備已經有874次圍觀