A restauração do banco de dados do SQL Server está interrompida?

2

Eu fiz um backup de um SQL Server 9.0.4053, copiei o arquivo bak para um computador diferente executando o SQL Server 10.0.2531 e tentei restaurar usando

RESTORE DATABASE [MyDatabase] FROM  DISK = N'C:\Temp\MyDatabase.bak' WITH  FILE = 1,  NORECOVERY, REPLACE,  STATS = 10

Isso termina rapidamente (o banco de dados é bem pequeno), a saída abreviada é algo assim:

11 Prozent verarbeitet.
[...]
100 Prozent verarbeitet.
208 Seiten wurden für die 'MyDatabase'-Datenbank, Datei 'MyDatabase' für Datei 1, verarbeitet.
4 Seiten wurden für die 'MyDatabase'-Datenbank, Datei 'MyDatabase_log' für Datei 1, verarbeitet.
RESTORE DATABASE hat erfolgreich 212 Seiten in 1.014 Sekunden verarbeitet (1.631 MB/s).

Depois que isso for concluído, o banco de dados será exibido no SQL Server Management Studio como "sendo restaurado". E continua aparecendo assim por horas, sem qualquer progresso.

O log de eventos contém três mensagens informativas (traduzidas aproximadamente aqui):
1) "MyDatabase" está começando.
2) "MyDatabase" está marcado como RESTAURAÇÃO e tem um status em que a execução da restauração não é possível.
3) "MyDatabase" foi restaurado com sucesso.

O que está acontecendo aqui? De todas as mensagens parece que o banco de dados foi restaurado, mas não consigo acessá-lo, ele continua sendo marcado como "Restaurando".

    
por Sam 28.09.2010 / 11:12

1 resposta

6

Você usou o sinalizador "NORECOVERY", que indica ao servidor SQL que você deseja restaurar backups de log de T adicionais. Você deve ter usado o sinalizador "RECOVERY" (ou nada, pois esse é o padrão).

Para recuperar, recupere os logs de T ausentes ou, se não quiser restaurar mais nenhum registro, emita a seguinte instrução:

RESTORE DATABASE [MyDatabase] WITH RECOVERY

Deve trazer o DB online.

Leia a ajuda integrada no comando restore. Ele realmente contém informações que você não pode ignorar.

    
por 28.09.2010 / 12:21