BACKUP LOG ne peut pas être effectué car il n'y a pas de sauvegarde de base de données en cours

103

J'ai essayé de restaurer une base de données mais ce message est apparu. Comment restaurer cette base de données?

La restauration de la base de données 'farhangi_db' a échoué.
(Microsoft.SqlServer.Management.RelationalEngineTasks)
------------------------------ INFORMATIONS SUPPLÉMENTAIRES:

System.Data.SqlClient.SqlError: BACKUP LOG ne peut pas être effectué car
il n'y a pas de sauvegarde de base de données en cours. (Microsoft.SqlServer.SmoExtended)

Saman
la source
2
S'agit-il d'une sauvegarde différentielle?
Amir Keshavarz
@AmirrezaKeshavarz: quoi? (motavajeh nemisham manzuretuno)
Saman
1
Je veux dire que quel type de sauvegarde allez-vous restaurer? (sauvegarde du journal des transactions / sauvegarde complète / sauvegarde différentielle?)
Amir Keshavarz
Il semble cassé le journal des transactions
bksi
Votre base de données existe-t-elle? L
Amir Keshavarz

Réponses:

205

À l'origine, j'ai créé une base de données, puis j'ai restauré le fichier de sauvegarde dans ma nouvelle base de données vide:

Faites un clic droit sur Bases de données> Restaurer la base de données> Général: Périphérique: [le chemin du fichier de sauvegarde] → OK

C'était faux . Je n'aurais pas dû d'abord créer la base de données.

Maintenant, à la place, je fais ceci:

Faites un clic droit sur Bases de données> Restaurer la base de données> Général: Périphérique: [le chemin du fichier de sauvegarde] → OK

Saman
la source
J'ai rencontré la même erreur et cela a fonctionné pour moi.
javiniar.leonard
A travaillé pour moi aussi
nbhatti2001
127

Une autre cause de ce problème est lorsque le Take tail-log backup before restoreparamètre «Options» est activé.

Dans l'onglet "Options", désactivez / décochez Take tail-log backup before restoreavant de restaurer une base de données qui n'existe pas encore.

Pêche
la source
Merci @Peach, vous gagnez mon temps.
Frank Myat jeu.28
@Peach Merci a sauvé mon temps.
LKC
@Peach Merci beaucoup!
Mohit Dharmadhikari
ET cochez l'option "AVEC REMPLACER"
Andrii Horda
33

Veuillez voir l' image ci - dessous et appliquer les modifications dans SqlServer:

Cliquez d' abord avec le bouton droit de la souris sur Base de données -> Tâche -> Restauration -> Sélectionnez le fichier de sauvegarde -> Appliquer enfin le changement dans l'onglet Options .

veuillez appliquer les modifications dans SqlServer

AminGolmahalle
la source
Dans mon cas, je fais cela et coche la première case à cocher "Écraser la base de données existante (AVEC REMPLACER)" et fonctionne.
Amaurys Sánchez
6
  1. Assurez-vous qu'il existe une nouvelle base de données.
  2. Assurez-vous d'avoir accès à votre base de données (utilisateur, mot de passe, etc.).
  3. Assurez-vous qu'il existe un fichier de sauvegarde sans erreur.

J'espère que cela peut vous aider.

Oskar
la source
2

Une autre cause à cela est si vous avez la même base de données restaurée sous un nom différent. Supprimer l'existant, puis restaurer l'a résolu pour moi.

LothorienDanAdua
la source
Merci d'avoir répondu. Lol, pourquoi Microsoft SQL Server ne vient-il pas de dire "Mec, supprimez la base de données existante avant de la restaurer!"
sivabudh
1

Dans notre cas, cela était dû au fait que le modèle de récupération de la base de données principale avait été modifié après la sauvegarde en préparation de la configuration de l'envoi de journaux.

S'assurer que le modèle de récupération était défini sur Récupération complète avant d' effectuer la sauvegarde et de configurer l'envoi de journaux a résolu le problème pour nous.

Daniel Bowen
la source
1

J'ai corrigé mon erreur lors de la restauration de la base de données non existante de SQL 2008 à SQL 2014 en cochant la case Déplacement vers le nouvel emplacement du dossier SQL2014.

Oscar Gonzalez
la source
1

Vous pouvez utiliser SQL suivant pour restaurer si vous avez déjà créé la base de données

RESTORE DATABASE [YourDB]
FROM DISK = 'C:\YourDB.bak'
WITH MOVE 'YourDB' TO 'C:\YourDB.mdf',
MOVE 'YourDB_Log' TO 'C:\YourDB.ldf', REPLACE
HasanG
la source
0

Je viens de supprimer la base de données existante que je voulais remplacer avec la sauvegarde et de la restaurer à partir de la sauvegarde et cela a fonctionné sans l'erreur.

Dongolo Jeno
la source
0

Je ne sais pas si le fichier de sauvegarde de la base de données, que vous essayez de restaurer, provient du même environnement que celui sur lequel vous essayez de le restaurer.

N'oubliez pas que le chemin de destination des fichiers .mdf et .ldf vit avec le fichier de sauvegarde lui-même.

Si ce n'est pas un cas, cela signifie que le fichier de sauvegarde provient d'un environnement différent de celui de votre hébergement actuel, assurez-vous que le chemin du fichier .mdf et .ldf est le même (existe) que sur votre machine, déplacez-les autrement. (Principalement un cas de restauration de la base de données dans l'image Docker)

La façon de le faire: Dans les bases de données -> Restaurer la base de données -> option [Fichiers] -> (Cochez "Déplacer tous les fichiers dans le dossier" - le chemin par défaut est déjà renseigné sur votre environnement d'hébergement)

durement
la source
0

Si le problème persiste, accédez à la page de restauration de la base de données et cochez la case "Restaurer tous les fichiers dans le dossier" dans l'onglet "Fichiers" Cela peut aider

Sarath
la source
0

Dans mon cas, je restaure une base de données SQL Server 2008 R2 vers SQL Server 2016 Après avoir sélectionné le fichier dans l'onglet Général, vous devez aller dans l'onglet Options et faire 2 choses:

  1. Vous devez activer Écraser la base de données existante
  2. Vous devez désactiver la fin de la copie d'enregistrement
Anibal Roman Crespo
la source
-1

Vous pouvez simplement utiliser cette méthode:

  1. Si vous avez une base de données avec le même nom: WIN+R-> services.msc-> SQL SERVER(MSSQLSERVER)->Stop
  2. Accédez au chemin de votre dossier MySQL Data et supprimez les fichiers de base de données des aperçus
  3. Démarrer le service SQL
  4. Faites un clic droit sur la base de données et sélectionnez Restaurer la base de données
  5. dans l'onglet Fichiers, changez le dossier du fichier de données et le dossier du fichier journal
  6. Cliquez sur OK pour restaurer votre base de données

mon problème a été résolu avec cette méthode PAR ...

Mojtaba Rezaei
la source
-1

Cliquez avec le bouton droit sur votre base de données Les tâches de presse> Sauvegarder et effectuez une sauvegarde de votre base de données avant de restaurer votre base de données. J'utilise cette méthode pour résoudre ce problème

Abkreno Pronce
la source