J'ai un travail de sauvegarde de transaction qui fonctionne toutes les heures.
Tout d'abord, il exécute une sauvegarde du journal de base de données à un autre lecteur, puis il rétrécit le journal et supprime l'ancien .trn
des dossiers.
La tâche du milieu réduit le logiciel du journal, en utilisant ce code:
USE myDB
DBCC SHRINKFILE('myDB_LOG', 0, TRUNCATEONLY)
Cependant, parfois j'ai reçu l'erreur suivante.
Description: Exécution de la requête "Utilisez MyDB DBCC Shrinkfile ('MyDB_Log" ... "Échec de l'erreur suivante:" Sauvegarde, les opérations de manipulation de fichiers (telles que l'alter Databate Ajouter un fichier) et les modifications de cryptage sur une base de données doivent être sérialisées. Réuisse le Déclaration Une fois l'opération actuelle de la sauvegarde ou de la manipulation de fichiers terminée. Changement de contexte de la base de données sur 'MyDB'. ". Raisons de défaillance possibles: problèmes de la requête," Resultats "non définis correctement, les paramètres non définis correctement ou la connexion non établie correctement. Erreur de fin DTEXEC: L'exécution de l'emballage renvoyé dtser_failure (1). Début: 22:00:19 Terminé: 22:04:17 écoulés: 238.26 secondes. L'exécution de l'emballage a échoué. L'étape a échoué.
Pourquoi cela arrive-t-il?
Y a-t-il un meilleur moyen de sauvegarder et de réduire le journal de la base de données?
Il n'est pas nécessaire d'exécuter la commande shrinkfile après avoir pris la sauvegarde du journal de transaction. Quel est le besoin de rétrécissement d'un fichier journal qui pourrait finir à nouveau? C'est une gaffe à mon avis, compte tenu du fait que vous le faites tous les jours.
Chaque fois que le fichier journal augmente, les transactions doivent attendre que cet événement se termine afin que SQL Server soit toujours jusqu'à ce que cette croissance se produise et compte tenu du fait que l'initialisation du fichier instantané n'est pas là pour les fichiers journaux qu'il prend du temps pour que ces événements de croissance se terminent, à son tour. entravent les performances.
Concernant le message d'erreur
Sauvegarde, les opérations de manipulation de fichiers (telles que Alter Database Ajouter un fichier) et les modifications de cryptage sur une base de données doivent être sérialisées. Rédigez la déclaration après la fin de l'opération actuelle de la sauvegarde ou de la manipulation de fichier est terminée.
Cela signifie que vous essayiez d'exécuter la commande DBCC Shrinfile lorsque certaines opérations de sauvegarde fonctionnaient dans la base de données. Il peut s'agir d'une sauvegarde du journal complet, différentiel et transaction. Tout ce message dit que s'il vous plaît essayez d'exécuter la commande Shrikfile lorsque l'opération de sauvegarde est terminée. Maintenant, vous devez trouver quelle sauvegarde fonctionnait à cette époque. Voir Historique des tâches ERRRLOG ou MSDB que vous pouvez trouver plus de détails.
Si vous vous référez à [~ # ~] bol [~ # ~ ~]
Les opérations qui ne peuvent pas exécuter pendant une base de données ou une sauvegarde de journal de transaction incluent:
• Opérations de gestion de fichiers tels que l'instruction Alter Database avec le fichier Ajout ou Supprimer les options de fichier.
• Rétrécir la base de données ou les opérations de fichier rétrécissez. Cela inclut les opérations de rétrécissement automatique.