2010-10-05 8 views
1

Est-ce que quelqu'un sait quelle est la méthode recommandée pour copier des données d'une table à l'autre en utilisant un DTS? Devrions-nous utiliser l'instruction Insert/Select standard ou une transformation DTS entre deux connexions? Lequel est le plus rapide? Est-ce que quelqu'un a fait tous les tests de performance à ce sujet?DTS Transformation vs Select/Insert dans t

J'utilise SQL Server 2000 en ce moment, mais je voudrais aussi savoir comment la performance est sur SQL2005 +

+0

Copiez-vous sur une table EMPTY? Etes-vous toujours sur SQL Server 2000? – JNK

+0

Oui, je copie sur une table vide. – vikasde

+0

Quelle version du serveur SQL utilisez-vous? – JNK

Répondre

1

Si vous mettez à niveau jamais SQL 2005, vous devrez réécrire tous les packages DTS. Ils sont dépréciés en faveur de SQL Server Integration Services.

Donc j'irais pour le SQL droit, ou peut-être l'utilitaire bcp.

+0

est directement SQL plus rapide que la transformation dts ou l'utilitaire bcp? – vikasde

+0

Réécriture peut être évitée, puisque vous pouvez exécuter DTS sur 2005+ avec les composants de compatibilité arrière –

+0

Je ne suis pas tellement inquiet de réécrire - même si je dois, ce n'est pas un gros problème. Mais pour l'instant je voudrais choisir la méthode la plus rapide. – vikasde

0

Je ne voudrais pas utiliser DTS pour cette tâche et il suffit d'utiliser T-SQL

  1. Supprimez la table de destination
  2. Utilisez SELECT INTO pour copier les données du serveur 1 au serveur 2
  3. Création d'index sur la table de destination

Si le schéma de la table de destination n'est pas exactement le même que celui de la source, vous pouvez manipuler l'instruction SELECT pour l'obtenir comme vous le souhaitez.

Puisque vous êtes sur SQL 2000, vous ne pouvez pas tirer parti de l'INSERT avec TABLOCK pour obtenir l'opération en bloc sans laisser tomber la table.