推荐大家使用MOSS中的STSADM命令行Export ,Import来进行子网站的迁移,因为在实际开发的过程中,一个模块可能与一个子网站密切相关, 我不太习惯把主要的功能放在网站集的根网站下,因为可能根网站只是作为一个导航或都信息展示作用。
很多人使用迁移工具迁移不成功,我总结了如下的几点:
1 域和主机名不同,在迁移网站时,最好有相同的域环境和主机名,如果不同,可以在自己的测试环境中改成相同,设定好Alternative Access Mapping。
因为在迁移时,用户权限也会导入到生产机器中去,这些用户如果生产环境没有,那就会出错。
2 使用了SPD的工作流,SPD工作流是比较麻烦的,建议不使用太复杂的,如果可能使用VS来开发工作流模板。
3 使用Evnet Handler,在Evnet Handler中如果有更新其它列表的操作。这样最麻烦的,因为如果你使用STSADM -o Import的命令时,本身import操作导入一个邦定了handler的列表项的时候,本身导入操作也会引发一个Event(my God,不知道微软大叔是怎么想得,竟然在导入时也会触发事件,不知道是不是BUG),这样导入一个列表一定会引发一个ERROR。所以,请在原网站中把所有有危险的Handler全部Uninstall ,然后导出,再进行导入。
最后,如何使用命令行导出一个子网站:
stsadm -o Export -url http://ServerName/SiteName -filename D:\ExportFilename
stsadm -o Import -url http://DestinateName/SiteName -filename D:\ExportFilename
可以自行使用 stsadm -help export/import 来查询相关参数。