DTS - Überblick und Erweiterungen im Microsoft SQL Server 2000 Andreas Siebe Microsoft GmbH Partner Group Agenda Warum DTS Wo steht DTS heute DTS 2000 Features Folie 2 von 30 Data Warehouse Prozeß Design Aufbau Analyse Folie 3 von 30 Data Transformation Service Ein Tool, um Daten zwischen beliebigen Datenquellen auszutauschen, zu transformieren und zu validieren Folie 4 von 30 DTS Projektziel Mache es einfach, heterogene Daten mittels OLE DB und ODBC zu: Importieren Exportieren Transformieren …Außerdem dient es als erweiterbares Workflow / Jobexecutiuon Tool! Folie 5 von 30 DTS, SQL Server 2000 Heute • • • • • SQL Server 2000 Transformierbare Replikation Office 2000 MSDE Visual Studio Interne MS Werkzeuge Morgen Commerce Server 2000 Host Integration Server 2000 Folie 6 von 30 DTS, SQL Server 7.0 Was überzeugte Assistenten Offene Architektur • OLE DB • COM • „ActiveX Scripting“ „Workflow“ Geschwindigkeit • „Bulk Insert“ • „Data Pump“ SQL Server Metadaten/Datenherkunft Folie 7 von 30 DTS in SQL 2000 Ziele Kommen aus Benutzer Feedback Inkrementales Release – Fehler beheben, Fehlendes hinzufügen • • • • • • • Heterogene Daten / Interoperabilität Benutzbarkeit Verteilbarkeit Flexibilität Programmierbarkeit Geschwindigkeit Produktinformation Folie 8 von 30 Heterogene Daten / Interoperabilität OLE DB • 2.5/2.6 Unterstützung • • • Datentypen Unterstützung für hierarchische Datensatzgruppen Neue OLE DB Provider ( Exchange, Active Directory, …) OLAP Integration • • „Cube Processing Task“ „Data Mining Tasks“ Folie 9 von 30 Benutzbarkeit Designer – Viele kleine Verbesserungen “Disconnected Edit” Neue Transformierbefehle • Editieren von Transformationseigenschaften • • Uppercase, LowerCase, TrimString, DateFormat, Read/Write File Hinzufügen/Entfernen von Spalten in Transformationen Umbenennen von Transformationen DTSRunUI ActiveX Script Browser Folie 10 von 30 Demo Benutzbarkeit Folie 11 von 30 Verteilbarkeit FTP Aufgabe Dynamische Eigenschaften Aufgabe MSMQ Aufgabe Globale Variablen als Befehlszeilenparameter Globale Variablen als Quellparameter Laufzeit UDL-Bindung Folie 12 von 30 Demo Verteilbarkeit Folie 13 von 30 Flexibilität Paketebene • Protokolltabellen in MSDB • Status und Informationsanzeige für CDW • Speichern von ADO Datensatzgruppen in globale Variable Schritte • Option: Paket mit Fehler beenden SQL Task – Ergebnis globalen Variablen zuweisen Execute Package Task Exec Folie 14 von 30 Flexibilität Datenpumpe Aufgabe Transformieren von Daten, „DDQ“, Parallele Datenpumpe Neue Informationsstruktur Fehlerprotokoll • • • 7.0 Format Fehlerzeilen (Quelle und/oder Ziel) Fehler Information Phasen der Datenpumpe • • Zugriff auf den Datenstrom an mehreren Stellen Szenarien: Erneute Zeilenverarbeitung, Aggregation, „Lookups“ im Speicher, Benutzerdefinierte Fehlerbehandlung, … Folie 15 von 30 Was sind Phasen? DTS hat in 7.0 nur Eine • Zeilen-Transformation • …sie war verbindlich Eine Quelle • Daten / Metadaten Ein Ziel • Optional beschreibbar innerhalb der Transformation 0..N Transformationen • N = Anzahl der Zielspalten Folie 16 von 30 Die Multiphasen Datenpumpe Post Row X Form Fehler Batch Complete Pre Source Row X Form Insert Fehler Post Source Insert Erfolg - Einmalige Ausführung - Mehrmalige Ausführung - Transformation Pump Complete Folie 17 von 30 Die Multiphasen Datenpumpe Post Row X Form Fehler Batch Complete Pre Source Row X Form Insert Fehler Insert Erfolg C++ oder ActiveX Script X Formationen Post Source Pump Complete Folie 18 von 30 Demo Die Multiphasen Pumpe Folie 19 von 30 Programmierbarkeit SpeichernUnter ...VB Parallele Datenpumpe • Zugriff nur vom Code her ADO Datensatzgruppe als globale Variable Multiphasen Datenpumpe Custom Tasks • Protokoll in MSDB Die meisten Objekte haben ein V2Interface Überarbeitetes Objektmodell Folie 20 von 30 Programmierbarkeit bei DTS 2000 – Einstellungen auf Designer-Ebene Neu • Caching • OLE DB Provider • Active Script Engines • Custom Transforms • C++ Only • ATL Vorlagen • JIT Debugging Folie 21 von 30 Demo Programmieren Folie 22 von 30 Geschwindigkeit Automatischer Gewinn • MDAC 2.5/2.6 • Custom Transforms sind schneller als in Script erstellte • Repository Version 3 Geringerer Speicherbedarf • Dialoge • Designer • Assistenten „Startup“ Zeit – „Caching“ hinzugefügt Folie 23 von 30 PerformanceTransform Data Task Options 1 Million Rows mixed Data Load Options Parallelism Batch 10k + Table Lock Batch 10,000 1 Batch 100,000 DB Options Default Folie 24 von 30 Performance Transform Data Task vs DDQ Load Options 1 Million rows mixed data 1 Batch 10k + Table Lock DDQ Folie 25 von 30 Performance Transformation Options Transformation Options 1 Million rows mixed data 1 T-SQL Custom Transform Ax Upper Case Folie 26 von 30 Produktinformationen Eigenständige Gruppe für die Erstellung von Produktinformationen Neue Programmierunterlagen • Beispiele in VB und VC Szenarienbeispiele • “Wie implementiere ich Updates in DTS, es funktionieren nur Inserts” Mehrere und bessere Scriptingbeispiele • VB Script und Jscript DTS Vorlagen( .dtt ) Folie 27 von 30 Fragen!? Uff... Folie 28 von 30 Weitere Infos • msnews.microsoft.com • public.microsoft.sqlserver.dts public.microsoft.sqlserver.datawarehouse public.microsoft.sqlserver.programming http://www.microsoft.com/sql • • • • • http://msdn.microsoft.com/sqlserver/Default.asp http://msdn.microsoft.com/library/default.asp?URL=/l ibrary/techart/dts_overview.htm Folie 29 von 30 Empower people through great software any time, any place, and on any device Folie 30 von 30