在EC2中的SQL 2008服务器上还原SQL 2005数据库时,无限期挂起

我尝试使用.bak文件和SQL Management Studio将从Windows 2003 / SQL 2005计算机获取的25 GB数据库备份恢复到Amazon EC2云中的Windows 2008 / SQL 2008计算机。 SQL Management Studio报告恢复达到100%完成,然后使用大量的CPU无限期地(24+小时)挂起,直到我重新启动SQL Server服务。 在重新启动时,SQL再次使用大量的CPU活动来处理似乎是无限期的时间,但是数据库不会联机。

下面是一些细节: – 我已经创build了两个EBS卷,一个用于DATA,另一个用于LOGS,并且我已经将SQL Server中的默认目录设置为这些卷上的\ DATA和\ LOG目录。 (我想知道这个问题是否可能与此有关,但是数据库太大而无法在根驱动器上恢复) – 我已经给了SQL Server用户组完全访问这些目录。 – 服务器可以在这些目录下创build一个新的空白testing数据库,并可以备份和恢复testing数据库。 – 我已经尝试恢复.bak文件并直接附加到原始.mdf / .ldf文件的副本,结果在两种情况下都是相同的。 – .bak还原和.mdf / .ldf连接发生在/来自EBS卷。 – 我也通过SQL脚本和“WITH RECOVERY”尝试了上面的内容,结果没有什么不同,只是更less的UI。
– 备份包含两个全文索引。 – 我必须对备份中的大部分文件使用“WITH MOVE”。 – 备份或.mdf / .ldf文件没有问题,因为这在Amazon EC2中的Windows 2003 / SQL 2005计算机上工作得很好,而在Windows 2008 / SQL 2008中工作得很好。
– SQLpipe理工作室中的数据库没有被标记为“正在恢复” – 它只是作为一个普通的数据库列出来的,但是当我尝试用它做任何事情时,会抛出错误(展开对象浏览器树,视图属性等)

有任何想法吗?

杀死数据库时,数据库正在从SQL 2005升级到SQL 2008。 检查SQL Server中的ERRORLOG,您应该看到数据库还原已完成,并且数据库正在升级。

这个过程通常非常快,但是根据数据库的不同,可能需要一段时间才能执行,特别是如果数据库中有很多待处理事务在数据库升级之前向前或向后滚动。