Bonjour, Je dispose d'une base de données de production et de sa base de données de rapports répliquée. Comment réduire les fichiers du journal des transactions dans la base de données de production lorsque la taille du fichier journal augmente. J'ai essayé commandes DBCC SHRINKFILE et SHRINKDATABASE mais cela ne fonctionne pas pour moi. Je ne peux pas détacher et rétrécir et attacher à nouveau en tant que db dans la réplication. Aidez-moi s'il vous plaît dans ce numéro.Comment réduire la journalisation des transactions dans la base de données du serveur SQL dans la réplication
Répondre
Avez-vous un calendrier de sauvegarde régulier en place?
Sinon, je vous suggère de lire cet excellent article: 8 Steps to better Transaction Log throughput
La base de données ne vous permet pas de supprimer les données de transaction qui ne sont pas sauvegardées. Vous devez d'abord sauvegarder le journal des transactions, puis vous pouvez le réduire.
Que j'ai essayé, mais n'a pas fonctionné pour moi.La taille n'est pas encore diminuée –
Si votre base de données est en mode de récupération complète, vous devez vous assurer que vous effectuez une sauvegarde du journal des transactions ainsi qu'une sauvegarde de base de données. – KSimons
Réduction de la taille du fichier journal avec DBCC SHRINKFILE
Puis tronquer le fichier journal à l'aide
databaseName sauvegarde avec truncate_only
rétrécir ensuite le fichier journal à nouveau
je Red-Gate's SQL Backup outil prends soin de la sauvegarde. Ensuite, je viens d'utiliser la console de gestion pour émettre une commande de rétrécissement sur le fichier journal (en lui disant de réorganiser les pages avant de libérer l'espace inutilisé).
Fonctionne comme un charme.
Vérifiez d'abord ce qui est l'origine de votre base de données de ne pas diminuer en exécutant:
SELECT name, log_reuse_wait_desc FROM sys.DATABASES
Si vous êtes bloqué par une transaction, trouver dont une avec:
DBCC OPENTRAN
Tuez l'opération et réduire votre db. Si la cause du blocage est 'REPLICATION' et que vous êtes sûr que vos réplicas sont synchronisés, vous devrez peut-être réinitialiser l'état des transactions répliquées. Pour voir l'état de ce que la base de données pense encore à répliquer l'utilisation:
DBCC loginfo
Vous pouvez réinitialiser ce en tournant d'abord l'agent DESACTIVE (En général, je tourner l'ensemble Agent SQL Server off), puis exécutez cette requête sur la base de données pour laquelle vous voulez résoudre le problème de réplication:
EXEC sp_repldone @xactid = NULL, @xact_segno = NULL, @numtrans = 0, @time= 0, @reset = 1
Fermer la connexion où vous avez exécuté cette requête et redémarrez l'Agent SQL Server (ou tout simplement l'agent Reader). Vous devriez être prêt à réduire votre DB maintenant.
Solution exacte dont j'avais besoin - résolu mon problème de journal. – Dragonsdoom
- 1. Quelle est la fiabilité de la réplication du serveur SQL?
- 2. la journalisation des transactions mercurial
- 3. Transactions dans la base de données wordpress
- 4. Comment puis-je réduire les données dans une réplication SQL?
- 5. Quelle est la meilleure façon d'implémenter la journalisation lors de transactions dans T-SQL?
- 6. Comment stocker et récupérer des images dans la base de données du serveur SQL via VB.NET
- 7. Comment fonctionne la réplication dans le serveur de fondation d'équipe
- 8. Meilleure façon de synchroniser la base de données client avec la base de données du serveur
- 9. Exemple de SQL pour la journalisation des exceptions à la base de données à l'aide du bloc d'application
- 10. SQL Server 2005, réduction de la base de données de réplication
- 11. SQL Server: Comment augmenter la taille du journal des transactions?
- 12. Réplication du serveur SQL - Obtenir la dernière date de synchronisation de la requête
- 13. Base de données de production séparée pour la journalisation
- 14. Rupture de la réplication SQL Server
- 15. Stockage des objets polymorphes dans la base de données SQL
- 16. Base de données du serveur SQL "Lost"
- 17. Comment réduire le journal des transactions sur les bases de données MS SQL 2000?
- 18. Incertitude dans la réplication
- 19. Réplication de base de données
- 20. Réduire la sortie de journalisation de Fluent NHibernate
- 21. Enregistrement des données binaires dans la base de données SQL SErver dans vb.net
- 22. Insérer dans la base de données oracle
- 23. Chargement des données dans la base de données distante
- 24. Options de réplication de la base de données Microsoft SQL Server vers MySQL/PostgreSQL sous Linux
- 25. Comment stockez-vous des thèmes dans la base de données?
- 26. Comment vérifier l'état de la réplication SQL via T-SQL?
- 27. Comment puis-je transformer la base de données à partir du serveur SQL 2005-2000
- 28. Obtenir la liste des colonnes calculées dans la table de base de données (SQL Server)
- 29. Copier la base de données SQL Server dans le code
- 30. Comment surveiller et trouver des index inutilisés dans la base de données SQL
non je n'ai pas de planification de sauvegarde.J'ai besoin de supprimer le journal de synchronisation –
La raison pour laquelle vous avez un journal de transactions volumineux est que vous ne sauvegardez pas régulièrement votre base de données. –