CORRECTIF : Vous ne pouvez pas synchroniser les données d'objet binaire volumineux (BLOB) en utilisant une réplication transactionnelle lorsque vous définissez le paramètre SubscriptionStreams de l'agent de distribution à une valeur qui est supérieure à 1 dans SQL Server 2008

Traductions disponibles Traductions disponibles
Numéro d'article: 975171 - Voir les produits auxquels s'applique cet article
Microsoft distribue les correctifs de Microsoft SQL Server 2008 sous la forme d'un fichier téléchargeable unique. Les correctifs étant cumulatifs, chaque nouvelle version contient tous les correctifs et tous les correctifs de sécurité inclus avec la précédente de SQL Server 2008 version du correctif.
Agrandir tout | Réduire tout

Symptômes

Envisagez le scénario suivant :
  • Dans Microsoft SQL Server 2008, permet de paramétrer une réplication transactionnelle sur une table qui contient les colonnes de l'objet binaire volumineux (BLOB).
  • Vous définissez le paramètre SubscriptionStreams de l'agent de distribution à une valeur qui est supérieure à 1.
  • Vous insérez des données dans les colonnes de l'objet binaire volumineux (BLOB). La taille de données est supérieure à la valeur du paramètre OleDbStreamThreshold.

    Remarque La valeur par défaut du paramètre OleDbStreamThreshold est 16 384 octets.
Lorsque vous synchronisez des données dans ce scénario, vous pouvez rencontrer les problèmes suivants :

Symptôme 1

L'agent de distribution arrête la réplication de commandes. L'état de l'agent de distribution est défini sur 2. Cet état a la valeur 2 indique que la dernière commande a été correctement répliquée. Toutefois, il existe toujours certaines commandes en attente sur le serveur de distribution à répliquer vers l'abonné. Ces commandes contiennent des données de l'objet binaire volumineux (BLOB). La taille de données objet binaire volumineux (BLOB) est supérieure à la valeur du paramètre OleDbStreamThresold. En outre, les messages d'erreur suivants sont enregistrés dans le journal de l'agent de distribution :

Date Time Aucune transaction répliquée n'est disponibles.
Date Time État de l'agent de réplication: 2
Date Time Ajout d'alerte à msdbsysreplicationalerts : ErrorId = 0,
Transaction Seqno = Transaction Sequence Number, Command, ID = 1
Sous-système de distribution de message : Réplication Replication : agent Distribution Agent Name a réussi. Aucune transaction répliquée n'est available.OLE DB abonné ' ' Subscriber Name : exec dbo.sp_MSupdatelastsyncinfo N ' Subscriber Name ', N ' Database Name ' Table Name ', 0, 2, N'No les transactions répliquées sont disponibles.»

Symptôme 2

L'agent de distribution ne s'exécute pas correctement. L'état de l'agent de distribution est 6. Messages d'erreur suivants sont enregistrés dans le journal de l'agent de distribution :

Date Time Code agent de message 20046. État de l'agent de réplication: 6
Date Time ErrorId = 22, SourceTypeId = 2 ErrorCode = '20046'
ErrorText = ''
Date Time Ajout d'alerte à msdbsysreplicationalerts : ErrorId = 22,
Transaction Seqno = 00000021000000d1004800000000, Command, ID = 1
Sous-système de distribution de message : Réplication Replication: < Nom de l'Agent de Distribution > échoué de l'agent. ErrorId = 22, SourceTypeId = 1
CodeErreur = ''
ErrorText = ' Si @ @TRANCOUNT > 0 rollback tran '
À l'erreur consignée ci-dessus, l'erreur suivante est enregistrée dans la table MSrepl_errors de la base de données de distribution :
L'agent de distribution n'a pas pu créer les fichiers temporaires dans 'C:\Program Files\Microsoft SQL Server\100\COM' annuaire. Système retourné CodeErreur 32.

Résolution

Tout d'abord, le correctif de ce problème a été publié dans mise à jour cumulative 4 pour SQL Server 2008 Service Pack 1. Pour plus d'informations sur ce package de mise à jour cumulative, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la base de connaissances Microsoft :
973602Lot de mises à jour cumulatives 4 pour SQL Server 2008 Service Pack 1
Remarque Les versions étant cumulatifs, chaque nouvelle version de correctif contient l'intégralité des correctifs et tous les correctifs de sécurité inclus avec la précédente de SQL Server 2008 version du correctif. Microsoft vous recommande d'envisager l'application de la dernière version de correctif qui comprendra ce correctif. Pour plus d'informations, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la base de connaissances Microsoft :
970365Versions de SQL Server 2008 publiées après SQL Server 2008 Service Pack 1
Microsoft SQL Server 2008 les correctifs sont créés pour les service packs pour SQL Server spécifiques. Vous devez appliquer un correctif SQL Server 2008 Service Pack 1 à une installation de SQL Server 2008 Service Pack 1. Par défaut, aucun correctif fourni dans un service pack SQL Server est inclu dans le prochain service pack SQL Server.

Contournement

Pour contourner ce problème, appliquez l'une des méthodes suivantes.

Méthode 1

Définissez le paramètre SubscriptionStreams de l'agent de distribution à la valeur 1.

Méthode 2

Vous pouvez définir le paramètre OleDbStreamThreshold de l'agent de distribution à une valeur qui est supérieure à la plus grande taille de données pour les colonnes d'objet binaire volumineux (BLOB) qui doivent être répliquées. Ensuite, l'agent de distribution ne pas lier des données d'objet binaire volumineux (BLOB) sous la forme d'un flux. Démarrer à partir de SQL Server 2008, les données d'objet binaire volumineux (BLOB) sont liées sous la forme d'un flux lorsque la taille de données des données d'objet binaire volumineux (BLOB) est inférieure à la valeur du paramètre OleDbStreamThreshold. Ce comportement par défaut est true.

Remarque Si vous utilisez cette méthode, l'agent de distribution prendra plus de temps pour répliquer les colonnes de l'objet binaire volumineux (BLOB).

Statut

Microsoft a confirmé l'existence de ce problème dans les produits Microsoft répertoriés dans la section "S'applique à".

Références

Pour plus d'informations sur le paramètre OleDbStreamThreshold, reportez-vous au site Web de MSDN (Microsoft Developer Network) à l'adresse suivante :
http://msdn.microsoft.com/en-us/library/ms147328.aspx
Pour plus d'informations sur le modèle de service incrémentiel pour SQL Server, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la base de connaissances Microsoft :
935897Un modèle de service incrémentiel est disponible à partir de l'équipe SQL Server pour la fourniture des correctifs logiciels pour les problèmes signalés

Pour plus d'informations sur le modèle d'affectation de noms pour les mises à jour de SQL Server, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la base de connaissances Microsoft :
822499Nouveau modèle d'affectation de noms pour les packages de mise à jour logicielle de Microsoft SQL Server

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

Propriétés

Numéro d'article: 975171 - Dernière mise à jour: jeudi 18 mars 2010 - Version: 2.0
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Workgroup
Mots-clés : 
kbmt kbsurveynew kbfix kbqfe kbexpertiseadvanced KB975171 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: 975171
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