Exécuter des scripts pendant la synchronisation (programmation Transact-SQL de la réplication)

S'applique à : SQL Server

La réplication prend en charge l'exécution de script à la demande pour les Abonnés à des publications transactionnelles et de fusion. Cette fonctionnalité copie le script vers le répertoire de travail de réplication puis utilise sqlcmd pour appliquer le script à l'Abonné. Par défaut, en cas d'échec lors de l'application du script pour un abonnement à une publication transactionnelle, l'Agent de distribution s'arrêtera. Vous pouvez spécifier un script Transact-SQL à exécuter par programme à l'aide des procédures stockées de réplication.

Pour spécifier un script à exécuter pour tous les Abonnés à une publication d'instantané, transactionnelle ou de fusion

  1. Composez et testez le script Transact-SQL qui sera exécuté à la demande.

  2. Enregistrez le fichier de script dans un emplacement accessible à l'Agent d'instantané pour la publication.

  3. Dans la base de données de publication sur le serveur de publication, exécutez sp_addscriptexec (Transact-SQL). Spécifiez @publication, le nom du fichier de script avec le chemin UNC complet créé à l’étape 2 pour @scriptfile, et l’une des valeurs suivantes pour @skiperror :

    • 0 – l'agent arrêtera d'exécuter le script en cas d'erreur.

    • 1 – l'agent enregistrera les erreurs rencontrées et continuera à exécuter le script.

  4. Le script spécifié sera exécuté sur chaque Abonné lorsque l'agent s'exécutera de nouveau pour synchroniser l'abonnement.