Exécution de scripts avant et après l'application de la capture instantanée

Vous pouvez spécifier les scripts à exécuter sur l'Abonné avant ou après l'application de la capture instantanée. Les scripts peuvent être utilisés à diverses fins, par exemple pour créer des connexions et des schémas (propriétaires d'objets) sur chaque Abonné.

Vous spécifiez un emplacement de fichier pour chaque script et l'Agent de capture instantanée copie les fichiers de script dans le dossier de capture instantanée actif à chaque traitement de capture instantanée. L'Agent de distribution ou l'Agent de fusion exécute le script antérieur à la capture instantanée avant tout autre script d'objet répliqué lors de l'application d'une capture instantanée. Il exécute le script postérieur à la capture instantanée après l'application de tous les autres scripts et données d'objets répliqués. Au terme de l'application de la capture instantanée et de l'exécution correcte des fichiers de script, ces derniers sont supprimés du répertoire de travail sur l'Abonné.

Le script est exécuté par le démarrage de l'utilitaire sqlcmd. Avant de déployer un script, exécutez-le avec sqlcmd pour vérifier qu'il s'exécute comme prévu. Le contenu des scripts exécutés avant et après l'application de la capture instantanée doit être renouvelable. Si, par exemple, vous créez une table dans le script, commencez par vérifier qu'elle existe et, dans l'affirmative, procédez de la façon appropriée. Le script doit être renouvelable car, s'il est nécessaire de réinitialiser un abonnement dont le script a déjà été appliqué, ce dernier sera réexécuté lors de l'application de la nouvelle capture instantanée au cours de la réinitialisation.

Si vous compressez le fichier de capture instantanée (en le convertissant au format de fichier Microsoft CAB), les scripts sont également compressés et placés dans le fichier CAB. Après le transfert du fichier de capture instantanée compressé vers l'Abonné et sa décompression dans un répertoire de travail sur l'Abonné, tout script indiqué comme script antérieur à la capture instantanée est exécuté. De même, tous les scripts postérieurs à la capture instantanée sont décompressés et exécutés sur l'Abonné lors de l'étape finale de l'application de la capture instantanée.

Important

Vous pouvez exécuter des scripts lors de l'application de la capture instantanée sur les Abonnés exécutant Microsoft SQL Server 7.0 si vous utilisez des abonnements envoyés et si le serveur de distribution exécute SQL Server 2000 ou ultérieur. Vous ne pouvez pas exécuter de scripts lors de l'application de la capture instantanée sur des Abonnés exécutant SQL Server 7.0 si vous utilisez des abonnements extraits.

Pour exécuter des scripts avant et après l'application de la capture instantanée