博客地址:http://blog.csdn.net/shelleyliu0415
很多人包括我在内,可能在做SharePoint 2010升级的时候,DB Upgrade时会遇到Restore DB失败的情况,错误提示:
- Restore Failed for Server. System.Data.SqlClient.SqlError: The backup set holds a backup of a content database other than the existing"Wss_Content_9001" database.
- Restore Failed for Server. System.Data.SqlClient.SqlError: Exclusive access could not be obtained because the database is in use.
如下图所示:
情况1:
情况2:
跟公司内部资深人士研究并整理了失败的原因:
- 目的端SQL Server的Content Database正在使用,可能与SharePoint的Web Application或者Service还有Connection。
- 运行SQL Server的Account没有存储要还原的 Content Database Location Folder的Read和Writer的权限。
按照上面整理的失败原因,寻找Solution,最后Restore Content Database成功,具体Solution如下:
- 取消与SharePoint 的关联关系:比如我的环境是Content Database与Web Application进行关联,那么需进入Central Administration->Application Management->Manager Content Database,选择指定的Web Application,取消其下作为还原的Content Database的关联关系,如下图所示:
- 查看运行SQL Server的Account:Services->SQL Server->Logon,如下图所示:
- 查看存储要还原的 Content Database Location Folder是否满足相应的权限,如下图所示:
- #3中添加运行SQL Server的Account并赋予相应的Permission,如下图所示:
- 再次还原Content Database,如下图所示:
可见上述原因以及Solution可以解决将Content Database 成功Overwrite还原到一个Existing Content Database中,如果目的端的DB是不存在的情况下,就不会出现上述问题,直接做Restore就可以了。
注意:应用的Backup文件是Full Backup生成的文件,如果想用Different Backup生成的文件,先要保证Full Backup的数据先正确被还原,然后再进行Different Backup的数据还原。
仅供参考!