首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >SQL Server:数据库处于“恢复”状态?

SQL Server:数据库处于“恢复”状态?

提问于 2017-12-20 10:36:46
回答 2关注 0查看 919

我备份了一个数据库:

代码语言:txt
复制
BACKUP DATABASE MyDatabase
代码语言:txt
复制
TO DISK = 'MyDatabase.bak'
代码语言:txt
复制
WITH INIT --overwrite existing

然后试图恢复它:

代码语言:txt
复制
RESTORE DATABASE MyDatabase
代码语言:txt
复制
   FROM DISK = 'MyDatabase.bak'
代码语言:txt
复制
   WITH REPLACE --force restore over specified database

现在,数据库仍处于恢复状态。

有人认为,这是因为备份中没有日志文件,需要使用以下命令进行滚动:

代码语言:txt
复制
代码语言:txt
复制
RESTORE DATABASE MyDatabase
代码语言:txt
复制
WITH RECOVERY 

除此之外,当然失败了:

代码语言:txt
复制
Msg 4333, Level 16, State 1, Line 1
代码语言:txt
复制
The database cannot be recovered because the log was not restored.
代码语言:txt
复制
Msg 3013, Level 16, State 1, Line 1
代码语言:txt
复制
RESTORE DATABASE is terminating abnormally.

而在灾难性的情况下,你想要的是一个不可能的恢复。

备份包含数据和日志文件:

代码语言:txt
复制
代码语言:txt
复制
RESTORE FILELISTONLY 
代码语言:txt
复制
FROM DISK = 'MyDatabase.bak'
代码语言:txt
复制
代码语言:txt
复制
Logical Name    PhysicalName
代码语言:txt
复制
=============   ===============
代码语言:txt
复制
MyDatabase    C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\MyDatabase.mdf
代码语言:txt
复制
MyDatabase_log  C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\MyDatabase_log.LDF

回答

和开发者交流更多问题细节吧,去 写回答
相关文章

相似问题

相关问答用户
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档