PRB : Bulk Operations en résultat de tables dans les lignes non répliquée dans la réplication de fusion

Traductions disponibles Traductions disponibles
Numéro d'article: 275680 - Voir les produits auxquels s'applique cet article
Agrandir tout | Réduire tout

Sommaire

Symptômes

Lorsque vous utilisez en bloc opérations telles que l'utilitaire de ligne de commande bcp, instructions BULK INSERT de Transact-SQL, l'API de copie en bloc ou SQL Server Transformation de données (DTS), pour charger des données dans les tables faisant partie de la réplication de fusion, à moins que certaines mesures soient prises, les lignes insérées ne sont pas répliqués vers d'autres serveurs.

Cause

Car ces opérations en bloc sont optimisées pour les charges rapides et efficaces de grandes quantités de données, par défaut qu'ils ne déclenchent pas déclencheurs sur la table qui reçoit les données insérées. Étant donné que la réplication de fusion nécessite l'utilisation des triggers système sur des tables participants pour suivre les modifications apportées entre l'éditeur et abonné, si les déclencheurs ne sont pas déclenchés, réplication de fusion ne peut pas répliquer les lignes.

Contournement

La solution de contournement pour ce problème dépend de la méthode que vous utilisez pour effectuer la copie en bloc des données et la version de SQL Server que vous utilisez :

  • Si vous utilisez SQL Server DTS d'insérer des lignes, désactivez l'option de Charge utiliser Fast (activée par défaut) sous l'onglet Options de la feuille de propriétés de Tâche de transformation de données. Toutefois, notez que la tâche Insertion en bloc SQL Server 2000 n'expose pas la possibilité de modifier l'option Utiliser Fast charger, est uniquement la tâche de transformation des données.

  • Si vous utilisez l'utilitaire de ligne de commande bcp ou l'instruction Transact-SQL BULK INSERT dans SQL Server 2000, vous devez utiliser l'option FIRE_TRIGGERS. Notez que l'option FIRE_TRIGGERS n'est pas disponible dans SQL Server version 7.0. Dans la mesure où le FIRE_TRIGGERS option pour les opérations en bloc dans SQL Server version 7.0 n'est pas disponible, toute opération en bloc en dehors de DTS entraîne lignes ne pas répliqués vers les abonnés.

  • Lorsque vous utilisez l'API de copie en bloc par le biais d'ODBC, vous devez activer l'option FIRE_TRIGGERS sur la poignée de la connexion appropriée à l'aide d'un appel à la fonction bcp_control().

  • Lorsque vous utilisez l'interface IRowsetFastLoad OLE DB, spécifiez l'option FIRE_TRIGGERS pour la propriété SSPROP_FASTLOADOPTIONS sur l'interface IOpenRowset.

Plus d'informations

Insertion, suppression et commandes de mise à jour doivent être répliqués dans une publication de réplication de fusion sont suivies par l'agent de fusion lorsqu'ils sont ajoutés aux tables MSmerge_contents et MSmerge_tombstone. Les lignes sont ajoutées à ces tables par le biais de triggers système créées sur les tables au cours de l'installation de réplication.

Opérations en bloc ne pas vérifier les contraintes de table ou de déclenche les déclencheurs au niveau de la table de destination. Par conséquent, les déclencheurs de système de réplication de fusion ne sont pas déclenchés. Dans la mesure où ces déclencheurs ne sont pas déclenchés, les lignes qui sont «touché» par insertion en bloc opérations ne sont pas ajoutées à la table MSmerge_contents et par conséquent ne sont pas répliquées aux abonnés.

RÉFÉRENCES

Pour plus d'informations sur les effets du déclencheur de l'exécution aux tables de destination lorsque l'option FIRE_TRIGGERS est spécifiée, consultez la rubrique «Utilisation de bcp et BULK INSERT» dans en ligne de SQL Server 2000.

Propriétés

Numéro d'article: 275680 - Dernière mise à jour: vendredi 31 octobre 2003 - Version: 3.2
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft SQL Server 2000 Standard
  • Microsoft SQL Server 7.0 Standard
Mots-clés : 
kbmt kbprb KB275680 KbMtfr
Traduction automatique
IMPORTANT : Cet article est issu du système de traduction automatique mis au point par Microsoft (http://support.microsoft.com/gp/mtdetails). Un certain nombre d?articles obtenus par traduction automatique sont en effet mis à votre disposition en complément des articles traduits en langue française par des traducteurs professionnels. Cela vous permet d?avoir accès, dans votre propre langue, à l?ensemble des articles de la base de connaissances rédigés originellement en langue anglaise. Les articles traduits automatiquement ne sont pas toujours parfaits et peuvent comporter des erreurs de vocabulaire, de syntaxe ou de grammaire (probablement semblables aux erreurs que ferait une personne étrangère s?exprimant dans votre langue !). Néanmoins, mis à part ces imperfections, ces articles devraient suffire à vous orienter et à vous aider à résoudre votre problème. Microsoft s?efforce aussi continuellement de faire évoluer son système de traduction automatique.
La version anglaise de cet article est la suivante: 275680
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.

Envoyer des commentaires

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com