今天在还原数据库的时候,在ssms用以下代码还原数据库:
RESTORE DATABASE [TEST] FROM DISK = N'D:\TEST.BAK' WITH FILE = 1, MOVE N'TEST' TO N'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\test.mdf', MOVE N'TEST_log' TO N'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\test_log.LDF', NORECOVERY, NOUNLOAD, REPLACE, STATS = 10
还原成功之后,刷新数据库列别,却发现test数据库上有一个箭头,表明仍然处于 “还原”状态,等待几分钟之后依然不变,数据库也无法使用。
于是度娘,找到以下网站:
http://bbs.csdn.net/topics/70037968
里面有童鞋遇到了相同的问题,回复里面有zjcxc(邹建)大师的回复,遇到这种情况,执行以下代码:
--查询分析器中执行下面的语句就行了,注意修改库名 Restore log 你的库名 with recovery
在执行以上代码之后,结果如下:
RESTORE LOG 成功处理了 0 页,花费 3.554 秒(0.000 MB/秒)。
然后数据库也可以使用了。
虽然不太清楚原理是啥,但好歹问题解决了。如果有哪位大师能告诉小弟原理,小弟感激不尽,还可以惠及其他童鞋呢 ^_^