Ich möchte nicht 200 Datenflüsse in einem einzigen Paket haben. Die Zeit, die nur zum Öffnen und Überprüfen benötigt würde, würde Sie vor Ihrer Zeit veralten lassen.
EzAPI macht Spaß, aber wenn Sie .NET und SSIS noch nicht kennen, wollen Sie das nicht. Ich denke, Sie werden viel mehr Zeit mit dem Erlernen des SSIS-Objektmodells und möglicherweise mit dem Umgang mit COM verbringen, als mit der eigentlichen Arbeit.
Da ich faul bin, stecke ich BIML als kostenlose Option ein, die Sie nicht aufgelistet haben. Aus einer Antwort auf SO /programming/13809491/generating-several-similar-ssis-packages-file-data-source-to-db/13809604#13809604
- Biml ist ein interessantes Biest. Varigence verkauft Ihnen gerne eine Lizenz an Mist, diese wird jedoch nicht benötigt. Alles, was Sie brauchen, ist BIDSHelper und dann durchsuchen Sie BimlScript und suchen Sie nach einem Rezept, das Ihren Bedürfnissen entspricht. Sobald Sie das haben, klicken Sie auf die kontextsensitive Menüschaltfläche in BIDSHelper und whoosh, es generiert Pakete.
Ich denke, es könnte auch für Sie ein Ansatz sein. Sie definieren Ihr BIML, das beschreibt, wie sich Ihre Pakete verhalten sollen, und generieren sie dann. In dem Szenario, in dem Sie beschreiben, wo Sie Änderungen vornehmen und N Pakete reparieren müssen, beheben Sie Ihre Definition des Problems und generieren Pakete neu.
Wenn Sie sich mit dem Framework ausreichend vertraut gemacht haben, können Sie mit EzAPI alle Probleme beheben. Zum Teufel , da Sie dies als 2005 markiert haben, können Sie PacMan auch ausprobieren, wenn Sie umfangreiche Änderungen an vorhandenen Paketen vornehmen müssen.
Überlegungen zum SSIS-Entwurf
Im Allgemeinen versuche ich, meine Pakete auf die Lösung einer einzelnen Aufgabe zu konzentrieren (Verkaufsdaten laden). Wenn das zwei Datenflüsse erfordert, ist es auch so. Ich hasse es, ein Paket aus dem Import-Export-Assistenten mit vielen nicht zusammenhängenden Datenflüssen in einem einzigen Paket zu erben. Zerlegen Sie sie in etwas, das ein ganz bestimmtes Problem löst. Dies verringert das Risiko zukünftiger Verbesserungen, da die Oberfläche verringert wird. Ein zusätzlicher Vorteil ist, dass ich am Laden arbeiten kann, DimProducts
während mein Diener sich mit dem Laden von SnowflakeFromHell
Paketen befasst.
Verwenden Sie dann Master-Pakete, um die untergeordneten Arbeitsabläufe zu orchestrieren. Ich weiß, dass Sie auf 2005 sind, aber die Veröffentlichung von SSIS in SQL Server 2012 ist der Schlafanzug der Katze. Ich mag das Projektbereitstellungsmodell und die enge Integration, die es zwischen Paketen ermöglicht.
TSQL vs SSIS (meine Geschichte)
Was den reinen TSQL-Ansatz betrifft, verwendeten sie in einem früheren Job einen Job mit 73 Schritten, um alle ihre Informix-Daten in SQL Server zu replizieren. Es dauerte im Allgemeinen ungefähr 9 Stunden, konnte sich aber auf ungefähr 12 erstrecken. Nachdem sie ein neues SAN gekauft hatten, waren es mehr als 7 Stunden. Derselbe logische Prozess, der in SSIS umgeschrieben wurde, dauerte unter 2 Stunden. Der wohl größte Faktor für die Verkürzung dieser Zeit war die "freie" Parallelisierung, die wir mit SSIS erhalten haben. Der Agent-Job führte alle diese Aufgaben seriell aus. Das Master-Paket teilte die Tabellen im Wesentlichen in Verarbeitungseinheiten (5 parallele Sätze von serialisierten Tasks von "Run Replicate Table 1", Tabelle 2 usw.) auf, wobei ich versuchte, die Buckets in quasi gleich große Arbeitseinheiten zu unterteilen. Auf diese Weise konnten die rund 60 Referenztabellen schnell aufgefüllt werden, und die Verarbeitung verlangsamte sich, als sie in die Datenbank "" gelangte.
Ein weiteres Plus für mich bei der Verwendung von SSIS ist, dass ich "freie" Konfiguration, Protokollierung und Zugriff auf die .NET-Bibliotheken für quadratische Daten bekomme, die ich in ein rundes Loch schlagen muss. Ich denke, es kann einfacher sein, ein SSIS-Paket zu warten (die Wartung wegzulassen) als einen reinen TSQL-Ansatz aufgrund der grafischen Natur des Tieres.
Wie immer kann Ihr Kilometerstand variieren.