J'ai essayé de restaurer une base de données en utilisant la requête suivante:
ALTER DATABASE [DatabaseName] SET Single_User WITH Rollback Immediate GO
RESTORE DATABASE DatabaseName FROM DISK = 'C:\DBName-Full Database Backup'
ALTER DATABASE [DatabaseName] SET Multi_User GO
mais au lieu de restaurer la base de données, j'obtiens cette erreur:
Msg 3159, niveau 16, état 1, ligne 2
La queue du journal de la base de données "DatabaseName" n'a pas été sauvegardée. Utilisation
BACKUP LOG WITH NORECOVERY
pour sauvegarder le journal s'il contient du travail que vous ne voulez pas perdre. Utilisez leWITH REPLACE
ouWITH STOPAT
clause de l'instructionRESTORE
pour simplement écraser le contenu du journal. Msg 3013, niveau 16, état 1, ligne 2RESTORE DATABASE
se termine anormalement.
Le message d'erreur que vous obtenez vous indique exactement ce que vous devez faire si vous ne vous souciez pas de la base de données ou du journal existant.
RESTORE DATABASE DAtabaseName FROM DISK = 'C:\DBName-Full Database Backup'
WITH REPLACE
Dans SQL Server Management Studio (Tâches> Restaurer), vous pouvez ajouter le WITH REPLACE
option en ouvrant la page "Options" sur le côté gauche et en cochant "Remplacer la base de données existante".
Pour ceux qui utilisent Management Studio
cela devrait fonctionner:
Vous pouvez également remplacer le modèle de récupération de base de données par Simple
au lieu de Full
.
properties
-> option
recovery model
à simple
Alors ce que vous avez écrit devrait fonctionner sans produire d'erreurs.
Cela a bien fonctionné avec moi.
Alternativement, vous pouvez changer le modèle de récupération de base de données en "Simple" au lieu de "Complet".
Faites un clic droit sur la base de données, choisissez "propriétés", "option", changez "modèle de récupération" en "simple".
Alors ce que vous avez écrit devrait fonctionner sans produire d'erreurs.
Utilisez BACKUP LOG WITH NORECOVERY pour sauvegarder le journal s'il contient du travail que vous ne voulez pas perdre.
Utilisez la clause WITH REPLACE ou WITH STOPAT de l'instruction RESTORE pour simplement écraser le contenu du journal.
Vraiment, c'est la réponse. Juste là, dans le message. Qu'est-ce que tu veux faire? Sauvegardez la queue pour ne pas être perdu? Remplacer le journal qui n'a pas été sauvegardé? Ton appel.