2009-12-17 4 views
10

J'ai récemment développé un package SSIS sur ma machine dev en utilisant la version 2008. Plus tard, je foudrais que le client avait Sql Server 2005 et ne prévoit pas de mettre à niveau de sitôt.Compatibilité Sql Server Integration Services 2008-2005

Existe-t-il un moyen de transformer le package 2008 en un package SSIS 2005, comme un assistant de rétrogradation?

Répondre

14

Avec l'aimable autorisation d'une source anonyme nous avons une application pour rétrograder un package SSIS de la version 2008 à 2005.

Alors que cela fonctionne avec les composants communs de nouveaux composants ne sont pas pris en charge à l'exception de la recherche.

Les composants tiers ne sont également pas pris en charge.

Il a été soumis à des tests très limités et n'est pas une option prise en charge par MS. Il n'est pas conseillé de l'utiliser pour les packages de production.

C'est un outil utile pour vous sortir d'une situation difficile.

http://ssisdowngrade.codeplex.com

+0

Cela a fonctionné un charme pour moi. La seule exception était que mon code était C# et que SQL2005 ne supportait que VB.NET, c'était seulement du code trivial, donc j'ai réécrit et j'étais absent. –

+0

cela a bien fonctionné pour moi même si j'ai dû faire quelques changements dans le xml manuellement, comme changer le fournisseur de 'SQLNCLI10.1' à' SQLNCLI.1'. J'ai fini par utiliser http://converter.telerik.com/ pour convertir le code C# en vb.net qui a bien fonctionné. – mezoid

0

Malheureusement, je ne pense pas que ce soit possible. Je sais pertinemment que si vous avez des tâches de script et/ou des composants dans votre paquet, les DLL seront incompatibles lors de la rétrogradation vers SSIS 2005 puisque 2008 utilise .NET 3.5 Framework et 2005 utilise le Framework 2.0.

+0

, ma nouvelle tâche serait de nouveau configurer l'ensemble du paquet sur le serveur SQL 2005? –

+0

Je suis sûr que c'est votre seule option. – rfonn

3

Il se peut que des composants et propriétés 2008 ne soient pas disponibles en 2005. C'est ce qui rend la conversion si difficile. Cependant, si votre package est simple et assez standard, les éléments suivants peuvent vous aider. Cela a fonctionné pour un paquet vide. J'ai créé un sur 2008 et j'ai ensuite essayé de l'ouvrir en 2005. J'ai eu des erreurs (bien sûr). J'ai donc copié la version 2008 et l'ai ouverte dans un éditeur de texte.

je puis modifier manuellement le fichier

1. Modifier les éléments suivants

<?xml version="1.0"?><DTS:Executable xmlns:DTS="www.microsoft.com/SqlServer/Dts" DTS:ExecutableType="SSIS.Package.2"> 

à

<?xml version="1.0"?><DTS:Executable xmlns:DTS="www.microsoft.com/SqlServer/Dts" DTS:ExecutableType="SSIS.Package.1"> 

2. Modifier les éléments suivants

<DTS:Property DTS:Name="PackageFormatVersion">3</DTS:Property> 

à

<DTS:Property DTS:Name="PackageFormatVersion">2</DTS:Property> 

3. Supprimez les éléments suivants:

<DTS:Property DTS:Name="LastModifiedProductVersion">10.0.1600.22</DTS:Property> 

4. Modifier les éléments suivants:

<DTS:Property DTS:Name="CreationName">SSIS.Package.2</DTS:Property> 

à

<DTS:Property DTS:Name="CreationName">MSDTS.Package.1</DTS:Property> 

Ceci fonctionne pour un paquet vide, mais je ne peux faire aucune garantie pour les autres. En espérant que cela aide

2

En plus de ce que James avez-vous besoin de trouver et de remplacer toutes les instances de Version = 10.0.0.0 avec Version = 9.0.242.0 pour les tâches SQL, SSIS.PipeLine.2 avec DTS.Pipeline.1 pour tâches de flux de données, componentClassID = "{2C0A8BE5-1EDC-4353-A0EF-B778599C65A0} avec componentClassID =" {2C0A8BE5-1EDC-4353-A0EF-B778599C65A0} pour les tâches source OLE DB, componentClassID = "{5A0B62E8-D91D-49F5-94A5 -7BE58DE508F0} "avec componentClassID =" {E2568105-9550-4F71-A638-B7FE42E66922} "pour les destinations OLE DB, componentClassID =" {BD06A22E-BC69-4AF7-A69B-C44C2EF684BB} "avec componentClassID =" {C3BF62C8-7C5C-4F85 -83C3-E0B6F6BE267C} "pour les tâches de conversion de données et componentClassID =" {70909A92-ECE9-486D-B17E-30EDE908849E} "avec componentClassID =" {7C0CACA3-B152-40B1-8379-E37AE8E1DD5A} "pour une tâche à changement lent.Je ne l'ai pas réussi à obtenir des tâches de recherche fonctionne

Espoirs cela aide quelqu'un, au moins il est une référence à moi pour la prochaine fois :-)

2

En plus de Asgeir:

Le ClassID correct pour Les sources OLE DB dans la version 2008 sont {BCEFE59B-6819-47F7-A125-63753B33ABB7}. Cela doit être changé pour {2C0A8BE5-1EDC-4353-A0EF-B778599C65A0} être utilisé en 2005.

Pour les tâches de consultation changer {27648839-180F-45E6-838D-AFF53DF682D2} en {0FB4AABB-C027-4440- 809A-1198049BF117}. De plus, vous devez changer le terme 'version = "5"' en 'version = "4"' dans la ligne sous le ClassID.

Pour le remplacement conditionnel conditionnel de tâche {3AE878C6-0D6C-4F48-8128-40E00E9C1B7D} dans {53A228EE-EBFA-48D6-A1AC-5269E5824A2C}.

Ces modifications, en plus de celles déjà publiées, devraient faire l'affaire pour la plupart des utilisateurs ou permettre au moins de reconstruire le paquet en version 2005 avec moins d'effort.

1

Vous aurez également besoin de remplacer les éléments suivants:

  • SSIS.Pipeline.2 avec DTS.Pipeline.1
  • commande OLE DB: {8E61C8F6-C91D-43B6-97EB-3423C06571CC} avec {C60ACAD1-9BE8-46B3-87DA-70E59EADEA46}

Même ainsi, vous devrez l'ouvrir dans BIDS 2005 et le réenregistrer. Vous pouvez installer BIDS 2005 stand alone en accédant au répertoire CD tools \ setup de SQL Server 2005 et en exécutant sqlRun_Tools.msi. Si ces erreurs vous empêchent de monter un niveau (répertoire des outils) et d'exécuter l'installation, choisissez simplement BIDS.

Questions connexes