SharePoint 2007 升级到SharePoint 2010

随着微软最新平台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的升级看作一个比较大的项目,可能也会趁机修改或者增加一些新功能。微软官网还介绍了一种混合升级方式,就是升级过程中组合运用这两种方法,比较适合更大型的多个内容数据库的网站。有兴趣的可以试试。

转载于:https://www.cnblogs.com/ahghy/archive/2012/10/15/2724671.html