从MOSS2007升级到SharePoint2010后Report Server content types升级失败
我的一个客户遇到了这样一个问题.
把MOSS2007的content DB挂到SharePoint 2010的场中之后, 发现某站点里的下面几个content type显示不正常. 并且这几个content type导致该站点生成的模板无法被用来创建新的其他站点.
SharePoint 2010 里content type显示为
$Resources:ReportServerContentTypeGroup;
$Resources:DataSourceContentTypeName;
$Resources:ReportBuilderContentTypeName;
$Resources:ReportBuilderModelName;
在MOSS 2007中这几个content type应该显示为下面的样子.
Report Server Content Types
Report Builder Model
Report Builder Report
Report Data Source
尝试去删除这几个content type, 报错: The content type "$Resources:ReportBuilderContentTypeName" is part of an application feature".
经过研究发现这个几个content type是属于几个叫做'ReportServer' 的feature的.
在ULS log中可以发现如下的条目
Content type 0x010100C3676CDFA2F24E1D949A8BF2B06F6B8B in Feature '{e8389ec7-70fd-4179-a1c4-6fcb4342d7a0}' in the current web
{0c6885f1-4a0e-4967-bb92-8a14cf3e540a} was not updated because the OverWrite attribute is FALSE or the content type does not exist in
the current scope. Content type scope is /, current web scope is /.
Content type 0x0101007DFDDF56F8A9492DAA9366B83A95B3A0 in Feature '{e8389ec7-70fd-4179-a1c4-6fcb4342d7a0}' in the current web
{0c6885f1-4a0e-4967-bb92-8a14cf3e540a} was not updated because the OverWrite attribute is FALSE or the content type does not exist in
the current scope. Content type scope is /, current web scope is /.
Content type 0x010100D8704AF8ED734F4088724751E0F2727D in Feature '{e8389ec7-70fd-4179-a1c4-6fcb4342d7a0}' in the current web
{0c6885f1-4a0e-4967-bb92-8a14cf3e540a} was not updated because the OverWrite attribute is FALSE or the content type does not exist in
the current scope. Content type scope is /, current web scope is /.
问题原因
================
这几个content type没有被正确地upgrade
解决方案
================
运行下面的两条power shell命令, 问题解决.
Disable-SPfeature -id reportserver -url http://<servername> –force
Enable-SPfeature -id reportserver -url http://<servername> -force
注意, 从这里我们可以看出, 如果某个feature没有正确地被upgrade, 那么关闭后再开启这个feature可以强制其升级更新.
参考资料
================