Cela est probablement dû à l'ajout du WITH NORECOVERY
paramètre par le script de restauration , afin que la base de données soit prête pour un journal des transactions à appliquer après la restauration.
La base de données attend maintenant le dernier fichier journal des transactions.
Vous pouvez soit:
- Appliquez le dernier journal des transactions en utilisant
RESTORE LOG database_name FROM backup_device WITH RECOVERY;
... ou
- Restaurez la base de données à nouveau, mais cette fois en utilisant
... WITH RECOVERY;
... ou
- Forcez la base de données hors du mode restauration en exécutant:
RESTORE DATABASE YourDb WITH RECOVERY;
Avant de faire cela, assurez-vous de bien comprendre les implications de ces options. Vous pouvez provoquer une perte de données si vous ne faites pas attention.
Voir ceci pour plus de détails:
Script T-SQL simple pour résoudre ce problème:
écrivez ce script dans la fenêtre New Query et exécutez:
la source
Je viens d'avoir cette situation, et le remède était assez surprenant:
Apparemment, la restauration NetBackup qui a éclaté l'a laissé dans un état étrange. Aucune autre solution n'a fonctionné (bien que je n'aie pas encore essayé de redémarrer le service SQL Server)
Je ferais attention à la base de données, cependant, car théoriquement, une fois qu'une restauration a commencé, elle a ensuite échoué, vous pourriez avoir des données corrompues. De toute façon, je vais simplement restaurer la base de données, donc cela ne m'importe pas.
la source
ALTER DATABASE
ne sont pas permis, je vous assure que dans mon cas, la base de données était en fait montrant que dans le rétablissement de l' état, et en utilisantSET ONLINE
en fait travaillé . Alors, sachez que vous m'appelez être trompé ou mentir. Est-ce ce que vous devez vraiment faire quand une alternative est disponible?ONLINE
state. En résumé, je pense que votre commentaire et votre vote négatif sont déplacés pour ce site et que vos informations sont incorrectes sur le plan des faits car ils ne sont pas correctement qualifiés avec les données que j'ai présentées.Comme nous le savons, l'option de restauration de base de données par défaut est avec récupération, ce qui garantit que la base de données est disponible et en ligne pour utilisation après la restauration de la base de données.
Exemple:
Voyons les points importants de la restauration sans récupération
Restaurer avec NoRecovery
Cette option est particulièrement utilisée lorsque plusieurs sauvegardes doivent être restaurées. Cela signifie que, lorsque vous exécutez la commande de restauration avec l'option norecovery, la base de données n'est transmise aux utilisateurs que lorsque la dernière sauvegarde de la séquence a été restaurée. Avec la dernière sauvegarde, l'option de récupération est utilisée et la base de données est en ligne.
Exemple:
Puis:
la source
RESTORE ...WITH NORECOVERY
option. Pourriez-vous vérifier cela?