CORRECTIF : Agent de distribution peut échouer après avoir ajouté ou supprimer une colonne pour un article publié

Traductions disponibles Traductions disponibles
Numéro d'article: 837231 - Voir les produits auxquels s'applique cet article
Bogue #: 471158 (SQL Server 8.0)
Les correctifs Microsoft SQL Server 2000 sont distribués sous un fichier téléchargeable. Les correctifs étant cumulatifs, chaque nouvelle version contient tous les correctifs et tous les correctifs de sécurité qui étaient fournis avec le SQL Server 2000 précédente version du correctif.
Agrandir tout | Réduire tout

Sommaire

Symptômes

Lorsque vous ajoutez une colonne à un article publié ou supprimer une colonne d'un article publié et l'article participe une réplication transactionnelle, l'agent de distribution correspondante peut s'exécute pas correctement. Vous pouvez recevoir un message d'erreur est semblable à la suivante :
Guillemet unclosed avant la chaîne de caractères « Column Name ».
Ce problème peut se produire lorsque les conditions suivantes sont remplies :
  • L'article est configuré pour utiliser commandes SQL pour répliquer la commande INSERT, la commande de mise à jour ou la commande DELETE vers les abonnés correspondants.
  • Les modifications, telles qu'insertions, mises à jour et suppressions effectuées sur de l'article correspondant dans l'éditeur ne sont pas encore appliquées aux abonnés.

Résolution

Informations sur le service pack

Pour résoudre ce problème, procurez-vous le dernier service pack Microsoft SQL Server 2000. Pour plus d'informations, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
290211 Comment obtenir le dernier pack de service SQL Server 2000

Informations sur le correctif

La version anglaise de ce correctif dispose des attributs de fichier (ou version ultérieure) répertoriés dans le tableau suivant. Les dates et heures de ces fichiers sont exprimées en coordinated universal temps (UTC). Lorsque vous affichez les informations de fichier, il est convertie en heure locale. Pour connaître le décalage entre l'heure UTC et l'heure locale, utilisez l'onglet Fuseau horaire dans l'outil Date et heure du Panneau de configuration.
   Date         Time   Version        Size       File name 
   --------------------------------------------------------- 
   31-May-2003  18:45  2000.80.818.0     78,400  Console.exe 
   28-Oct-2003  04:21  2000.80.873.0    315,968  Custtask.dll 
   30-Jan-2004  16:29  2000.80.911.0     33,340  Dbmslpcn.dll 
   25-Apr-2003  02:12                   786,432  Distmdl.ldf 
   25-Apr-2003  02:12                 2,359,296  Distmdl.mdf 
   30-Jan-2003  01:55                       180  Drop_repl_hotfix.sql 
   12-Sep-2003  03:26  2000.80.859.0  1,905,216  Dtspkg.dll 
   26-Aug-2003  20:16  2000.80.854.0    528,960  Dtspump.dll 
   23-Jun-2003  22:40  2000.80.837.0  1,557,052  Dtsui.dll 
   23-Jun-2003  22:40  2000.80.837.0    639,552  Dtswiz.dll 
   24-Apr-2003  02:51                   747,927  Instdist.sql 
   03-May-2003  01:56                     1,581  Inst_repl_hotfix.sql 
   30-Jan-2004  16:29  2000.80.911.0     90,692  Msgprox.dll 
   01-Apr-2003  02:07                     1,873  Odsole.sql 
   30-Jan-2004  16:29  2000.80.911.0     62,024  Odsole70.dll 
   30-Jan-2004  16:29  2000.80.911.0     25,144  Opends60.dll 
   30-Jan-2004  16:28  2000.80.911.0     57,904  Osql.exe 
   02-Apr-2003  23:15  2000.80.797.0    279,104  Pfutil80.dll 
   04-Aug-2003  18:17                   550,780  Procsyst.sql 
   12-Sep-2003  00:37                    12,305  Qfe469315.sql 
   22-May-2003  22:57                    19,195  Qfe469571.sql 
   30-Jan-2004  01:16                 1,090,380  Replmerg.sql 
   30-Jan-2004  16:29  2000.80.911.0    221,768  Replprov.dll 
   30-Jan-2004  16:29  2000.80.911.0    307,784  Replrec.dll 
   29-Jan-2004  23:24  2000.80.911.0    159,813  Replres.rll 
   06-Sep-2003  00:00                 1,087,150  Replsys.sql 
   13-Aug-2003  16:28                   986,603  Repltran.sql 
   30-Jan-2004  16:29  2000.80.911.0    287,304  Rinitcom.dll 
   30-Jan-2004  16:29  2000.80.911.0     57,916  Semnt.dll 
   29-Jul-2003  20:13  2000.80.819.0    492,096  Semobj.dll 
   31-May-2003  18:27  2000.80.818.0    172,032  Semobj.rll 
   02-Jan-2004  19:42  2000.80.904.0     53,832  Snapshot.exe 
   09-Dec-2003  20:07                   117,834  Sp3_serv_uni.sql 
   05-Feb-2004  00:46  2000.80.913.0     28,672  Sqlagent.dll 
   05-Feb-2004  00:47  2000.80.913.0    311,872  Sqlagent.exe 
   19-Feb-2004  18:02  2000.80.916.0    168,001  Sqlakw32.dll 
   30-Jan-2004  16:29  2000.80.911.0  4,215,360  Sqldmo.dll 
   07-Apr-2003  17:44                    25,172  Sqldumper.exe 
   29-Jan-2004  23:17  2000.80.911.0     28,672  Sqlevn70.rll 
   05-Mar-2004  17:13  2000.80.922.0    180,792  Sqlmap70.dll 
   03-Sep-2003  02:56  2000.80.857.0    188,992  Sqlmmc.dll 
   02-Sep-2003  23:03  2000.80.857.0    479,232  Sqlmmc.rll 
   22-Oct-2003  00:08  2000.80.871.0    401,984  Sqlqry.dll 
   30-Jan-2004  16:29  2000.80.911.0     57,920  Sqlrepss.dll 
   09-Mar-2004  19:54  2000.80.922.0  7,614,545  Sqlservr.exe 
   30-Jan-2004  16:29  2000.80.911.0    590,396  Sqlsort.dll 
   30-Jan-2004  16:29  2000.80.911.0     45,644  Sqlvdi.dll 
   30-Jan-2004  16:29  2000.80.911.0    106,588  Sqsrvres.dll
   30-Jan-2004  16:29  2000.80.911.0     33,340  Ssmslpcn.dll
   30-Jan-2004  16:29  2000.80.911.0     82,492  Ssnetlib.dll 
   30-Jan-2004  16:29  2000.80.911.0     25,148  Ssnmpn70.dll 
   28-Oct-2003  04:21  2000.80.873.0    123,456  Stardds.dll 
   30-Jan-2004  16:29  2000.80.911.0    158,240  Svrnetcn.dll 
   30-Jan-2004  16:29  2000.80.911.0     76,416  Svrnetcn.exe 
   30-Apr-2003  23:52  2000.80.816.0     45,132  Ums.dll 
   30-Jan-2004  16:29  2000.80.911.0     98,872  Xpweb70.dll
note En raison des dépendances de fichiers, la fonctionnalité qui contient ces fichiers ou correctif plus récent peut également contenir des fichiers supplémentaires.

Contournement

Pour contourner ce problème, vous devez configurer l'article utiliser les procédures stockées pour répliquer la commande INSERT, la commande de mise à jour ou la commande DELETE vers les abonnés correspondants. Pour ce faire, procédez comme suit dans l'éditeur :
  1. Exécutez le code suivant pour supprimer tous les abonnements à votre article :
    USE Publication Database
    GO
    
    EXEC sp_dropsubscription 
    	@publication=N'Publication Name', 
    	@subscriber = N'all', 
    	@article = N'Article Name', 
    	@destination_db = N'all'
    GO
    
  2. Exécuter le code suivant pour supprimer l'article correspondant de la composition actuelle transactionnelle :
    USE Publication Database
    GO
    
    EXEC sp_droparticle 
    	@publication = N'Publication Name', 
    	@article = 'Article Name',
    	@force_invalidate_snapshot = 1
    GO
    
  3. Ajouter votre article à votre composition transactionnelle active afin que l'article utilise les procédures stockées pour répliquer la commande INSERT, la commande de mise à jour ou la commande DELETE vers les abonnés correspondants.
    • @publication : nom de la composition en cours
    • @article : nom de l'article nouveau
    • @source_object : nom de la table sous-jacente qui est représentée par le nouvel article
    • @destination_table : nom de la table de destination qui sera créée sur l'abonné
    • @ins_cmd : CALL sp_MSins_ Article Name
    • @del_cmd : CALL sp_MSdel_ Article Name
    • @upd_cmd : MCALL sp_MSupd_ Article Name
    • @force_invalidate_snapshot : 1, si un instantané est déjà généré pour la composition
    En outre, si votre article contient une colonne d'identité et vous souhaitez que SQL Server pour gérer la gestion de plage d'identité, vous devez définir la @auto_identity_range paramètre sur true .
  4. Ajouter des abonnements à l'article qui est ajoutée à votre composition transactionnelle :
    • Pour chaque abonnement push qui s'abonne à votre composition transactionnelle en cours, exécutez les instructions Transact-SQL qui ressemblent à ci-dessous dans l'Analyseur de requêtes SQL dans l'éditeur de la base de données de composition :
      USE Publication Database
      GO
      
      EXEC sp_addsubscription 
      	@publication = N'Publication Name', 
      	@article = N'Article Name', 
      	@subscriber = N'Subscriber Name', 
      	@destination_db = N'Destination Database', 
      	@sync_type = N'automatic', 
      	@update_mode = N'read only', 
      	@offloadagent = 0, 
      	@dts_package_location = N'distributor'
      GO
      Remarque Assurez-vous que vous modifier les paramètres suivants avant d'exécuter les instructions Transact-SQL :
      • @publication : nom de la composition en cours
      • @article : nom de l'article nouveau
      • @Subscriber : nom de l'abonné
      • @destination_db : nom de la base de données destination qui contient l'abonnement
      En outre, assurez-vous que les paramètres qui peuvent modifier les propriétés existantes de l'abonnement ne sont pas modifiés.
    • Pour ajouter des abonnements à votre article dans les abonnements extraction pour tous les abonnés existants à votre publication transactionnelle, exécutez instructions Transact-SQL qui ressemblent à ci-dessous dans l'Analyseur de requêtes SQL dans l'éditeur de la base de données de composition :
      USE Publication Database
      GO
      
      EXEC sp_refreshsubscriptions 
      	@publication = N'Publication Name'
      GO
  5. Exécuter l'agent de capture instantanée qui correspond pour la composition active transactionnelle sur le distributeur.
  6. Exécuter l'agent de distribution correspondant pour chaque abonnement qui s'abonne à la composition transactionnelle en cours.

Statut

Microsoft a confirmé que c'est un problème dans les produits Microsoft répertoriés dans la section « S'applique à ».

Ce problème a été corrigé dans Microsoft SQL Server 2000 Service Pack 4.

Références

Pour plus d'informations, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft :
824684 Description de la terminologie standard utilisée pour décrire les mises à jour logicielles Microsoft

Propriétés

Numéro d'article: 837231 - Dernière mise à jour: vendredi 2 novembre 2007 - Version: 2.3
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft SQL Server 2000 Édition Développeur
  • Microsoft SQL Server 2000 Standard
  • Microsoft SQL Server 2000 Édition Entreprise
  • Microsoft SQL Server 2000 Édition Personelle
  • Microsoft SQL Server 2000 Workgroup Edition
  • Microsoft SQL Server 2000 Desktop Engine (Windows)
  • Microsoft SQL Server 2000 Enterprise Edition 64-bit
Mots-clés : 
kbmt kbhotfixserver kbqfe kbqfe kbsqlserv2000presp4fix kbfix kbbug KB837231 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: 837231
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