Procédure : valider les données sur l'Abonné (programmation Transact-SQL de la réplication)
La réplication permet de valider par programmation que les données sur l'Abonné correspondent aux données du serveur de publication à l'aide de procédures stockées de réplication, où les procédures utilisées dépendent du type de topologie de réplication.
Pour valider les données pour tous les articles d'une publication transactionnelle
Dans la base de données de publication du serveur de publication, exécutez sp_publication_validation (Transact-SQL). Spécifiez @publication et l'une des valeurs suivantes pour @rowcount_only :
1 - contrôle du nombre de lignes uniquement (par défaut)
2 - nombre de lignes et somme de contrôle binaire.
[!REMARQUE]
Lorsque vous exécutez sp_publication_validation (Transact-SQL), sp_article_validation (Transact-SQL) est exécuté pour chaque article de la publication. Pour exécuter sp_publication_validation (Transact-SQL)avec succès, vous devez avoir les autorisations SELECT sur toutes les colonnes des tables de la base publiée.
(Facultatif) Démarrez l'Agent de distribution pour chaque abonnement s'il n'est pas déjà en cours d'exécution. Pour plus d'informations, consultez Procédure : synchroniser un abonnement par extraction de données (pull) (Programmation de la réplication) et Procédure : synchroniser un abonnement par envoi de données (push) (Programmation de la réplication).
Vérifiez la sortie de l'agent pour le résultat de la validation. Pour plus d'informations, consultez Validation des données répliquées.
Pour valider les données d'un seul article d'une publication transactionnelle
Dans la base de données de publication du serveur de publication, exécutez sp_article_validation (Transact-SQL). Spécifiez @publication, le nom de l'article pour @article et l'une des valeurs suivantes pour @rowcount_only :
1 - contrôle du nombre de lignes uniquement (par défaut)
2 - nombre de lignes et somme de contrôle binaire.
[!REMARQUE]
Pour exécuter sp_article_validation (Transact-SQL)avec succès, vous devez avoir les autorisations SELECT sur toutes les colonnes de la table de la base publiée.
(Facultatif) Démarrez l'Agent de distribution pour chaque abonnement s'il n'est pas déjà en cours d'exécution. Pour plus d'informations, consultez Procédure : synchroniser un abonnement par extraction de données (pull) (Programmation de la réplication) et Procédure : synchroniser un abonnement par envoi de données (push) (Programmation de la réplication).
Vérifiez la sortie de l'agent pour le résultat de la validation. Pour plus d'informations, consultez Validation des données répliquées.
Pour valider les données d'un seul abonné d'une publication transactionnelle
Sur la base de données de publication du serveur de publication, ouvrez une transaction explicite à l'aide de BEGIN TRANSACTION (Transact-SQL).
Dans la base de données de publication du serveur de publication, exécutez sp_marksubscriptionvalidation (Transact-SQL). Spécifiez la publication pour @publication, le nom de l'Abonné pour @subscriber et le nom de la base de données d'abonnement pour @destination_db.
(Facultatif) Répétez l'étape 2 pour chaque abonnement en cours de validation.
Dans la base de données de publication du serveur de publication, exécutez sp_article_validation (Transact-SQL). Spécifiez @publication, le nom de l'article pour @article et l'une des valeurs suivantes pour @rowcount_only :
1 - contrôle du nombre de lignes uniquement (par défaut)
2 - nombre de lignes et somme de contrôle binaire.
[!REMARQUE]
Pour exécuter sp_article_validation (Transact-SQL)avec succès, vous devez avoir les autorisations SELECT sur toutes les colonnes de la table de la base publiée.
Sur la base de données de publication du serveur de publication, validez la transaction à l'aide de COMMIT TRANSACTION (Transact-SQL).
(Facultatif) Répétez les étapes 1 à 5 pour chaque article en cours de validation.
(Facultatif) Démarrez l'Agent de distribution s'il n'est pas déjà en cours d'exécution. Pour plus d'informations, consultez Procédure : synchroniser un abonnement par extraction de données (pull) (Programmation de la réplication) et Procédure : synchroniser un abonnement par envoi de données (push) (Programmation de la réplication).
Vérifiez la sortie de l'agent pour le résultat de la validation. Pour plus d'informations, consultez Procédure : valider des données sur l'Abonné (SQL Server Management Studio).
Pour valider les données de tous les abonnements à une publication de fusion
Dans la base de données de publication du serveur de publication, exécutez sp_validatemergepublication (Transact-SQL). Spécifiez @publication et l'une des valeurs suivantes pour @level :
1 - validation du nombre de lignes uniquement.
3 - validation de la somme de contrôle binaire du nombre de lignes.
Tous les abonnements sont ainsi marqués pour la validation.
Démarrez l'agent de fusion pour chaque abonnement. Pour plus d'informations, consultez Procédure : synchroniser un abonnement par extraction de données (pull) (Programmation de la réplication) et Procédure : synchroniser un abonnement par envoi de données (push) (Programmation de la réplication).
Vérifiez la sortie de l'agent pour le résultat de la validation. Pour plus d'informations, consultez Procédure : valider des données sur l'Abonné (SQL Server Management Studio).
Pour valider les données des abonnements sélectionnés à une publication de fusion
Dans la base de données de publication du serveur de publication, exécutez sp_validatemergesubscription (Transact-SQL). Specify @publication, le nom de l'Abonné pour @subscriber, le nom de la base de données d'abonnement pour @subscriber_db et l'une des valeurs suivantes pour @level:
1 - validation du nombre de lignes uniquement.
3 - validation de la somme de contrôle binaire du nombre de lignes.
Les abonnements sélectionnés sont ainsi marqués pour la validation.
Démarrez l'agent de fusion pour chaque abonnement. Pour plus d'informations, consultez Procédure : synchroniser un abonnement par extraction de données (pull) (Programmation de la réplication) et Procédure : synchroniser un abonnement par envoi de données (push) (Programmation de la réplication).
Vérifiez la sortie de l'agent pour le résultat de la validation.
Répétez les étapes 1 à 3 pour chaque abonnement en cours de validation.
[!REMARQUE]
Un abonnement à une publication de fusion peut également être validé à la fin d'une synchronisation en spécifiant le paramètre -Validate lors de l'exécution de l'Agent de fusion de réplication.
Pour valider les données d'un abonnement à l'aide de paramètres de l'Agent de fusion
Démarrez l'Agent de fusion sur l'Abonné (abonnement par extraction) ou sur le serveur de distribution (abonnement par émission de données) à partir de l'invite de commandes de l'une des façons suivantes.
Spécifiez une valeur de 1 (nombre de lignes) ou 3 (nombre de lignes et somme de contrôle de binaire) pour le paramètre -Validate.
Spécifiez la validation du nombre de lignes ou le nombre de lignes et la validation de la somme de contrôle pour le paramètre -ProfileName.
Pour plus d'informations, consultez Procédure : synchroniser un abonnement par extraction de données (pull) (Programmation de la réplication) ou Procédure : synchroniser un abonnement par envoi de données (push) (Programmation de la réplication).