Je dois vérifier pourquoi une sauvegarde de base de données a échoué dans l'un de nos systèmes.
Le journal indique ce qui suit:
BACKUP n'a pas pu terminer la commande BACKUP LOG XXXXXX. Consultez le journal de l'application de sauvegarde pour les messages détaillés.
Je suis allé dans les journaux des événements Windows, j'ai vérifié les journaux des applications et je devine ce que j'ai trouvé pour cette erreur spécifique dans ces journaux
BACKUP n'a pas pu terminer la commande BACKUP LOG XXXXXX. Consultez le journal de l'application de sauvegarde pour les messages détaillés.
Où le journal de l'application de sauvegarde réelle est-il stocké par défaut?
ouvrez SSMS et connectez-vous à la base de données allez dans GESTION> PLAN DE MAINTENANCE> choisissez votre plan de sauvegarde. > clic droit et afficher l'historique.
ou à GESTION> journaux du serveur sql.
emplacement du répertoire: c:\Program Files\Microsoft SQL Server\MSSQL.xx\MSSQL\LOG
La seule information que SQL Server capture elle-même est ce que vous avez déjà cité:
BACKUP n'a pas pu terminer la commande XXXXXX. Consultez le journal de l'application de sauvegarde pour les messages détaillés.
C'est tout ce qui apparaîtra dans le journal des erreurs SQL (SSMS> Gestion> Journaux SQL Server) et dans le journal des erreurs de l'application Windows de MSSQLSERVER.
Quand il dit "vérifier le journal de l'application de sauvegarde", cela signifie vérifier le journal (s'il y en a un) de l'application qui a réellement effectué la sauvegarde:
Si vous ne le trouvez nulle part ailleurs, l'erreur plus détaillée peut ne pas avoir été capturée. Le package SSIS n'a peut-être pas été configuré pour effectuer une journalisation détaillée, ou peut-être que quelqu'un a exécuté une sauvegarde manuelle dans l'interface graphique mais a ignoré ou corrigé l'erreur à l'écran. Vous devrez peut-être savoir qui a tenté d'exécuter la sauvegarde et leur demander pourquoi elle a échoué.
Cher cette erreur se produit normalement si vous n'avez pas de sauvegarde complète .... avec quelques raisons si le calendrier de sauvegarde complète ne s'est pas terminé, il donnera cette erreur
Ce que vous pouvez faire est d'exécuter le plan de sauvegarde complète ou d'attendre que le travail de sauvegarde complète se termine avec succès, puis automatiquement, il commencera à prendre des sauvegardes toutes les heures
J'ai eu le même problème. Sauvegarde des bases de données avec un PS.Script. Les informations du journal n'étaient pas utiles. La cause était un timeout de mon script PowerShell.
Un paramètre de "$ server.ConnectionContext.StatementTimeout = 0" n'aidait pas
$ ret = Invoke-Sqlcmd -Query $ SQLStatement -ServerInstance $ ServerName -ErrorAction 'Stop' - - QueryTimeOut 6
La définition de QueryTimeOut faisait l'affaire.