Comment corriger la corruption et d'autres problèmes dans Change Data Capture (CDC) dans SQL Server ?


Dans SQL Server, Change Data Capture ou CDC surveille les processus d'insertion, de mise à jour et de suppression dans une table. Les modifications sont accessibles aux utilisateurs afin qu'ils puissent vérifier les changements de données. Il existe des tables de capture des données de changement qui stockent ces informations à partir du journal des transactions. L'agent SQL Server capture et vérifie ces données.

Quelques problèmes courants du CDC et leurs solutions

Vous trouverez ci-dessous une liste de problèmes courants liés au CDC et leurs solutions.

Problème 1 : Le CDC ne peut pas être activé

Solution : Si vous essayez d'activer le CDC, l'opération échouera si un schéma ou un utilisateur nommé CDC existe déjà. Dans ce cas, vous pouvez renommer ou supprimer l'utilisateur ou le schéma existant.

Pour supprimer un schéma appelé CDC, vous pouvez utiliser le code suivant :

SUPPRIMER LE SCHÉMA CDC

Remarque : Veillez à ce que tous les objets associés à ce schéma soient d'abord supprimés.

Pour supprimer un utilisateur nommé CDC, vous pouvez utiliser le code suivant :

DROP USER CDC

Vous pouvez également renommer le schéma existant. Pour ce faire, utilisez le code suivant :

EXEC sp_rename 'cdc', 'new_schema_name' ;

Problème 2 : Erreur lors de la modification des métadonnées du CDC

Solution : Des erreurs peuvent se produire lors de la modification des métadonnées du CDC, car vous ne devez pas modifier le schéma et les métadonnées du CDC en général. Il existe plusieurs objets système liés au CDC que vous ne devez pas modifier car ils peuvent influencer le comportement lors du registre des données de modification.

Vous trouverez ici quelques procédures courantes de systèmes stockés pour le CDC :

Tables du système CDC :

Problème 3 : Les journaux de transactions sont pleins

Solution : Toutes les transactions sont enregistrées dans les journaux des transactions. Si votre journal des transactions se remplit à cause du CDC, vous pouvez utiliser l'option Resumable Index. Cette option permet de tronquer le journal pour les transactions de longue durée.

Que dois-je faire si le CDC est endommagé ?

Si le CDC est corrompu, vous pouvez remettre la base de données à jour à partir de la dernière bonne sauvegarde. Pour remettre la base de données à partir de la sauvegarde, vous pouvez utiliser le code T-SQL suivant :

RESTORE DATABASE [stellardb] FROM DISK = N'C:\NBackupstellardb.bak' WITH FILE = 1, NOUNLOAD, STATS = 5

Ici, stellardb est le nom de la base de données et N'C:\NBackup\stellardb.bak est le bureau où la sauvegarde est stockée. Le fichier est FICHIER 1 et STAT = 5 indique la progression de la remise en état tous les 5%.

Vous pouvez également utiliser le SQL Server Management Studio (SSMS) pour remettre la base de données en état. Voici comment procéder :

  • Ouvrez SSMS et allez dans l'Explorateur d'objets.
  • Allez dans Bases de données et sélectionnez l'option Restaurer la base de données.
Restaurer la base de données
  • Sélectionnez la sauvegarde à remettre et appuyez sur OK.

Si vous ne disposez pas d'une sauvegarde actuelle ou si la sauvegarde est corrompue, vous pouvez utiliser un logiciel de réparation SQL tiers, tel que Stellar Repair for MS SQL. Ce logiciel peut vous aider si votre base de données est corrompue en mode CDC. Il peut réparer votre base de données et remettre tous les objets. Le logiciel peut réparer les fichiers MDF et NDF et peut également extraire les données des fichiers de sauvegarde corrompus. Stellar® Récupération de Données pour MS SQL soutient la réparation et la récupération des données des bases de données créées dans SQL Server 2022, 2019, 2017, 2016 et les versions antérieures.

Conclusion

Divers problèmes et erreurs peuvent survenir lors du registre des données de modification (CDC) dans le serveur SQL. Il arrive que les CDC soient corrompus pour diverses raisons. Dans cet article, nous avons abordé quelques problèmes courants liés aux CDC et leurs solutions. Si la base de données est corrompue, vous pouvez la remettre en état à partir de la dernière sauvegarde. Si vous ne disposez pas d'une sauvegarde récente, vous pouvez utiliser Stellar Repair for MS SQL pour réparer la base de données SQL corrompue et remettre toutes les données. Il vous suffit d'ajouter le fichier de données au logiciel pour qu'il répare le fichier. Le logiciel vous permet d'enregistrer les données réparées dans un nouveau fichier de base de données et dans divers autres formats.



Was this article helpful?
À propos de l'auteur
author image
Himanshu Shakya

Himanshu is a Tech Enthusiast & Blogger at Stellar and having knowledge of Japanese Language. And apart from this in his spare time he likes playing Chess.

Table des matières

POURQUOI STELLAR® EST LE LEADER MONDIAL

Pourquoi choisir Stellar?
  • 0M+

    CLIENTS

  • 0+

    Des années d'excellence

  • 0+

    INGÉNIEURS R&D

  • 0+

    PAYS

  • 0+

    TÉMOIGNAGES

  • 0+

    RÉCOMPENSES REÇUES