SQL Server : résoudre l’erreur 3154

Erreur 3154 lors de la restauration d'une sauvegarde SQL en .bak

Vous vouliez restaurer la sauvegarde d’une base de données mais l’interface de Microsoft SQL Server Management Studio affiche une erreur 3154 ? Peut-être que la procédure n’est pas la bonne. Le tutoriel ci-dessous décrit l’erreur et donne une procédure pour solutionner le problème d’import d’un .bak, fichier de sauvegarde MS SQL Server.

 

Erreur 3154 avec restauration depuis un fichier .bak

1. Créer une nouvelle base vierge depuis SQL Management Studio.

2. Clic droit sur cette base créée et aller dans Tâches, Restaurer, Fichiers et groupes de fichiers.

3. Indiquer le fichier .bak à restaurer depuis « A partir du support » :

4. Cocher la base à restaurer :

5. A la page « Options« , cocher « Remplacer la base de données existante (WITH REPLACE) » :

6. Valider par « OK« .

7. Mais le message d’erreur 3154 apparait :

TITRE : Microsoft SQL Server Management Studio
------------------------------
Échec de Restaurer pour Serveur « SRVSQL01 ». (Microsoft.SqlServer.SmoExtended)
Pour obtenir de l'aide, cliquez sur : https://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=16.200.48053.0&EvtSrc=Microsoft.SqlServer.Management.Smo.ExceptionTemplates.FailedOperationExceptionText&EvtID=Restaurer+Server&LinkId=20476
------------------------------
INFORMATIONS SUPPLÉMENTAIRES :
Une exception s'est produite lors de l'exécution d'un lot ou d'une instruction Transact-SQL. (Microsoft.SqlServer.ConnectionInfo)
------------------------------
Le jeu de sauvegarde contient la sauvegarde d'une base de données qui n'est pas la base de données 'BDD' existante.
RESTORE DATABASE s'est terminé anormalement. (Microsoft SQL Server, Erreur : 3154)
Pour obtenir de l'aide, cliquez sur : https://docs.microsoft.com/sql/relational-databases/errors-events/mssqlserver-3154-database-engine-error

 

Erreur lors d’un import par requête SQL

Pas mieux avec une restauration à l’aide d’une commande SQL :

RESTORE DATABASE BDD-TEST
FROM DISK = 'D:\Data\BACKUP.bak'
WITH REPLACE

Erreur affichée :

Msg 102, Niveau 15, État 1, Ligne 1
Syntaxe incorrecte vers '-'.
Msg 319, Niveau 15, État 1, Ligne 3
Syntaxe incorrecte près du mot clé 'with'. Si l'instruction est une expression de table commune, une clause xmlnamespaces ou une clause de contexte de suivi des modifications, l'instruction précédente doit se terminer par un point-virgule.

 

La solution à l’erreur 3154 de SQL Server

Pour restaurer une base de données à partir d’un fichier BAK sans erreur 3154, il suffit de réaliser cette procédure.

1. Depuis SQL Management Studio, faire un clic droit sur « Bases de données » et choisir « Restaurer les fichiers et les groupes de fichiers » :

2. A « Vers la base de données« , indiquer une base existante ou le nom d’une nouvelle base à créer.

3. Dans « A partir de la source« , indiquer où se trouve la sauvegarde .bak de la BDD à restaurer.

4. Cocher la base souhaitée et valider par « OK« .

5. La base a été correctement restaurée, sans erreur 3154.

Quitter la version mobile