最后一个语句参数写错了, 要用WITH RECOVERY, 而非WITH NORECOVERY10.2 恢復某分區文件. RESTORE DATABASE test03 FILEGROUP='test2011part' FROM DISK = N'G:\TestDB\test\test20111131.bak' WITH RECOVERY, MOVE 'test2011part' TO 'G:\TestDB\test03\test2011part.mdf', MOVE 'test_log' TO 'G:\TestDB\test03\testdb.ldf'
試過了, 用WITH RECOVERY是一樣的效果.
使用 select physical_name,state_desc from sys.database_files 查看, 發現: -------------------------------------------------- G:\TestDB\test05\test2011part.mdf RESTORING不知道是不是因為其他文件離線的原因?
在還原Primary文件組之前, 有提示要備份數據庫尾部日誌是吧? 此時最後要把尾部日誌也恢復一下,RESTORE DATABASE test from disk='[尾部日誌備份文件]' WITH RECOVERY
RESTORE DATABASE test03 FILEGROUP='test2011part'
FROM DISK = N'G:\TestDB\test\test20111131.bak'
WITH RECOVERY,
MOVE 'test2011part' TO 'G:\TestDB\test03\test2011part.mdf',
MOVE 'test_log' TO 'G:\TestDB\test03\testdb.ldf'
--------------------------------------------------
G:\TestDB\test05\test2011part.mdf RESTORING不知道是不是因為其他文件離線的原因?
此時最後要把尾部日誌也恢復一下,RESTORE DATABASE test
from disk='[尾部日誌備份文件]'
WITH RECOVERY
测试过,行不通,估计是不允许的.
即使可以,估计问题也一大堆,
因为很多表和数据实际上都还不存在.要确保系统的高可用性,可以用log shipping,database mirror这些.
靠备份/恢复不太现实.
其實, 因為我恢復了Primary文件組和最新年度的文件組,故所有的表都會有. 只不過有部份數據不存在而已, 但我此時並不需要那些文件. 故我覺得應該是有希望的.