Sharepoint Content DB 故障修复

其实是一个无比纠结的错误。

一个本来测试目的的站点被正式沿用了。沿用也没啥,问题是用的是SQLexpress啊。。。

然后突然发现无法上传了,正好有赶着M$发布SP1更新,系统提示说版本落后,建议“使用 Upgrade-SPContentDatabase 来升级内容数据库”,这样就觉得应该是版本问题,于是一激动以为找到原因,开始命令行升级。(忘了备份啊忘了备份)

然后就郁闷了,报空间不足,升级失败,而且无法回滚。

“Exception: 由于文件组 ‘PRIMARY 中的磁盘空间不足,无法为数据库 ‘WSS_Content’ 分配新页。请删除文件组中的对象、将其他文件添加到文件组或者为文件组中的现有文件启用自动增长,以便增加必要的空间。语句已终止。”

“Exception: Action 4.1.3.0 of Microsoft.SharePoint.Upgrade.SPContentDatabaseSequence failed to rollback.”

这里才恍然大悟应该是遇到了4G上限的问题。

备份,还原到一个正式的SQLserver

Mount-SPContentDatabase

但是运行失败,“Exception: 对象名 ‘Webs’ 无效。”

导致正常运行的sharepoint站点出现505错误。

分析原因应该是升级过程修改了部分数据库内容,或者是数据库版本标示。导致mount脚本无法用正常的方式合并数据库;如果能够知道升级脚本做了什么,依次还原就能解决这个问题,但是问题是sharepoint的升级过程是个黑箱。。。

那么方案只能是把数据库先升级到正式的结构,修改版本标示到最终版本,然后实验数据是否有效。后来这个方案证明可行。

1.通过数据库工具同步数据库结构,这里用Navicat Premium进行对比结果,然后成功同步。
2.对比正式数据库,修改数据库Versions中version到正式值。

然后重新使用 Mount-SPContentDatabase方法,成功没有报错。问题解决。

Firefox 5 comes

6月21日,Mozilla发布Firefox 5,不知道这次为何版本更新如此之快。

但要命的是,以前3.*时代写的插件到4能用,到5就只有部分功能生效,看来不得不重写,只能去研究FF5的插件机制区别了。