MOSS的备份与迁移
MOSS的备份与迁移
在这里浅谈一下我的网站集迁移经历。我想做的东东很简单,将一个已经开发好的解决方案,或者说是环境,迁移到一台虚机上,作演示用。
首先当然是用SharePoint3.0管理中心内置的备份与还原工具。备份界面是很人性化,备份速度也比较快,只是备份出来的文件夹根目录下会出现spbrtoc.xml的备份日志文件,或者说是备份配置文件。将整个文件夹与该配置文件拷贝至新环境中,执行备份还原,结果失败。新环境假假地备份一次,将备份文件完全替换成在原环境备份出来的文件。然后执行备份还原,还是失败。
用SPD的备份网站功能,备份后拷贝至新环境的SPD还原,也不行。看来,无论是MOSS管理中心自带的备份还原工具,还是SPD的还原工具,都是只提供能还原自己环境下备份的文件。没有迁移的作用。我们看看MOSS的备份还原功能有什么弊端:
备份还原功能不能做什么?
- 不能备份和还原以下内容
- Custom solutions deployed(发布到WSS站点的自定义的应用程序)
- lternate access mapping
- Internet Information Services metabase
- 可以备份但不能还原以下内容
- Sharpoint配置数据库SharePoint_Config
- 管理中心IIS站点和应用程序
- 管理中心数据库SharePoint_AdminContent
然后看到十一的一篇文章,主张用数据库的SQL Server Tools进行站点备份、还原与迁移。大致的步骤下面简单描述。
- 在原服务器场备份除配置数据库SharePoint_Config和管理中心数据库SharePoint_AdminContent外的所有数据库
- 部署好新的服务器场
· 在目标机上安装Office SharePoint Server 2007
·启动三个服务:Office SharePoint Server 搜索、Windows SharePoint Services 帮助搜索、Excel Calculation Services
·不要创建SSP和应用程序
3. 在SQL Server Enterprise Manager中,还原所有之前备份的SharePoint相关的数据库,除了配置数据库SharePoint_Config和管理中心数据库SharePoint_AdminContent
4. 通过管理中心新建立web应用程序,并删除所关联的内容数据库
·在管理中心创建3个应用程序,一个用于SSP、一个用于个人站点、一个用于门户站点,如果你需要更多的站点,则建立多个相应的应用程序。
·在"SharePoint Web 应用程序管理"点击 "内容数据库".
·选择你需要修改的web 应用程序
·选择内容数据库
·选择"脱机"状态和"删除内容数据库"
·点击"确定"。
5. 还原新站点、SSP的内容数据库
·在"管理内容数据库"中将我们备份好的内容数据库添加到相应的web应用程序里
·添加内容数据库,数据库名称填写我们要还原的数据库名称
·点击"确定"
6. 还原SSP
·选择"创建或配置此服务器场的共享服务"
·选择"还原SSP"
·添加相关的内容
SSP 名称:SharedServices3
SSP 管理网站需要 Web 应用程序:选择SSP web程序
"我的网站"需要 Web 应用程序 :同样选择SSP web程序
SSP 服务凭据:填写域管理员账户
SSP 数据库:SharedServices1 _DB
搜索数据库:SharedServices1_Search_DB
·设置所还原的SSP为服务器场的默认SSP
·在搜索设置页启动SSP的爬网功能
通过,以上操作就实现了服务器场间站点的迁移。
但是在实际的应用上,发现除了步骤复杂外,更大程度上还原成功率很低,因为做这个工作的人要对SQL Server熟悉,要对MOSS熟悉,要对SSP熟悉,要知道哪个数据库对应着哪个站点,并且在SSP的还原上面要耗费大量的时间,最重要的是还原成功率不高,整天访问首页都会有不知名的错误,估计是配置数据库与内容数据库冲突导致。
之后通过搜索,找到了一篇董章河介绍的MOSS站点备份还原方式,是通过STSADM 命令的方式。具体操作如下:
1.先我们使用STSADM.exe文件备份整个站点集
命令方式为:
Stsadm -o backup -url http://localhost -filename mjweb.bak
说明:此操作将整个站点集合转储至 mjweb.bak 文件,它包括全部站点内容,如网站、文档版本、列表和用户等;
然后我们进行网站还原操作,其命令方式为:
Stsadm –o restore -url http://localhost -filename mjweb.bak
说明:如果目标位置存在一个站点集,必须先删去,或者增加一个参数-overwrite且次站点集处在停用状态,否则将会提示:"/"处已存在另一个网站。请选择一个新的URL,或指定 -overwrite 标记覆盖现有网站。
另外,在增加overwrite参数的情况下,执行仍然出现错误,则需要关闭IIS,并重新执行restore就OK了;
提醒: 有时候我们并不想备份整个站点集,只想备份站点集下的某一个网站(更多的应用是属于只备份某个网站); 那么我们直接把命令backup和restore改成import和export,URL设置成源网站的URL即可。
备份与还原顺利并成功还原了网站集下的所有站点。兴奋中……新环境下原有的站点都会被覆盖。但是Featrue集合却会累加。用这种方式备份的BAK文件不大,并能指定站点备份,如果能自行编写一个批处理程序,自动备份与自动还原,那就会大大降低了操作技术难度,是非常方便的方法。
还有需要说明的是,备份后虽然Webpart是不需要再次发布注册,但是难免在Webpart里面会有旧站点的信息,所以还是需要保留开发源代码,以便不时之需。wpresource里的Webpart附属文件;Template下的layout和images等支持文件;FormService所应用的表单模板等,都需要在迁移后手动复制或者上传。