最近要做MOSS的数据迁移,试了下MOSS自带的备份/还原,还原后网站集好像还原不了,有时候还原会出错,
所以在google上找了下STSADM比较好的一种备份/还原的模式,具体总结下:
STSADM.exe这个命令在 %SystemDriver%\Program Files\Common Files\Microsoft Shared\web server extensions\12\BIN>这个目录下
具体操作命令如下:
1、备份站点(根据url只能一次备份一个站点,即一个网站集)
Stsadm -o backup -url http://localhost :200 -filename E:\DataBak\default200.bak (这个备份文件名称可自定义)
回车,如果成功提示”操作成功完成“
如果这个网站下有多个网站集则通过改变Url地址来备份,例如:存在 http://localhost:200/test 网站集,则:
Stsadm -o backup -url http://localhost :200/test -filename E:\DataBak\default200test.bak
2、还原站点(根据备份文件一次还原一个站点,即一次还原一个网站集)
Stsadm -o restore -url http://lmjob:777 -filename E:\DataBak\Default200.bak
即还原一个站点,如果再想还原不同目录下另一个站点(default200test.bak):
Stsadm -o restore -url http://lmjob:777/test -filename E:\DataBak\default200test.bak
还原时如果目标位置已经存在站点集,必须先删去,或者增加一个参数-overwrite且次站点集处在停用状态,否则将会提示:"/"处已存在另一个网站。请选择一个新的URL,或指定-overwrite 标记覆盖现有网站
此操作将整个站点集数据存储至backupName.bak 文件,它包括全部站点内容,如网站、网站内容、文档库、列表和用户、页面、样式、图片等
但这样不能一次性把一个web应用程序下所有网站备份还原
下面是摘自他人的备份还原方式,可以借鉴下:
来自:http://blog.csdn.net/bisheng_hu/archive/2009/02/12/4684976.aspx
遇到的问题:
由于该系统之前已经部署成型,并且在实际应用,但当初部署并且维护这套系统到人员已经离职,相关文档也并不齐全。所以在动手之前对整个系统进行了一系列的检查,发现系统当中存在一个很大的到问题。MOSS服务器场和后台SQL之间的通讯一切正常,但就是在备份的时候出现问题,具体表现为所有到内容数据库备份失败。所以通过MOSS管理界面备份出来到数据,无法直接通过还原的方式导入到新的服务器中。
另外,由于之前是前后台模式,所以我猜想即使通过MOSS管理界面能够恢复出来数据,也很可能会将服务器场配置数据库以及Web应用到内容数据库指向原来的后台SQL服务器。当然,由于前面提到的方法失败,这个想法根本没有办法去证实。
解决思路:
考虑到MOSS系统到所有数据都是存放在SQL数据当中的,所以我决定使用备份SQL数据库文件的办法,将数据通过还原方式,导入到新的服务器中,从而实现数据的迁移。
大致操作过程如下:
1. 备份以Wss_Content开头的数据库(我这是3个,分别对应的三个应用);备份SSP数据库SharedServices1 _DB;备份SSP搜索数据库SharedServices1_Search_DB。注意,服务器场配置数据库SharePoint_Config和管理中心数据库SharePoint_AdminContent不要备份。
2. 拷贝这些数据库备份文件到目标服务器上。
3. 在目标机上全新安装SQL2005和MOSS2007;创建新的服务器场(我自定义的端口为8000);启动三个服务:Office SharePoint Server 搜索、Windows SharePoint Services 帮助搜索、Excel Calculation Services;注意,此时不要创建SSP和应用程序。
4. 在SQL 管理控制台中,还原之前备份的MOSS相关的数据库。
5. 创建新的Web应用程序:在MOSS应用程序管理界面中,新建Web应用程序,并将其默认生成的内容数据库配置为脱机。(我之前有3个web应用,所以这里我相对应到创建了3个)
6. 还原Web应用程序内容数据库:在创建好到Web应用程序的内容数据库中,选择添加内容数据库,这里添加的数据库,就是我们之前恢复到SQL中的数据库。(我这里恢复了3个)
7. 还原SSP:在SSP配置中,选择还原SSP,SSP数据库以及SSP搜索数据库分别选择之前还原到SQL中的数据库。
8. 后续工作:将这个SSP设置为默认SSP,并启动SSP爬网功能
9. 检查各个Web应用程序中的网站集,修改了部分网站链接的指向路径;通知用户访问新的服务器地址。
10.整个迁移过程结束
以上可以看到,除了备份数据库操作需要在原SQL服务器上完成以外,其他操作均在目标服务器上实现即可,无需对原先的两台服务器做任何的配置修改。这样既可以实现数据在服务器上的迁移,又可以保证在整个迁移过程中不会因为一些误操作导致整个系统宕机。当然,就是过程相对复杂一些。
关键技术难题:
在整个迁移过程中并不是一帆风顺的,一个关键的技术问题,由于网上基本没有同类案例,而且我之前对MOSS基本一窍不通,所以整个下来花了我大概两周的时间。所以在此一定分享给大家。
具体的问题就是,在上面的步骤6中,选择恢复的数据库以后,出现报错,如下图:
之前我也发过帖子询问该问题,但都没有得到有效的解决办法。参考贴:。
http://bbs.winos.cn/thread-54153-1-1.html
最终解决办法:
既然明确说了需要更新版本,所以我一直在尝试着升级各个方面的更新。升级过的东西有:操作系统更新补丁;OFFICE2007的各种SP和安全更新;SQL2005各种SP和安全更新;WSS的最新SP和安全更新;MOSS的最新SP和安全更新;MOSS的Infrastructure update。这些都不行。
最后,在一次啦粑粑到时候,想到还有个WSS可能也存在Infrastructure update,因为MOSS的Infrastructure update是费了好大劲才知道有这么个东西的。回头找到WSS的Infrastructure update,安装以后再次尝试添加内容数据库,欧了。靠… …
回过头想想,其实如果有经验的话,整个过程应该不超过一天,就能搞定。但结果在这个问题上卡了两个星期,还在微软社区问了GTSC的人,当时真的再拖一天,就打算去开case了。嘛到…
所以这点经验,希望对大家有所帮助。