{"id":479,"date":"2018-06-19T00:12:18","date_gmt":"2018-06-18T22:12:18","guid":{"rendered":"https:\/\/staging.sql.marcus-belz.de\/?p=479"},"modified":"2026-05-07T02:26:24","modified_gmt":"2026-05-07T00:26:24","slug":"namenskonvention-fur-ssis-tasks","status":"publish","type":"post","link":"https:\/\/staging.sql.marcus-belz.de\/?p=479","title":{"rendered":"Namenskonvention f\u00fcr SSIS Tasks"},"content":{"rendered":"<p>Die Festlegung von Programmierrichtlinien und Namenskonventionen macht nur dann Sinn, wenn sie Gewinn bringend eingesetzt werden k\u00f6nnen. Voraussetzung hierf\u00fcr ist, dass die Vorteile klar identifiziert und benannt werden k\u00f6nnen. Die Lesbarkeit und Wartbarkeit von Code steht im Allgemeinen im Vordergrund. Im Falle von S<strong>QL Server Integration Services<\/strong> (SSIS) kommt jedoch noch ein weiterer Aspekt hinzu: die Protokollierung der Ausf\u00fchrung eines Paketes in dem Reiter <strong>Execution Results<\/strong>\u00a0bzw.\u00a0<strong>Progress<\/strong> in der Entwicklungsumgebung Visual Studio. Die Ausf\u00fchrung wird in einer Baumstruktur protokolliert. Bei komplexen Paketen mit Unterpaketen, <em>For Each Loop<\/em> Containern, <em>Sequence<\/em> Containern etc. wird die Baumstruktur schnell lang und tief. Es ist schwer, die Ausf\u00fchrungsreihenfolge der Tasks in der Baumstruktur nachzuvollziehen und im Fehlerfall die Fehlerursache schnell zu identifizieren. Wer ist nicht schon an dieser vermeintlich einfachen Aufgabe verzweifelt?!<\/p>\n<p>Urs\u00e4chlich hierf\u00fcr ist aber nicht die Komplexit\u00e4t eines Paketes oder die Schachtelungstiefe.\u00a0SSIS zeigt die ausgef\u00fchrten Tasks <strong>nicht<\/strong> in der Reihenfolge der Ausf\u00fchrung an. Die Anordnung von ausgef\u00fchrten Tasks in der Baumstruktur erfolgt in alphabetischer Reihenfolge der Task-Namen je Container.<\/p>\n<p>Der nachfolgende Screenshot zeigt einen vermeintlich \u00fcbersichtlichen Control Flow nach einer Ausf\u00fchrung in Visual Studio 2017:<\/p>\n<p style=\"padding-left: 30px;\"><a href=\"https:\/\/staging.sql.marcus-belz.de\/wp-content\/uploads\/2018\/06\/post0011001.png\" target=\"_blank\" rel=\"noopener noreferrer\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-493 size-large\" src=\"https:\/\/staging.sql.marcus-belz.de\/wp-content\/uploads\/2018\/06\/post0011001-1024x324.png\" alt=\"\" width=\"1024\" height=\"324\" srcset=\"https:\/\/staging.sql.marcus-belz.de\/wp-content\/uploads\/2018\/06\/post0011001-1024x324.png 1024w, https:\/\/staging.sql.marcus-belz.de\/wp-content\/uploads\/2018\/06\/post0011001-300x95.png 300w, https:\/\/staging.sql.marcus-belz.de\/wp-content\/uploads\/2018\/06\/post0011001-768x243.png 768w, https:\/\/staging.sql.marcus-belz.de\/wp-content\/uploads\/2018\/06\/post0011001.png 1133w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/p>\n<p>Zu beachten sind hier:<\/p>\n<ul>\n<li>Die Namen der Sequence Container sind so gew\u00e4hlt, dass der Container mit dem Suffix <strong>2<\/strong> vor dem Container mit dem Suffix <strong>1<\/strong> ausgef\u00fchrt wird.<\/li>\n<li>Innerhalb der Sequence Container sind die enthaltenen Control Flow Tasks so benannt, dass die Tasks mit dem Pr\u00e4fix <strong>2<\/strong> vor den Tasks mit dem Pr\u00e4fix <strong>1<\/strong> ausgef\u00fchrt werden.<\/li>\n<li>Zwischen den beiden Sequence Containern werden 3 Skript Tasks ausgef\u00fchrt, die durch die Pr\u00e4fixe <strong>C<\/strong>, <strong>B<\/strong> und <strong>A<\/strong> entgegen der Ausf\u00fchrungsreihenfolge benannt sind.<\/li>\n<\/ul>\n<p>Die beiden Data Flows enthalten identische Data Flow Tasks. Die Tasks sind so benannt, dass sie entgegen der alphabetischen Sortierung nach dem Task-Namen ausgef\u00fchrt werden. Zuerst wird die Task <strong>OLE-DB Source<\/strong> ausgef\u00fchrt und danach erst die Task <strong>Count<\/strong>.<\/p>\n<p style=\"padding-left: 30px;\"><a href=\"https:\/\/staging.sql.marcus-belz.de\/wp-content\/uploads\/2018\/06\/post0011003.png\" target=\"_blank\" rel=\"noopener noreferrer\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-496 size-full\" src=\"https:\/\/staging.sql.marcus-belz.de\/wp-content\/uploads\/2018\/06\/post0011003.png\" alt=\"\" width=\"179\" height=\"171\" \/><\/a><\/p>\n<p>Die Ausf\u00fchrung der Control und Data Flow Tasks wird in dem Reiter <strong>Progress<\/strong> des ausgef\u00fchrten Paketes nicht in der Reihenfolge der tats\u00e4chlichen Ausf\u00fchrung, sondern in der Reihenfolge der alphabetischen Sortierung der Task-Namen je Container protokolliert:<\/p>\n<p style=\"padding-left: 30px;\"><a href=\"https:\/\/staging.sql.marcus-belz.de\/wp-content\/uploads\/2018\/06\/post0011010.png\" target=\"_blank\" rel=\"noopener noreferrer\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-519 size-full\" src=\"https:\/\/staging.sql.marcus-belz.de\/wp-content\/uploads\/2018\/06\/post0011010.png\" alt=\"\" width=\"444\" height=\"807\" srcset=\"https:\/\/staging.sql.marcus-belz.de\/wp-content\/uploads\/2018\/06\/post0011010.png 444w, https:\/\/staging.sql.marcus-belz.de\/wp-content\/uploads\/2018\/06\/post0011010-165x300.png 165w\" sizes=\"auto, (max-width: 444px) 100vw, 444px\" \/><\/a><\/p>\n<p>Bei umfangreichen und komplexen Transformationsprozessen ist dieses Ausf\u00fchrungsprotokoll schlicht unlesbar. Warum Microsoft dieses Systematik gew\u00e4hlt hat, ist nicht nachvollziehbar. Nun sind die gezeigten Screenshots bzw. die gewonnenen Erkenntnisse eher f\u00fcr die Entwicklung von SSIS Paketen relevant. Wie sieht es im Betrieb von SSIS Solutions aus, wenn diese in dem <strong>Integration Services Catalogs<\/strong> bereitgestellt und ausgef\u00fchrt werden? Das Ausf\u00fchrungsprotokoll eines im <strong>Integration Services Catalogs<\/strong> bereitgestellten Paketes kann \u00fcber die Standard-Berichte<\/p>\n<p style=\"padding-left: 40px;\"><em>Rechter Mausklick auf Projekt\/Paket &gt;<\/em> <strong>Reports| Standard Reports | All Executions<\/strong><\/p>\n<p>aufgerufen werden. Und tats\u00e4chlich wird auch hier die Ausf\u00fchrung von Tasks nicht entsprechend der tats\u00e4chlichen Ausf\u00fchrungsreihenfolge protokolliert:<\/p>\n<p style=\"padding-left: 30px;\"><a href=\"https:\/\/staging.sql.marcus-belz.de\/wp-content\/uploads\/2018\/06\/post0011009.png\" target=\"_blank\" rel=\"noopener noreferrer\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-518 size-full\" src=\"https:\/\/staging.sql.marcus-belz.de\/wp-content\/uploads\/2018\/06\/post0011009.png\" alt=\"\" width=\"568\" height=\"457\" srcset=\"https:\/\/staging.sql.marcus-belz.de\/wp-content\/uploads\/2018\/06\/post0011009.png 568w, https:\/\/staging.sql.marcus-belz.de\/wp-content\/uploads\/2018\/06\/post0011009-300x241.png 300w\" sizes=\"auto, (max-width: 568px) 100vw, 568px\" \/><\/a><\/p>\n<p>Aus den gewonnenen Erkenntnissen ergibt sich die Forderung nach einer Benennung von Tasks, die eine korrekte \u2013 der Reihenfolge der Ausf\u00fchrung von Tasks entsprechende \u2013 Protokollierung von Tasks sicherstellt. Es gibt zwei weitere weit verbreitete Namenskonventionen, die die Lesbarkeit von Paketen sowohl zur Entwurfszeit aber auch die Lesbarkeit des Protokolls zur Laufzeit erh\u00f6hen.<\/p>\n<ul>\n<li>Nummerierung aller Tasks entsprechend der Ausf\u00fchrungsreihenfolge<\/li>\n<li>Pr\u00e4fix f\u00fcr jeden Task Typ<\/li>\n<li>Task Name beschreibt das, was die Task macht<\/li>\n<\/ul>\n<h2>Nummerierung aller Tasks entsprechend der Ausf\u00fchrungsreihenfolge<\/h2>\n<p>Bei der Nummerierung von Tasks ist zwischen der Nummerierung von Control Flow Tasks und Data Flow Tasks zu unterscheiden.<\/p>\n<h3>Control Flow Tasks<\/h3>\n<p>Alle Tasks sollten \u00fcber eine aufsteigende Nummerierung als Pr\u00e4fix verf\u00fcgen, die in aufsteigender Reihenfolge der Ausf\u00fchrungsreihenfolge entspricht. Die Nummerierung sollte einen vierstelligen Nummernkreis unterst\u00fctzen (also Nummern bis mindestens 9999) und bei kleineren Zahlen f\u00fchrende Nullen aufweisen. Die Nummerierung sollte keineswegs geschlossen sein, also noch L\u00fccken aufweisen, damit die Reihenfolge der Ausf\u00fchrung durch \u00c4nderung der Nummerierung einfach ge\u00e4ndert werden kann. Nat\u00fcrlich ist die Nummerierung von Tasks mit Aufwand verbunden. Aus der Erfahrung aus Mehrentwicklerprojekten kann ich aber berichten, dass diese Namenskonvention weithin akzeptiert und auch gewinnbringend angewandt wurde.<\/p>\n<p style=\"padding-left: 30px;\"><a href=\"https:\/\/staging.sql.marcus-belz.de\/wp-content\/uploads\/2018\/06\/post0011005.png\" target=\"_blank\" rel=\"noopener noreferrer\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-503 size-large\" src=\"https:\/\/staging.sql.marcus-belz.de\/wp-content\/uploads\/2018\/06\/post0011005-1024x324.png\" alt=\"\" width=\"1024\" height=\"324\" srcset=\"https:\/\/staging.sql.marcus-belz.de\/wp-content\/uploads\/2018\/06\/post0011005-1024x324.png 1024w, https:\/\/staging.sql.marcus-belz.de\/wp-content\/uploads\/2018\/06\/post0011005-300x95.png 300w, https:\/\/staging.sql.marcus-belz.de\/wp-content\/uploads\/2018\/06\/post0011005-768x243.png 768w, https:\/\/staging.sql.marcus-belz.de\/wp-content\/uploads\/2018\/06\/post0011005.png 1133w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/p>\n<p>Das folgende Ausf\u00fchrungsprotokoll listet die Tasks in der Reihenfolge ihrer Ausf\u00fchrung auf und ist damit ungleich lesbarer als die erste Version:<\/p>\n<p style=\"padding-left: 30px;\"><a href=\"https:\/\/staging.sql.marcus-belz.de\/wp-content\/uploads\/2018\/06\/post0011014.png\" target=\"_blank\" rel=\"noopener noreferrer\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-528 size-full\" src=\"https:\/\/staging.sql.marcus-belz.de\/wp-content\/uploads\/2018\/06\/post0011014.png\" alt=\"\" width=\"444\" height=\"807\" srcset=\"https:\/\/staging.sql.marcus-belz.de\/wp-content\/uploads\/2018\/06\/post0011014.png 444w, https:\/\/staging.sql.marcus-belz.de\/wp-content\/uploads\/2018\/06\/post0011014-165x300.png 165w\" sizes=\"auto, (max-width: 444px) 100vw, 444px\" \/><\/a><\/p>\n<h3>Data Flow Tasks<\/h3>\n<p>In dem normalen Ausf\u00fchrungsplan sind Data Flow Tasks nicht enthalten. Trotzdem ist es ratsam die oben beschriebene Systematik der Benennung von Tasks auch in Data Flows beizubehalten bzw. sogar noch zu erweitern:<\/p>\n<p style=\"padding-left: 30px;\"><a href=\"https:\/\/staging.sql.marcus-belz.de\/wp-content\/uploads\/2018\/06\/post0011011.png\" target=\"_blank\" rel=\"noopener noreferrer\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-521 size-full\" src=\"https:\/\/staging.sql.marcus-belz.de\/wp-content\/uploads\/2018\/06\/post0011011.png\" alt=\"\" width=\"260\" height=\"172\" \/><\/a><\/p>\n<p>Die erste ausgef\u00fchrte Data Flow Task hat als Pr\u00e4fix die Nummer <strong>0110<\/strong>. Dieses Pr\u00e4fix ist f\u00fcr alle Data Flow Tasks zu verwenden gefolgt von einer weiteren Nummer, um die Tasks in dem Data Flow eindeutig identifizieren zu k\u00f6nnen. Damit werden jedem Data Flow Task Namen zwei Nummern vorangestellt.<\/p>\n<ul>\n<li><strong>Control Flow Nummer<\/strong><\/li>\n<li><strong>Data Flow Nummer<\/strong><\/li>\n<\/ul>\n<p>Im Fehlerfall wir schlie\u00dflich auch der Task Name der Data Flow Task protokolliert, die einen Fehler\u00a0 verursacht hat. Die Vergabe eindeutiger Nummern erm\u00f6glicht eine zweifelsfreie und vor allem schnelle Identifikation der Fehler verursachenden Task:<\/p>\n<p style=\"padding-left: 30px;\"><a href=\"https:\/\/staging.sql.marcus-belz.de\/wp-content\/uploads\/2018\/06\/post0011012.png\" target=\"_blank\" rel=\"noopener noreferrer\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-524 size-full\" src=\"https:\/\/staging.sql.marcus-belz.de\/wp-content\/uploads\/2018\/06\/post0011012.png\" alt=\"\" width=\"643\" height=\"37\" srcset=\"https:\/\/staging.sql.marcus-belz.de\/wp-content\/uploads\/2018\/06\/post0011012.png 643w, https:\/\/staging.sql.marcus-belz.de\/wp-content\/uploads\/2018\/06\/post0011012-300x17.png 300w\" sizes=\"auto, (max-width: 643px) 100vw, 643px\" \/><\/a><\/p>\n<h2>Pr\u00e4fix f\u00fcr jeden Typ einer Task<\/h2>\n<p>Jeder Task Typ verf\u00fcgt in Visual Studio \u00fcber ein eigenes Piktogramm. Der stilisierten Darstellung von Task Typen sind aber aufgrund der verf\u00fcgbaren Gr\u00f6\u00dfe der Piktogramme Grenzen gesetzt. Zudem handelt es sich hier um eine visuelle Darstellung, die in dem Ausf\u00fchrungsprotokoll nicht zur Verf\u00fcgung steht. Die Unterscheidung der Tasks in dem Reiter <strong>Execution Results<\/strong> bzw. <strong>Progress<\/strong> erfordert daher eine Kennzeichnung \u00fcber ein Pr\u00e4fix, das den Typ der Task identifiziert.<\/p>\n<p>Um die Lesbarkeit zu erh\u00f6hen ist daher allgemein anerkannt, den Task Namen in Abh\u00e4ngigkeit von dem Task Typ ein Pr\u00e4fix bzw. eine Abk\u00fcrzung voranzustellen:<\/p>\n<ul>\n<li><strong>DFT<\/strong> f\u00fcr <strong>Data Flow Task<\/strong><\/li>\n<li><strong>SCT<\/strong> f\u00fcr <strong>Script Task<\/strong><\/li>\n<li><strong>SQL<\/strong> f\u00fcr <strong>SQL Execute Task<\/strong><\/li>\n<li>\u2026<\/li>\n<\/ul>\n<p>Im Internet findet man einige Vorschl\u00e4ge f\u00fcr diese Pr\u00e4fixe. In den folgenden beiden Listen habe ich die von mir verwendeten Task Pr\u00e4fixen zusammengetragen:<\/p>\n<h3><a name=\"_Toc36397440\"><\/a>Pr\u00e4fixe f\u00fcr Control Flow Tasks<\/h3>\n<table width=\"500\"><colgroup> <col width=\"300\" \/> <col width=\"100\" \/> <col width=\"100\" \/> <\/colgroup>\n<tbody>\n<tr>\n<td style=\"text-align: left;\"><strong>Task<\/strong><\/td>\n<td style=\"text-align: left;\"><strong>Pr\u00e4fix<\/strong><\/td>\n<td style=\"text-align: left;\"><strong>Typ<\/strong><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">Back Up Database Task<\/td>\n<td style=\"text-align: left;\"><strong>BACKUP<\/strong><\/td>\n<td style=\"text-align: left;\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">CDC Control Task<\/td>\n<td style=\"text-align: left;\"><strong>CDC<\/strong><\/td>\n<td style=\"text-align: left;\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">Check Database Integrity Task<\/td>\n<td style=\"text-align: left;\"><strong>CHECKDB<\/strong><\/td>\n<td style=\"text-align: left;\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">Data Profiling Task<\/td>\n<td style=\"text-align: left;\"><strong>DPT<\/strong><\/td>\n<td style=\"text-align: left;\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">Execute SQL Server Agent Job Task<\/td>\n<td style=\"text-align: left;\"><strong>AGENT<\/strong><\/td>\n<td style=\"text-align: left;\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">Execute T-SQL Statement Task<\/td>\n<td style=\"text-align: left;\"><strong>TSQL<\/strong><\/td>\n<td style=\"text-align: left;\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">History Cleanup Task<\/td>\n<td style=\"text-align: left;\"><strong>HISTCT<\/strong><\/td>\n<td style=\"text-align: left;\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">Maintenance Cleanup Task<\/td>\n<td style=\"text-align: left;\"><strong>MAINCT<\/strong><\/td>\n<td style=\"text-align: left;\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">Notify Operator Task<\/td>\n<td style=\"text-align: left;\"><strong>NOT<\/strong><\/td>\n<td style=\"text-align: left;\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">Rebuild Index Task<\/td>\n<td style=\"text-align: left;\"><strong>REBIT<\/strong><\/td>\n<td style=\"text-align: left;\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">Reorganize Index Task<\/td>\n<td style=\"text-align: left;\"><strong>REOIT<\/strong><\/td>\n<td style=\"text-align: left;\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">Shrink Database Task<\/td>\n<td style=\"text-align: left;\"><strong>SHRINKDB<\/strong><\/td>\n<td style=\"text-align: left;\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">Update Statistics Task<\/td>\n<td style=\"text-align: left;\"><strong>STAT<\/strong><\/td>\n<td style=\"text-align: left;\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">For Loop Container<\/td>\n<td style=\"text-align: left;\"><strong>FLC<\/strong><\/td>\n<td style=\"text-align: left;\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">Foreach Loop Container<\/td>\n<td style=\"text-align: left;\"><strong>FELC<\/strong><\/td>\n<td style=\"text-align: left;\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">Sequence Container<\/td>\n<td style=\"text-align: left;\"><strong>SEQC<\/strong><\/td>\n<td style=\"text-align: left;\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">ActiveX Script<\/td>\n<td style=\"text-align: left;\"><strong>AXS<\/strong><\/td>\n<td style=\"text-align: left;\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">Analysis Services Execute DDL Task<\/td>\n<td style=\"text-align: left;\"><strong>ASE<\/strong><\/td>\n<td style=\"text-align: left;\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">Analysis Services Processing Task<\/td>\n<td style=\"text-align: left;\"><strong>ASP<\/strong><\/td>\n<td style=\"text-align: left;\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">Bulk Insert Task<\/td>\n<td style=\"text-align: left;\"><strong>BLK<\/strong><\/td>\n<td style=\"text-align: left;\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">Data Flow Task<\/td>\n<td style=\"text-align: left;\"><strong>DFT<\/strong><\/td>\n<td style=\"text-align: left;\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">Data Mining Query Task<\/td>\n<td style=\"text-align: left;\"><strong>DMQ<\/strong><\/td>\n<td style=\"text-align: left;\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">Execute Package Task<\/td>\n<td style=\"text-align: left;\"><strong>EPT<\/strong><\/td>\n<td style=\"text-align: left;\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">Execute Process Task<\/td>\n<td style=\"text-align: left;\"><strong>EPR<\/strong><\/td>\n<td style=\"text-align: left;\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">Execute SQL Task<\/td>\n<td style=\"text-align: left;\"><strong>SQL<\/strong><\/td>\n<td style=\"text-align: left;\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">Expression Task<\/td>\n<td style=\"text-align: left;\"><strong>EXPR<\/strong><\/td>\n<td style=\"text-align: left;\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">File System Task<\/td>\n<td style=\"text-align: left;\"><strong>FSYS<\/strong><\/td>\n<td style=\"text-align: left;\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">FTP Task<\/td>\n<td style=\"text-align: left;\"><strong>FTP<\/strong><\/td>\n<td style=\"text-align: left;\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">Message Queue Task<\/td>\n<td style=\"text-align: left;\"><strong>MSMQ<\/strong><\/td>\n<td style=\"text-align: left;\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">Script Task<\/td>\n<td style=\"text-align: left;\"><strong>SCR<\/strong><\/td>\n<td style=\"text-align: left;\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">Send Mail Task<\/td>\n<td style=\"text-align: left;\"><strong>SMT<\/strong><\/td>\n<td style=\"text-align: left;\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">Transfer Database Task<\/td>\n<td style=\"text-align: left;\"><strong>TDB<\/strong><\/td>\n<td style=\"text-align: left;\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">Transfer Error Messages Task<\/td>\n<td style=\"text-align: left;\"><strong>TEM<\/strong><\/td>\n<td style=\"text-align: left;\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">Transfer Jobs Task<\/td>\n<td style=\"text-align: left;\"><strong>TJT<\/strong><\/td>\n<td style=\"text-align: left;\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">Transfer Logins Task<\/td>\n<td style=\"text-align: left;\"><strong>TLT<\/strong><\/td>\n<td style=\"text-align: left;\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">Transfer Master Stored Procedures Task<\/td>\n<td style=\"text-align: left;\"><strong>TSP<\/strong><\/td>\n<td style=\"text-align: left;\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">Transfer SQL Server Objects Task<\/td>\n<td style=\"text-align: left;\"><strong>TSO<\/strong><\/td>\n<td style=\"text-align: left;\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">Web Service Task<\/td>\n<td style=\"text-align: left;\"><strong>WST<\/strong><\/td>\n<td style=\"text-align: left;\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">WMI Data Reader Task<\/td>\n<td style=\"text-align: left;\"><strong>WMID<\/strong><\/td>\n<td style=\"text-align: left;\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">WMI Event Watcher Task<\/td>\n<td style=\"text-align: left;\"><strong>WMIE<\/strong><\/td>\n<td style=\"text-align: left;\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">XML Task<\/td>\n<td style=\"text-align: left;\"><strong>XML<\/strong><\/td>\n<td style=\"text-align: left;\">\u00a0<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3><a name=\"_Toc36397441\"><\/a>Pr\u00e4fixe f\u00fcr Data Flow Tasks<\/h3>\n<table width=\"600\"><colgroup> <col width=\"300\" \/> <col width=\"100\" \/> <col width=\"100\" \/> <col width=\"100\" \/> <\/colgroup>\n<tbody>\n<tr>\n<td><strong>Task<\/strong><\/td>\n<td><strong>Pr\u00e4fix<\/strong><\/td>\n<td><strong>Type<\/strong><\/td>\n<td><strong>Supplier<\/strong><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">ADO NET Source<\/td>\n<td style=\"text-align: left;\"><strong>ADO_SRC<\/strong><\/td>\n<td style=\"text-align: left;\">Source<\/td>\n<td style=\"text-align: left;\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">Azure Blob Source<\/td>\n<td style=\"text-align: left;\"><strong>AB_SRC<\/strong><\/td>\n<td style=\"text-align: left;\">Source<\/td>\n<td style=\"text-align: left;\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">CDC Source<\/td>\n<td style=\"text-align: left;\"><strong>CDC_SRC<\/strong><\/td>\n<td style=\"text-align: left;\">Source<\/td>\n<td style=\"text-align: left;\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">DataReader Source<\/td>\n<td style=\"text-align: left;\"><strong>DR_SRC<\/strong><\/td>\n<td style=\"text-align: left;\">Source<\/td>\n<td style=\"text-align: left;\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">Excel Source<\/td>\n<td style=\"text-align: left;\"><strong>EX_SRC<\/strong><\/td>\n<td style=\"text-align: left;\">Source<\/td>\n<td style=\"text-align: left;\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">Flat File Source<\/td>\n<td style=\"text-align: left;\"><strong>FF_SRC<\/strong><\/td>\n<td style=\"text-align: left;\">Source<\/td>\n<td style=\"text-align: left;\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">HDFS File Source<\/td>\n<td style=\"text-align: left;\"><strong>HDFS_SRC<\/strong><\/td>\n<td style=\"text-align: left;\">Source<\/td>\n<td style=\"text-align: left;\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">OData Source<\/td>\n<td style=\"text-align: left;\"><strong>ODATA_SRC<\/strong><\/td>\n<td style=\"text-align: left;\">Source<\/td>\n<td style=\"text-align: left;\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">ODBC Source<\/td>\n<td style=\"text-align: left;\"><strong>ODBC_SRC<\/strong><\/td>\n<td style=\"text-align: left;\">Source<\/td>\n<td style=\"text-align: left;\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">OLE DB Source<\/td>\n<td style=\"text-align: left;\"><strong>OLE_SRC<\/strong><\/td>\n<td style=\"text-align: left;\">Source<\/td>\n<td style=\"text-align: left;\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">Raw File Source<\/td>\n<td style=\"text-align: left;\"><strong>RF_SRC<\/strong><\/td>\n<td style=\"text-align: left;\">Source<\/td>\n<td style=\"text-align: left;\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">SharePoint List Source<\/td>\n<td style=\"text-align: left;\"><strong>SPL_SRC<\/strong><\/td>\n<td style=\"text-align: left;\">Source<\/td>\n<td style=\"text-align: left;\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">XML Source<\/td>\n<td style=\"text-align: left;\"><strong>XML_SRC<\/strong><\/td>\n<td style=\"text-align: left;\">Source<\/td>\n<td style=\"text-align: left;\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">Aggregate<\/td>\n<td style=\"text-align: left;\"><strong>AGG<\/strong><\/td>\n<td style=\"text-align: left;\">Transformation<\/td>\n<td style=\"text-align: left;\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">Audit<\/td>\n<td style=\"text-align: left;\"><strong>AUD<\/strong><\/td>\n<td style=\"text-align: left;\">Transformation<\/td>\n<td style=\"text-align: left;\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">Balanced Data Distributor<\/td>\n<td style=\"text-align: left;\"><strong>BDD<\/strong><\/td>\n<td style=\"text-align: left;\">Transformation<\/td>\n<td style=\"text-align: left;\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">Cache Transform<\/td>\n<td style=\"text-align: left;\"><strong>CCH<\/strong><\/td>\n<td style=\"text-align: left;\">Transformation<\/td>\n<td style=\"text-align: left;\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">CDC Splitter<\/td>\n<td style=\"text-align: left;\"><strong>CDCS<\/strong><\/td>\n<td style=\"text-align: left;\">Transformation<\/td>\n<td style=\"text-align: left;\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">Character Map<\/td>\n<td style=\"text-align: left;\"><strong>CHM<\/strong><\/td>\n<td style=\"text-align: left;\">Transformation<\/td>\n<td style=\"text-align: left;\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">Conditional Split<\/td>\n<td style=\"text-align: left;\"><strong>CSPL<\/strong><\/td>\n<td style=\"text-align: left;\">Transformation<\/td>\n<td style=\"text-align: left;\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">Copy Column<\/td>\n<td style=\"text-align: left;\"><strong>CPYC<\/strong><\/td>\n<td style=\"text-align: left;\">Transformation<\/td>\n<td style=\"text-align: left;\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">Data Conversion<\/td>\n<td style=\"text-align: left;\"><strong>DCNV<\/strong><\/td>\n<td style=\"text-align: left;\">Transformation<\/td>\n<td style=\"text-align: left;\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">Data Mining Query<\/td>\n<td style=\"text-align: left;\"><strong>DMQ<\/strong><\/td>\n<td style=\"text-align: left;\">Transformation<\/td>\n<td style=\"text-align: left;\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">Derived Column<\/td>\n<td style=\"text-align: left;\"><strong>DER<\/strong><\/td>\n<td style=\"text-align: left;\">Transformation<\/td>\n<td style=\"text-align: left;\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">DQS Cleansing<\/td>\n<td style=\"text-align: left;\"><strong>DQSC<\/strong><\/td>\n<td style=\"text-align: left;\">Transformation<\/td>\n<td style=\"text-align: left;\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">Export Column<\/td>\n<td style=\"text-align: left;\"><strong>EXPC<\/strong><\/td>\n<td style=\"text-align: left;\">Transformation<\/td>\n<td style=\"text-align: left;\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">Fuzzy Grouping<\/td>\n<td style=\"text-align: left;\"><strong>FZG<\/strong><\/td>\n<td style=\"text-align: left;\">Transformation<\/td>\n<td style=\"text-align: left;\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">Fuzzy Lookup<\/td>\n<td style=\"text-align: left;\"><strong>FZL<\/strong><\/td>\n<td style=\"text-align: left;\">Transformation<\/td>\n<td style=\"text-align: left;\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">Import Column<\/td>\n<td style=\"text-align: left;\"><strong>IMPC<\/strong><\/td>\n<td style=\"text-align: left;\">Transformation<\/td>\n<td style=\"text-align: left;\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">Lookup<\/td>\n<td style=\"text-align: left;\"><strong>LKP<\/strong><\/td>\n<td style=\"text-align: left;\">Transformation<\/td>\n<td style=\"text-align: left;\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">Merge<\/td>\n<td style=\"text-align: left;\"><strong>MRG<\/strong><\/td>\n<td style=\"text-align: left;\">Transformation<\/td>\n<td style=\"text-align: left;\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">Merge Join<\/td>\n<td style=\"text-align: left;\"><strong>MRGJ<\/strong><\/td>\n<td style=\"text-align: left;\">Transformation<\/td>\n<td style=\"text-align: left;\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">Multicast<\/td>\n<td style=\"text-align: left;\"><strong>MLT<\/strong><\/td>\n<td style=\"text-align: left;\">Transformation<\/td>\n<td style=\"text-align: left;\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">OLE DB Command<\/td>\n<td style=\"text-align: left;\"><strong>CMD<\/strong><\/td>\n<td style=\"text-align: left;\">Transformation<\/td>\n<td style=\"text-align: left;\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">Percentage Sampling<\/td>\n<td style=\"text-align: left;\"><strong>PSMP<\/strong><\/td>\n<td style=\"text-align: left;\">Transformation<\/td>\n<td style=\"text-align: left;\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">Pivot<\/td>\n<td style=\"text-align: left;\"><strong>PVT<\/strong><\/td>\n<td style=\"text-align: left;\">Transformation<\/td>\n<td style=\"text-align: left;\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">Row Count<\/td>\n<td style=\"text-align: left;\"><strong>CNT<\/strong><\/td>\n<td style=\"text-align: left;\">Transformation<\/td>\n<td style=\"text-align: left;\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">Row Sampling<\/td>\n<td style=\"text-align: left;\"><strong>RSMP<\/strong><\/td>\n<td style=\"text-align: left;\">Transformation<\/td>\n<td style=\"text-align: left;\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">Script Component<\/td>\n<td style=\"text-align: left;\"><strong>SCR<\/strong><\/td>\n<td style=\"text-align: left;\">Transformation<\/td>\n<td style=\"text-align: left;\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">Slowly Changing Dimension<\/td>\n<td style=\"text-align: left;\"><strong>SCD<\/strong><\/td>\n<td style=\"text-align: left;\">Transformation<\/td>\n<td style=\"text-align: left;\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">Sort<\/td>\n<td style=\"text-align: left;\"><strong>SRT<\/strong><\/td>\n<td style=\"text-align: left;\">Transformation<\/td>\n<td style=\"text-align: left;\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">Term Extraction<\/td>\n<td style=\"text-align: left;\"><strong>TEX<\/strong><\/td>\n<td style=\"text-align: left;\">Transformation<\/td>\n<td style=\"text-align: left;\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">Term Lookup<\/td>\n<td style=\"text-align: left;\"><strong>TEL<\/strong><\/td>\n<td style=\"text-align: left;\">Transformation<\/td>\n<td style=\"text-align: left;\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">Union All<\/td>\n<td style=\"text-align: left;\"><strong>ALL<\/strong><\/td>\n<td style=\"text-align: left;\">Transformation<\/td>\n<td style=\"text-align: left;\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">Unpivot<\/td>\n<td style=\"text-align: left;\"><strong>UPVT<\/strong><\/td>\n<td style=\"text-align: left;\">Transformation<\/td>\n<td style=\"text-align: left;\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">ADO NET Destination<\/td>\n<td style=\"text-align: left;\"><strong>ADO_DST<\/strong><\/td>\n<td style=\"text-align: left;\">Destination<\/td>\n<td style=\"text-align: left;\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">Azure Blob Destination<\/td>\n<td style=\"text-align: left;\"><strong>AB_DST<\/strong><\/td>\n<td style=\"text-align: left;\">Destination<\/td>\n<td style=\"text-align: left;\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">Data Mining Model Training<\/td>\n<td style=\"text-align: left;\"><strong>DMMT_DST<\/strong><\/td>\n<td style=\"text-align: left;\">Destination<\/td>\n<td style=\"text-align: left;\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">Data Streaming Destination<\/td>\n<td style=\"text-align: left;\"><strong>DS_DST<\/strong><\/td>\n<td style=\"text-align: left;\">Destination<\/td>\n<td style=\"text-align: left;\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">DataReaderDest<\/td>\n<td style=\"text-align: left;\"><strong>DR_DST<\/strong><\/td>\n<td style=\"text-align: left;\">Destination<\/td>\n<td style=\"text-align: left;\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">Dimension Processing<\/td>\n<td style=\"text-align: left;\"><strong>DP_DST<\/strong><\/td>\n<td style=\"text-align: left;\">Destination<\/td>\n<td style=\"text-align: left;\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">Excel Destination<\/td>\n<td style=\"text-align: left;\"><strong>EX_DST<\/strong><\/td>\n<td style=\"text-align: left;\">Destination<\/td>\n<td style=\"text-align: left;\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">Flat File Destination<\/td>\n<td style=\"text-align: left;\"><strong>FF_DST<\/strong><\/td>\n<td style=\"text-align: left;\">Destination<\/td>\n<td style=\"text-align: left;\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">HDFS File Destination<\/td>\n<td style=\"text-align: left;\"><strong>HDFS_DST<\/strong><\/td>\n<td style=\"text-align: left;\">Destination<\/td>\n<td style=\"text-align: left;\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">ODBC Destination<\/td>\n<td style=\"text-align: left;\"><strong>ODBC_DST<\/strong><\/td>\n<td style=\"text-align: left;\">Destination<\/td>\n<td style=\"text-align: left;\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">OLE DB Destination<\/td>\n<td style=\"text-align: left;\"><strong>OLE_DST<\/strong><\/td>\n<td style=\"text-align: left;\">Destination<\/td>\n<td style=\"text-align: left;\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">Partition Processing<\/td>\n<td style=\"text-align: left;\"><strong>PP_DST<\/strong><\/td>\n<td style=\"text-align: left;\">Destination<\/td>\n<td style=\"text-align: left;\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">Raw File Destination<\/td>\n<td style=\"text-align: left;\"><strong>RF_DST<\/strong><\/td>\n<td style=\"text-align: left;\">Destination<\/td>\n<td style=\"text-align: left;\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">Recordset Destination<\/td>\n<td style=\"text-align: left;\"><strong>RS_DST<\/strong><\/td>\n<td style=\"text-align: left;\">Destination<\/td>\n<td style=\"text-align: left;\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">SharePoint List Destination<\/td>\n<td style=\"text-align: left;\"><strong>SPL_DST<\/strong><\/td>\n<td style=\"text-align: left;\">Destination<\/td>\n<td style=\"text-align: left;\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">SQL Server Compact Destination<\/td>\n<td style=\"text-align: left;\"><strong>SSC_DST<\/strong><\/td>\n<td style=\"text-align: left;\">Destination<\/td>\n<td style=\"text-align: left;\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">SQL Server Destination<\/td>\n<td style=\"text-align: left;\"><strong>SS_DST<\/strong><\/td>\n<td style=\"text-align: left;\">Destination<\/td>\n<td style=\"text-align: left;\">\u00a0<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">Microsoft Dynamics 365 CE\/CRM Source<\/td>\n<td style=\"text-align: left;\"><strong>CRM_SRC<\/strong><\/td>\n<td style=\"text-align: left;\">Source<\/td>\n<td style=\"text-align: left;\">KingswaySoft Software<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">Microsoft Dynamics 365 CE\/CRM Destination<\/td>\n<td style=\"text-align: left;\"><strong>CRM_DST<\/strong><\/td>\n<td style=\"text-align: left;\">Destination<\/td>\n<td style=\"text-align: left;\">KingswaySoft Software<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">Oracle Eloqua Source<\/td>\n<td style=\"text-align: left;\"><strong>ELO_SRC<\/strong><\/td>\n<td style=\"text-align: left;\">Source<\/td>\n<td style=\"text-align: left;\">KingswaySoft Software<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">Oracle Eloqua Destination<\/td>\n<td style=\"text-align: left;\"><strong>ELO_DST<\/strong><\/td>\n<td style=\"text-align: left;\">Destination<\/td>\n<td style=\"text-align: left;\">KingswaySoft Software<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>Task Name<\/h2>\n<p>Zu guter Letzt\u2026 Nat\u00fcrlich sollte der eigentliche Task Name kurz und knapp das beschreiben, was die Task macht. Zum Beispiel Import Customer, Check Data Types, usw.<\/p>\n<h2>Namenskonvention<\/h2>\n<p>Innerhalb eines SSIS Paketes sollten alle Tasknamen, unabh\u00e4ngig davon ob es sich um einen Control Flow Task oder einen Data Flow Task handelt, eindeutig sein. Die folgende Namenskonvention stellt dieses sicher und folgt der folgenden Syntax:<\/p>\n<p><strong>XXXX [YYYY] ZZZ Name<\/strong><\/p>\n<p>mit<\/p>\n<p><strong>XXXX<\/strong><\/p>\n<ul>\n<li>Nummerierung der Control Flow Tasks.<\/li>\n<li>Die Nummerierung von Control Flow Tasks sollte 4-stellig sein.<\/li>\n<li>Bei kleinen Nummern sind f\u00fchrende Nullen voranzustellen.<\/li>\n<li>Die Nummerierung sollte L\u00fccken aufweisen, um eine nachtr\u00e4gliche \u00c4nderung der Reihenfolge durch Ver\u00e4nderung der Precedence Constraints zu vereinfachen.<\/li>\n<\/ul>\n<p><strong>YYYY<\/strong><\/p>\n<ul>\n<li>Nummerierung der Data Flow Tasks<\/li>\n<li>Die Nummerierung von Data Flow Tasks enth\u00e4lt als Pr\u00e4fix immer die Nummer der Control Flow Task vom Typ Data Flow (<strong>XXXX<\/strong>).<\/li>\n<li>Die Nummerierung von Data Flow Tasks sollte 4-stellig sein.<\/li>\n<li>Bei kleinen Nummern sind f\u00fchrende Nullen voranzustellen.<\/li>\n<li>Die Nummerierung sollte L\u00fccken aufweisen, um eine nachtr\u00e4gliche \u00c4nderung der Reihenfolge durch Ver\u00e4nderung der Precedence Constraints zu vereinfachen.<\/li>\n<\/ul>\n<p><strong>ZZZ<\/strong><\/p>\n<ul>\n<li>Pr\u00e4fix, der den Typ der Control Flow oder Data Flow Task identifiziert.<\/li>\n<li>Liste mit Pr\u00e4fixen (s.o.)<\/li>\n<\/ul>\n<p><strong>Name<\/strong><\/p>\n<ul>\n<li>Kurze und bedeutungsvolle Umschreibung dessen, was die Aufgabe der Task ist.<\/li>\n<\/ul>\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Die Festlegung von Programmierrichtlinien und Namenskonventionen macht nur dann Sinn, wenn sie Gewinn bringend eingesetzt werden k\u00f6nnen. Voraussetzung hierf\u00fcr ist, dass die Vorteile klar identifiziert und benannt werden k\u00f6nnen. Die Lesbarkeit und Wartbarkeit von Code steht im Allgemeinen im Vordergrund. Im Falle von SQL Server Integration Services (SSIS) kommt jedoch noch ein weiterer Aspekt hinzu: &#8230; <a title=\"Namenskonvention f\u00fcr SSIS Tasks\" class=\"read-more\" href=\"https:\/\/staging.sql.marcus-belz.de\/?p=479\" aria-label=\"Mehr Informationen \u00fcber Namenskonvention f\u00fcr SSIS Tasks\">Weiterlesen<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4,5],"tags":[14,9,15],"class_list":["post-479","post","type-post","status-publish","format-standard","hentry","category-all-languages","category-german","tag-multi-developer-environment","tag-naming-convention","tag-ssis"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Namenskonvention f\u00fcr SSIS Tasks - Just another SQL blog<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/staging.sql.marcus-belz.de\/?p=479\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Namenskonvention f\u00fcr SSIS Tasks - Just another SQL blog\" \/>\n<meta property=\"og:description\" content=\"Die Festlegung von Programmierrichtlinien und Namenskonventionen macht nur dann Sinn, wenn sie Gewinn bringend eingesetzt werden k\u00f6nnen. Voraussetzung hierf\u00fcr ist, dass die Vorteile klar identifiziert und benannt werden k\u00f6nnen. Die Lesbarkeit und Wartbarkeit von Code steht im Allgemeinen im Vordergrund. Im Falle von SQL Server Integration Services (SSIS) kommt jedoch noch ein weiterer Aspekt hinzu: ... Weiterlesen\" \/>\n<meta property=\"og:url\" content=\"https:\/\/staging.sql.marcus-belz.de\/?p=479\" \/>\n<meta property=\"og:site_name\" content=\"Just another SQL blog\" \/>\n<meta property=\"article:published_time\" content=\"2018-06-18T22:12:18+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-05-07T00:26:24+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/staging.sql.marcus-belz.de\/wp-content\/uploads\/2018\/06\/post0011001-1024x324.png\" \/>\n<meta name=\"author\" content=\"marcus\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Geschrieben von\" \/>\n\t<meta name=\"twitter:data1\" content=\"marcus\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"9\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/staging.sql.marcus-belz.de\\\/?p=479#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/staging.sql.marcus-belz.de\\\/?p=479\"},\"author\":{\"name\":\"marcus\",\"@id\":\"https:\\\/\\\/staging.sql.marcus-belz.de\\\/#\\\/schema\\\/person\\\/98ab042e47d7286f64530ee18f20f675\"},\"headline\":\"Namenskonvention f\u00fcr SSIS Tasks\",\"datePublished\":\"2018-06-18T22:12:18+00:00\",\"dateModified\":\"2026-05-07T00:26:24+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/staging.sql.marcus-belz.de\\\/?p=479\"},\"wordCount\":1716,\"image\":{\"@id\":\"https:\\\/\\\/staging.sql.marcus-belz.de\\\/?p=479#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/staging.sql.marcus-belz.de\\\/wp-content\\\/uploads\\\/2018\\\/06\\\/post0011001-1024x324.png\",\"keywords\":[\"Multi Developer Environment\",\"Naming Convention\",\"SSIS\"],\"articleSection\":[\"All Languages\",\"German\"],\"inLanguage\":\"de\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/staging.sql.marcus-belz.de\\\/?p=479\",\"url\":\"https:\\\/\\\/staging.sql.marcus-belz.de\\\/?p=479\",\"name\":\"Namenskonvention f\u00fcr SSIS Tasks - Just another SQL blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/staging.sql.marcus-belz.de\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/staging.sql.marcus-belz.de\\\/?p=479#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/staging.sql.marcus-belz.de\\\/?p=479#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/staging.sql.marcus-belz.de\\\/wp-content\\\/uploads\\\/2018\\\/06\\\/post0011001-1024x324.png\",\"datePublished\":\"2018-06-18T22:12:18+00:00\",\"dateModified\":\"2026-05-07T00:26:24+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/staging.sql.marcus-belz.de\\\/#\\\/schema\\\/person\\\/98ab042e47d7286f64530ee18f20f675\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/staging.sql.marcus-belz.de\\\/?p=479#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/staging.sql.marcus-belz.de\\\/?p=479\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/staging.sql.marcus-belz.de\\\/?p=479#primaryimage\",\"url\":\"https:\\\/\\\/staging.sql.marcus-belz.de\\\/wp-content\\\/uploads\\\/2018\\\/06\\\/post0011001.png\",\"contentUrl\":\"https:\\\/\\\/staging.sql.marcus-belz.de\\\/wp-content\\\/uploads\\\/2018\\\/06\\\/post0011001.png\",\"width\":1133,\"height\":358},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/staging.sql.marcus-belz.de\\\/?p=479#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/staging.sql.marcus-belz.de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Namenskonvention f\u00fcr SSIS Tasks\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/staging.sql.marcus-belz.de\\\/#website\",\"url\":\"https:\\\/\\\/staging.sql.marcus-belz.de\\\/\",\"name\":\"Just another SQL blog\",\"description\":\"Marcus Belz \u00b7 SQL Server \u00b7 ETL \u00b7 Datenqualit\u00e4t\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/staging.sql.marcus-belz.de\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/staging.sql.marcus-belz.de\\\/#\\\/schema\\\/person\\\/98ab042e47d7286f64530ee18f20f675\",\"name\":\"marcus\",\"url\":\"https:\\\/\\\/staging.sql.marcus-belz.de\\\/?author=1\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Namenskonvention f\u00fcr SSIS Tasks - Just another SQL blog","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/staging.sql.marcus-belz.de\/?p=479","og_locale":"de_DE","og_type":"article","og_title":"Namenskonvention f\u00fcr SSIS Tasks - Just another SQL blog","og_description":"Die Festlegung von Programmierrichtlinien und Namenskonventionen macht nur dann Sinn, wenn sie Gewinn bringend eingesetzt werden k\u00f6nnen. Voraussetzung hierf\u00fcr ist, dass die Vorteile klar identifiziert und benannt werden k\u00f6nnen. Die Lesbarkeit und Wartbarkeit von Code steht im Allgemeinen im Vordergrund. Im Falle von SQL Server Integration Services (SSIS) kommt jedoch noch ein weiterer Aspekt hinzu: ... Weiterlesen","og_url":"https:\/\/staging.sql.marcus-belz.de\/?p=479","og_site_name":"Just another SQL blog","article_published_time":"2018-06-18T22:12:18+00:00","article_modified_time":"2026-05-07T00:26:24+00:00","og_image":[{"url":"https:\/\/staging.sql.marcus-belz.de\/wp-content\/uploads\/2018\/06\/post0011001-1024x324.png","type":"","width":"","height":""}],"author":"marcus","twitter_card":"summary_large_image","twitter_misc":{"Geschrieben von":"marcus","Gesch\u00e4tzte Lesezeit":"9\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/staging.sql.marcus-belz.de\/?p=479#article","isPartOf":{"@id":"https:\/\/staging.sql.marcus-belz.de\/?p=479"},"author":{"name":"marcus","@id":"https:\/\/staging.sql.marcus-belz.de\/#\/schema\/person\/98ab042e47d7286f64530ee18f20f675"},"headline":"Namenskonvention f\u00fcr SSIS Tasks","datePublished":"2018-06-18T22:12:18+00:00","dateModified":"2026-05-07T00:26:24+00:00","mainEntityOfPage":{"@id":"https:\/\/staging.sql.marcus-belz.de\/?p=479"},"wordCount":1716,"image":{"@id":"https:\/\/staging.sql.marcus-belz.de\/?p=479#primaryimage"},"thumbnailUrl":"https:\/\/staging.sql.marcus-belz.de\/wp-content\/uploads\/2018\/06\/post0011001-1024x324.png","keywords":["Multi Developer Environment","Naming Convention","SSIS"],"articleSection":["All Languages","German"],"inLanguage":"de"},{"@type":"WebPage","@id":"https:\/\/staging.sql.marcus-belz.de\/?p=479","url":"https:\/\/staging.sql.marcus-belz.de\/?p=479","name":"Namenskonvention f\u00fcr SSIS Tasks - Just another SQL blog","isPartOf":{"@id":"https:\/\/staging.sql.marcus-belz.de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/staging.sql.marcus-belz.de\/?p=479#primaryimage"},"image":{"@id":"https:\/\/staging.sql.marcus-belz.de\/?p=479#primaryimage"},"thumbnailUrl":"https:\/\/staging.sql.marcus-belz.de\/wp-content\/uploads\/2018\/06\/post0011001-1024x324.png","datePublished":"2018-06-18T22:12:18+00:00","dateModified":"2026-05-07T00:26:24+00:00","author":{"@id":"https:\/\/staging.sql.marcus-belz.de\/#\/schema\/person\/98ab042e47d7286f64530ee18f20f675"},"breadcrumb":{"@id":"https:\/\/staging.sql.marcus-belz.de\/?p=479#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/staging.sql.marcus-belz.de\/?p=479"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/staging.sql.marcus-belz.de\/?p=479#primaryimage","url":"https:\/\/staging.sql.marcus-belz.de\/wp-content\/uploads\/2018\/06\/post0011001.png","contentUrl":"https:\/\/staging.sql.marcus-belz.de\/wp-content\/uploads\/2018\/06\/post0011001.png","width":1133,"height":358},{"@type":"BreadcrumbList","@id":"https:\/\/staging.sql.marcus-belz.de\/?p=479#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/staging.sql.marcus-belz.de\/"},{"@type":"ListItem","position":2,"name":"Namenskonvention f\u00fcr SSIS Tasks"}]},{"@type":"WebSite","@id":"https:\/\/staging.sql.marcus-belz.de\/#website","url":"https:\/\/staging.sql.marcus-belz.de\/","name":"Just another SQL blog","description":"Marcus Belz \u00b7 SQL Server \u00b7 ETL \u00b7 Datenqualit\u00e4t","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/staging.sql.marcus-belz.de\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Person","@id":"https:\/\/staging.sql.marcus-belz.de\/#\/schema\/person\/98ab042e47d7286f64530ee18f20f675","name":"marcus","url":"https:\/\/staging.sql.marcus-belz.de\/?author=1"}]}},"_links":{"self":[{"href":"https:\/\/staging.sql.marcus-belz.de\/index.php?rest_route=\/wp\/v2\/posts\/479","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/staging.sql.marcus-belz.de\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/staging.sql.marcus-belz.de\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/staging.sql.marcus-belz.de\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/staging.sql.marcus-belz.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=479"}],"version-history":[{"count":10,"href":"https:\/\/staging.sql.marcus-belz.de\/index.php?rest_route=\/wp\/v2\/posts\/479\/revisions"}],"predecessor-version":[{"id":948,"href":"https:\/\/staging.sql.marcus-belz.de\/index.php?rest_route=\/wp\/v2\/posts\/479\/revisions\/948"}],"wp:attachment":[{"href":"https:\/\/staging.sql.marcus-belz.de\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=479"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/staging.sql.marcus-belz.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=479"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/staging.sql.marcus-belz.de\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=479"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}