相关疑难解决方法(0)

SQL Server:数据库陷入"恢复"状态

我备份了一个数据库:

BACKUP DATABASE MyDatabase
TO DISK = 'MyDatabase.bak'
WITH INIT --overwrite existing
Run Code Online (Sandbox Code Playgroud)

然后尝试恢复它:

RESTORE DATABASE MyDatabase
   FROM DISK = 'MyDatabase.bak'
   WITH REPLACE --force restore over specified database
Run Code Online (Sandbox Code Playgroud)

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

有些人认为这是因为备份中没有日志文件,需要使用以下方式前滚:

RESTORE DATABASE MyDatabase
WITH RECOVERY 
Run Code Online (Sandbox Code Playgroud)

当然,除此之外,失败:

Msg 4333, Level 16, State 1, Line 1
The database cannot be recovered because the log was not restored.
Msg 3013, Level 16, State 1, Line 1
RESTORE DATABASE is terminating abnormally.
Run Code Online (Sandbox Code Playgroud)

确切地说,在灾难性的情况下你想要的是一种无法恢复的恢复.


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

RESTORE FILELISTONLY 
FROM DISK = 'MyDatabase.bak'

Logical Name    PhysicalName
=============   =============== …
Run Code Online (Sandbox Code Playgroud)

sql-server backup restore

549
推荐指数
15
解决办法
87万
查看次数

标签 统计

backup ×1

restore ×1

sql-server ×1