SQL Server: banco de dados bloqueado no estado "Restaurando"

Eu fiz backup de um banco de dados:

BACKUP DATABASE MyDatabase
TO DISK = 'MyDatabase.bak'
WITH INIT --overwrite existing

E então tentou restaurá-lo:

RESTORE DATABASE MyDatabase
   FROM DISK = 'MyDatabase.bak'
   WITH REPLACE --force restore over specified database

E agora o banco de dados está preso no estado de restauração.

Algumas pessoas teorizaram que é porque não havia um arquivo de log no backup e ele precisava ser avançado usando:

RESTORE DATABASE MyDatabase
WITH RECOVERY 

Exceto que, é claro, falha:

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.

E exatamente o que você deseja em uma situação catastrófica é uma restauração que não funcionará.

O backup contém um arquivo de dados e log:

RESTORE FILELISTONLY 
FROM DISK = 'MyDatabase.bak'

Logical Name    PhysicalName
=============   ===============
MyDatabase    C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\MyDatabase.mdf
MyDatabase_log  C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\MyDatabase_log.LDF

questionAnswers(22)

yourAnswerToTheQuestion