CORRECTIF : Transfert d'objets DTS ne transfère pas Plues de 64 Ko de données BLOB

Traductions disponibles Traductions disponibles
Numéro d'article: 257425 - Voir les produits auxquels s'applique cet article
BOGUE : 53859 (SQLBUG_70)
Agrandir tout | Réduire tout

Symptômes

La fonctionnalité de transfert d'objets DTS (Data Transformation Services) risquent de ne pas être correctement transférées données BLOB (Binary Large Object) s'il existe plus de 64 Ko de données dans n'importe quelle ligne dans une colonne text, ntext ou image dans la base de données de que transfert de DTS.

Les symptômes varient, mais peuvent inclure :
  • Violations d'accès ou autres exceptions.
  • SQL Server Enterprise Manager (SEM) peut cesser de répondre (se bloquer).
  • Le transfert de données incorrects.
  • Les données transférées peuvent être tronquées.

Cause

La fonctionnalité de transfert d'objets utilise SQL Distributed Management Objects (SQL-DMO) pour effectuer le transfert. DMO n'est pas conçu pour transférer plus de 64 Ko de données BLOB par champ.

Contournement

Objet Transfer est que l'option de l' Assistant Importation/exportation DTS intitulée transférer des objets et des données entre bases de données SQL Server 7.0. Pour éviter le problème décrit dans la section "Symptômes de cet" article, utilisez l'option Copier une ou plusieurs tables à partir de la base de données source pour les tables avec de grandes quantités de text, ntext ou données d'image.

Vous souhaiterez peut-être utiliser le transfert d'objets pour transférer tout d'abord le schéma des tables concernées, puis utilisez l'option Copier une ou plusieurs tables à partir de la base de données source pour déplacer les données (tables Copy pas ne transférer des index, contraintes, autorisations et autres détails du schéma). Pour transférer schéma uniquement, désactivez la case à cocher copier des données dans l'Assistant avant de vous utilisez transfert d'objets à transférer les tables.

Pour identifier les tables de la base de données source dotés de texte, ntext ou image colonnes susceptibles d'affecter ce problème, exécutez la requête suivante :
   USE <source database name>
   GO
   SELECT DISTINCT TABLE_NAME FROM INFORMATION_SCHEMA.COLUMNS 
   WHERE DATA_TYPE IN ('text', 'ntext', 'image')
				

Statut

Microsoft a confirmé l'existence de ce problème dans SQL Server 7.0. Ce problème a été corrigé dans U.S. Service Pack 1 pour Microsoft SQL Server 7.0. Pour plus d'informations, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la base de connaissances Microsoft :
232570INF: Comment faire pour obtenir le Service Pack 1 pour Microsoft SQL Server 7.0 et Microsoft Data Engine (MSDE) 1.0
Pour plus d'informations, contactez votre support technique.

Plus d'informations

Si l'ordinateur sur lequel vous utilisez Enterprise Manager (SEM) SQL Server 7.0 Service Pack 1 ou version ultérieure installé, vous ne devez pas rencontrer des violations d'accès, d'instances de SEM cesser de répondre ou d'autres problèmes inattendues pendant un transfert des données BLOB dont la taille sont supérieure à 64 Ko. Toutefois, les méthodes de transfert DMO sont encore limités à une taille BLOB maximale de 64 Ko, plues de 64 Ko de données de texte, image et ntext, tronque à 64 000 octets dans la base de données de destination. Le fichier <server>. < base de données de destination >.log dans le répertoire de journal de transfert signale la troncature de chaque ligne :
  ::Error::
  Transfer Status: Transferring Data: (Table '[dbo].[bigtext]')
    Data truncation occurred in table [dbo].[bigtext], column 2.

					
Notez que l'interface utilisateur signale ce message même si les lignes sont tronqués :
Copié avec succès les objets à partir de Microsoft SQL Server à Microsoft SQL Server.
Le transfert DMO de SQL Server 2000 (ou transfert d'objets dans DTS) transfère le texte jusqu'à 8 Mo. Si vous essayez de transférer du texte est supérieure à 8 Mo, le transfert DTS ne fonctionne pas avec cette message d'erreur :
Échec de la copie des objets à partir de Microsoft SQL Server sur Microsoft SQL Server.
Si vous double-cliquez sur l'étape ayant échoué dans la boîte de dialogue Executing Package (Copy SQL Server Objects), ce message d'erreur s'affiche :
[SQL-DMO]Échec de l'exécution de copie en bloc.

Propriétés

Numéro d'article: 257425 - Dernière mise à jour: mardi 14 mars 2006 - Version: 2.1
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft SQL Server 7.0 Standard
Mots-clés : 
kbmt kbbug kbfix KB257425 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: 257425
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