dimanche 18 novembre 2012

Transaction expliquant Connexion SQL Server et le cas d'erreur 9004

La plupart des idées fausses dans SQL Server tournent autour de l'exploitation forestière et des mécanismes de recouvrement. Certaines personnes pensent que pourquoi il faut tant de temps pour ramener une base de données à la normale après un accident. Ce concept se rapporte à l'exploitation forestière et de récupération, qui est une partie intégrante du moteur de stockage de SQL Server. Si une opération est effectuée dans SGBDR (système de gestion de base de données), il est connecté à la fois au niveau physique et logique pour enregistrer toutes les modifications apportées aux structures de stockage de la base de données. Un changement correspond à un enregistrement de journal. Ces changements peuvent être inversées en cas de besoin et sont stockés dans un fichier séparé appelé le journal des transactions. La journalisation des transactions a un rôle central à jouer dans MS SQL Server. Dans le cas d'une collision, toutes les modifications apportées par les transactions validées sont reflétées dans la base de données. En outre, toutes les transactions qui ont été laissés non validées ne seront pas reflétées dans la base de données. Si ces journaux de transaction corrompue, récupération peut échouer et rendre votre base de données incohérente. Par conséquent, vous faites face à la perte de données.

Par exemple, lorsque vous essayez d'attacher une base de données SQL, vous pouvez recevoir l'erreur 9004 qui stipule:

"Une erreur s'est produite lors du traitement du journal de base de données« employé ». Si possible, restaurer à partir de sauvegarde. Si une sauvegarde n'est pas disponible, il peut être nécessaire de reconstruire le journal.

L'erreur ci-dessus est habituellement observée lorsque les journaux de transactions sont corrompus. Cette corruption journal des transactions peut être traçables à des pannes matérielles, des pilotes corrompus, les accidents d'application, et une question moteur SQL Server.

Si vous avez une sauvegarde de base de données à jour, vous pouvez facilement restaurer votre base de données à partir de cette sauvegarde. Dans le cas où vous n'avez pas une sauvegarde, vous pouvez essayer de reconstruire le journal des transactions en suivant la procédure indiquée:

  • Initialement, créer une nouvelle base qui porte le même nom et la présentation du fichier physique.
  • Arrêtez votre base de données.
  • Déplacez les fichiers vers la base de données vide que vous devez joindre.
  • Si la base de données est marquée comme «suspect» par SQL Server , mettez la base en mode d'urgence.
  • Ensuite, exécutez DBCC CHECKDB avec 'REPAIR_ALLOW_DATA_LOSS ».

Vous pouvez également exécuter 'CREATE DATABASE FOR ATTACH_REBUILD_LOG' ordre de rebâtir le journal.

Aucun commentaire:

Enregistrer un commentaire

Thanks for your valuable comment !