Si vous essayez de sauvegarder les journaux de transactions dans une base de données SQL Server ou SQL Edge, mais que vous obtenez une erreur indiquant que BACKUP LOG ne peut pas être effectué car il n'y a pas de sauvegarde de base de données actuelle , vous devrez effectuer au moins une sauvegarde complète de la base de données avant de tenter de sauvegarder les journaux de transactions.
L'erreur
Voici un exemple de code qui génère l'erreur :
BACKUP LOG Music
TO DISK = '/var/opt/mssql/backups/Music.trn';
Résultat :
Msg 4214, Level 16, State 1, Line 1 BACKUP LOG cannot be performed because there is no current database backup.
La raison
Cette erreur se produit chaque fois que vous essayez de sauvegarder le journal des transactions sans avoir exécuté au préalable une sauvegarde complète de la base de données.
Vous devez avoir créé au moins une sauvegarde complète avant de pouvoir créer des sauvegardes de journaux.
La solution
Tout ce que vous avez à faire est de créer au moins une sauvegarde complète de la base de données avant d'essayer de sauvegarder les fichiers journaux.
Exemple :
BACKUP DATABASE Music
TO DISK = '/var/opt/mssql/backups/Music.bak'
WITH FORMAT;
Désormais, les journaux de transactions peuvent être sauvegardés selon les besoins :
BACKUP LOG Music
TO DISK = '/var/opt/mssql/backups/Music.trn';
Résultat :
Processed 3 pages for database 'Music', file 'Music_log' on file 1.