Evolution statt Revolution Willfried Färber MVP SQL Server.

49
Integration Services 2008 Evolution statt Revolution Willfried Färber MVP SQL Server

Transcript of Evolution statt Revolution Willfried Färber MVP SQL Server.

Page 1: Evolution statt Revolution Willfried Färber MVP SQL Server.

Integration Services 2008

Evolution statt Revolution

Willfried FärberMVP SQL Server

Page 2: Evolution statt Revolution Willfried Färber MVP SQL Server.

AGENDA

SSIS 2008: Alles wird besserDer erste Schritt: „Import und Export Assistent“Eine neue Möglichkeit in der Script TaskFür Profis: Die neue Architektur des DatenflussesDatenprofilingÄnderungen beim LookupSCD für Fortgeschrittene

Page 3: Evolution statt Revolution Willfried Färber MVP SQL Server.

AGENDA

Erfassung von DatenänderungenDump für alle FälleFragen und Antworten

Page 4: Evolution statt Revolution Willfried Färber MVP SQL Server.

Vorbemerkungen

Das sollte kein Neuland sein …Sie wissen was ETL istSie kennen bereits SSIS aus dem SQL Server 2005Sie wissen warum SSIS ein wichtiges Werkzeug ist

Ich zeige Ihnen Betacode

Wahrscheinlich reicht die Zeit nicht …..Sie bekommen die Folien zum Nachlesen

Page 5: Evolution statt Revolution Willfried Färber MVP SQL Server.

Zusätzliche neue Funktionalitäten

Noch nicht offiziell angekündigt

Page 6: Evolution statt Revolution Willfried Färber MVP SQL Server.

Zum Beispiel: Enumeratoren

ForEach Database EnumeratorBenutzt OLEDB als VerbindungsmanagerServer der durchlaufen werden soll kann konfiguriert werden

Sehr interessantes Benutzerinterface

Nicht jede Innovation setzt sich durch

Page 7: Evolution statt Revolution Willfried Färber MVP SQL Server.

DB Enumeration Types

DBENUM_CUSTOM = 0DBENUM_SYSTEMONLY = 1DBENUM_USERONLY = 2DBENUM_ALL = 3

Page 8: Evolution statt Revolution Willfried Färber MVP SQL Server.

Neues Datenziel

Die „DataReader“ Datenquelle verschwindet

Heißt jetzt „ADO.Net“ DatenquelleEs gibt jetzt auch ein ADO.Net Datenziel

Kein Scriptkode für ODBC Datenquellen mehr notwendig

ADO.Datenquelle / Ziel ist komfortabelAllerdings 5 bis 10 Prozent langsamer als OLE.DBBestimme Tasks brauchen explizit die ADO.Net Datenquelle

Page 9: Evolution statt Revolution Willfried Färber MVP SQL Server.

AD

O.N

et S

ou

rce A

dap

ter

AD

O.N

et S

ou

rce A

dap

ter

Page 10: Evolution statt Revolution Willfried Färber MVP SQL Server.

AD

O.N

et D

estin

atio

n A

dapte

r für

OD

BC

AD

O.N

et D

estin

atio

n A

dapte

r für

OD

BC

Page 11: Evolution statt Revolution Willfried Färber MVP SQL Server.

Der neue „Import und Export Assistent“

Für einfache Import- und Exportvorgänge das Richtige

Alle Datenquellen und Ziele aus SSIS werden unterstütztKomplett Assistenten gesteuertAuch beim Kopieren von vielen Tabellen effektivGanz geringe Eingriffsmöglichkeiten für eine Transformation

Page 12: Evolution statt Revolution Willfried Färber MVP SQL Server.

DTS Wizard

Demo

Page 13: Evolution statt Revolution Willfried Färber MVP SQL Server.
Page 14: Evolution statt Revolution Willfried Färber MVP SQL Server.

Die neue Script Umgebung

Die VSA Umgebung wird durch die VSTA Umgebung ersetzt.

Jetzt ist es wirklich Visual StudioUnterstützte Sprachen

Visual BasicC#

Referenzen zu allen .Net Assemblies einfach möglichFür Webservices kann einfach eine Proxie Klasse erzeugt werdenCodesnippets auch in SSIS möglich

Page 15: Evolution statt Revolution Willfried Färber MVP SQL Server.

VSTA ersetzt VSA

Die neue Scriptumgebung

Demo

Page 16: Evolution statt Revolution Willfried Färber MVP SQL Server.

C#

Scrip

Transfo

rm A

ufru

f ein

es W

ebse

rvice

sC

# S

crip Tra

nsfo

rm A

ufru

f ein

es W

ebse

rvice

s

Page 17: Evolution statt Revolution Willfried Färber MVP SQL Server.

Die neue Architektur des Datenflusses

JetztNeue Implementierung des Thread Schedulers

Verbesserte Parallelisierung der Verarbeitung im DatenflussDeutliche Verbesserung bei der Performance und bei der Ausnutzung vorhandener Prozessoren

Je nach Design des Datenflusses um bis zu 50 % LeistungssteigerungWeniger Zeitaufwand für manuelles TuningDer Datenfluss „funktioniert“ einfach ….

Page 18: Evolution statt Revolution Willfried Färber MVP SQL Server.

Komplexer Datenfluss

Page 19: Evolution statt Revolution Willfried Färber MVP SQL Server.

Ausführungsplan Datenfluss

Page 20: Evolution statt Revolution Willfried Färber MVP SQL Server.
Page 21: Evolution statt Revolution Willfried Färber MVP SQL Server.

Ausnutzung der CPUsSSIS 2005

SSIS 2008

Bis zu 80% schneller* * Dieser Wert kann natürlich variieren

Page 22: Evolution statt Revolution Willfried Färber MVP SQL Server.

Datenprofiling

Wie sehen die Daten wirklich ausGenaues kennen der Daten ist im ETL Prozess sehr wichtig

Bisher durch Abfragen auf die DatenDatenquellensicht konnte für einfache Fälle verwendet werden

Jetzt gibt es eine eigene „Data Profiling“ Task

Erfordert eine ADO.Net DatenquelleFunktioniert nur mit dem SQL Server

Page 23: Evolution statt Revolution Willfried Färber MVP SQL Server.

Die Data Profiling Task

Demo

Page 24: Evolution statt Revolution Willfried Färber MVP SQL Server.

Date

n P

rofilin

g Ta

sk O

berfl

äch

eD

ate

n P

rofilin

g Ta

sk O

berfl

äch

e

Page 25: Evolution statt Revolution Willfried Färber MVP SQL Server.

Optio

n: Q

uick P

rofile

Optio

n: Q

uick P

rofile

Page 26: Evolution statt Revolution Willfried Färber MVP SQL Server.

Verte

ilun

g d

er W

erte

in

ein

er S

palte

Verte

ilun

g d

er W

erte

in

ein

er S

palte

Page 27: Evolution statt Revolution Willfried Färber MVP SQL Server.

Wie

lvie

l Werte

in e

iner

Spalte

sind

NU

LLW

ielv

iel W

erte

in e

iner

Spalte

sind

NU

LL

Page 28: Evolution statt Revolution Willfried Färber MVP SQL Server.

Colu

mn

Patte

rn P

rofile

Colu

mn

Patte

rn P

rofile

Page 29: Evolution statt Revolution Willfried Färber MVP SQL Server.

Die Suche Transformation

Die Referenzdaten können von jeder beliebigen Datenquelle geladen werdenDer Cache für die Suche-Transformation kann explizit gespeichert werdenDer Cache kann zu jedem beliebigen Zeitpunkt geladen werden.

Kann sehr schnell gelesen und geschrieben werden (Rohdatenformat mit Ergänzungen)

Es gibt einen eigenen „Nicht gefunden“ Datenpfad

Page 30: Evolution statt Revolution Willfried Färber MVP SQL Server.

SSIS Suche TransformationErster Schritt

Der Cache wird von einer beliebigen Datenquelle gefüllt und gespeichert

Weitere VerarbeitungDer Cache wird von der Platte geladen

customer .csv

Ablegen des Caches auf der Platte oder im Speicher

Fact Sales

Einlesen des Caches von der Platte oder Nutzung im Speicher

Der Cache bleibt bestehen und

kann mehrfach genutzt werden

Page 31: Evolution statt Revolution Willfried Färber MVP SQL Server.

Die verbesserte Suche Transformation

Demo

Page 32: Evolution statt Revolution Willfried Färber MVP SQL Server.

SCD für Fortgeschrittene

Der „Langsam veränderliche Dimension“ Assistent hat einen schlechten Ruf

Kann durch geschickte Ausnutzung der Möglichkeiten auch mit großen Datenmengen umgehen

Allerdings ist dafür Handarbeit notwendig

Der „Merge“ Befehl des SQL Servers 2008 kann für SCD Typ 1 und SCD Typ2 verwendet werden.

Aufruf des TSQL Befehls in der Ablaufsteuerung

„Ausführen SQL“ Task

Page 33: Evolution statt Revolution Willfried Färber MVP SQL Server.

Der Mergebefehl

Steht in jeder Version des SQL Servers 2008 zur Verfügung

Kann natürlich auch außerhalb von SSIS verwendet werden

Führt Update, Insert oder Delete innerhalb eines Befehls aus

Da nur ein Durchlauf durch die Zieltabelle notwendig ist, meistens deutlich effektiver als getrennte Befehle

Kann bei größeren Datenmengen die SCD Transformation ersetzen

Page 34: Evolution statt Revolution Willfried Färber MVP SQL Server.

MERGE Syntax[ WITH <common_table_expression> [ ,…n ] ]MERGE

[ TOP (expression) [ PERCENT ] ][ INTO ] <target_table> [ [ AS ] table_alias ] [ WITH( <merge_hint> ) ]USING <table_source>ON <search_condition><merge_clause> [ …n ][ OUTPUT <dml_select_list> ][ OPTION ( <query_hint> [ ,…n ] ) ]

;

<merge_clause>:={

WHEN MATCHED [ AND <search_condition> ] THEN { UPDATE SET <set_clause> | DELETE }

| WHEN [ TARGET ] NOT MATCHED [ AND <search_condition> ]THEN INSERT [ (column_list) ]

{ VALUES (values_list) | DEFAULT VALUES }| WHEN SOURCE NOT MATCHED [ AND <search_condition> ]

THEN { UPDATE SET <set_clause> | DELETE }}

■ SQL Standard MERGE Extensions ■ Proprietary Syntax Extensions

Page 35: Evolution statt Revolution Willfried Färber MVP SQL Server.

Example: Daten SynchronisierungCREATE TABLE Original (o_pk INT PRIMARY KEY, o_name VARCHAR(10), o_number INT);CREATE TABLE Replica (r_pk INT PRIMARY KEY, r_name VARCHAR(10), r_number INT);

CREATE PROCEDURE usp_SyncReplica ASMERGE Replica

USING Original ON o_pk = r_pkWHEN MATCHED

AND (o_name != r_name OR o_number != r_number) THEN

-- Row exists but data differsUPDATE SET r_name = o_name, r_number =

o_numberWHEN SOURCE NOT MATCHED THEN

-- Row exists in Replica but not OriginalDELETE

WHEN NOT MATCHED THEN -- Row exists in Original but not Replica INSERT VALUES (o_pk, o_name, o_number)

OUTPUT $action, inserted.r_pk, deleted.r_pk;

Page 36: Evolution statt Revolution Willfried Färber MVP SQL Server.

Example: UPSERT – SQL 2005CREATE TABLE MyTable(pk INT PRIMARY KEY, name VARCHAR(10), number INT);

CREATE PROCEDURE Legacy_Upsert_1 @pk INT, @name VARCHAR(10), @number INT

ASUPDATE MyTable SET name = @name, number = @number WHERE pk = @pk-- Row is updated even if all the values are correct

IF (@@ROWCOUNT = 0)INSERT MyTable VALUES(@pk, @name, @number)-- If row did not exist, a second statement execution is required

CREATE PROCEDURE Legacy_Upsert_2 @pk INT, @name VARCHAR(10), @number INT

AS-- Updating only if any column needs to be changed requires an extra statementIF EXISTS (SELECT 1 FROM MyTable WHERE pk = @pk)

UPDATE MyTable SET name = @name, number = @numberWHERE pk = @pk AND (name <> @name OR number <>

@number)ELSE

INSERT MyTable VALUES(@pk, @name, @number)

Page 37: Evolution statt Revolution Willfried Färber MVP SQL Server.

Example: Merge mit SQL Server 2008CREATE PROCEDURE Merge_Upsert

@pk INT, @name VARCHAR(10), @number INTAS

MERGE MyTable tUSING (SELECT @pk AS pk, @name AS name,

@number AS number) sON t.pk = s.pkWHEN MATCHEDAND (t.name <> s.name OR t.number <>

s.number) THENUPDATE SET name = s.name, number =

s.numberWHEN NOT MATCHED THEN

INSERT VALUES (pk, name, number);

Page 38: Evolution statt Revolution Willfried Färber MVP SQL Server.

Beispiel: Aktienhandel CREATE TABLE Stock (Stock VARCHAR(10) PRIMARY KEY, Qty INT CHECK (Qty > 0));CREATE TABLE Trades (Stock VARCHAR(10) PRIMARY KEY, Delta INT CHECK (Delta <> 0));

INSERT Stock VALUES('MSFT', 10), ('BOEING', 5);INSERT Trades VALUES('MSFT', 5), ('BOEING', -5), ('GE', 3);

MERGE Stock as SUSING Trades as TON S.Stock = T.StockWHEN MATCHED AND (S.Qty + T.Delta = 0) THEN

DELETE -- delete stock if entirely soldWHEN MATCHED THEN

-- delete takes precedence on updateUPDATE SET S.Qty += T.Delta

WHEN NOT MATCHED THENINSERT VALUES (Stock, Delta);

-- BOEING is deleted, GE inserted, MSFT updated

Page 39: Evolution statt Revolution Willfried Färber MVP SQL Server.

Inkrementelle Verarbeitung

Das Schlüsselwort heißt Change Data Capture

Nur geänderte Datensätze werden verarbeitetSteht im SQL Server 2008 zur Verfügung

Kann natürlich auch für SSIS genutzt werden

Page 40: Evolution statt Revolution Willfried Färber MVP SQL Server.

Dumpfiles innerhalb von SSIS

Schalter bei DTExec und DTExecUI/Dump

Erzeugt immer einen Dump bei einem Fehler

/DumpOnErrorErzeugt nur einen Dump bei einem oder mehreren bestimmten Fehlern

Eintrag in der RegistryDump wird in zwei Formaten erzeugt

*.mdmp – binäres File für den Microsoft Support*.tmp – textbasierter Dump

Page 41: Evolution statt Revolution Willfried Färber MVP SQL Server.

Dumpfiles innerhalb von SSIS

Gleiche Technik wie Dr. WatsonDer Microsoft Support kann jetzt wirklich schnell helfen

Für schwierige FälleBeim ResourcenverbrauchBei logischen ProblemenBei hartnäckigen Problemen mit der Laufzeitumgebung

Das Dumpfile legt Ihre Geheimnisse auf den Tisch

Page 42: Evolution statt Revolution Willfried Färber MVP SQL Server.

Dumpfile in SSIS

Dumpfile wird unter %ProgramFiles%\Microsoft SQL Server\100\Shared\ErrorDumps abgelegt

*.tmp Format ist Text*.mdmp für den Microsoft Support

Informationen überEnvironmentDynamic-Link LibrariesLetzten Meldungen aus einem Ringpuffer

Page 43: Evolution statt Revolution Willfried Färber MVP SQL Server.

Zusammenfassung

Es hat sich mehr getan, als man glaubt

SSIS profitiert von Erweiterungen in der Relationalen Datenbank

Change Data CaptureMerge

Jede Menge „unsichtbare“ Verbesserungen

Optimierter DatenflussDumpfile

Sichtbare ÄnderungenVerbesserungen bei der Suche TransformationNeue Scriptumgebung…..

Page 44: Evolution statt Revolution Willfried Färber MVP SQL Server.

Fragen und Antworten

Willfried FärberMVP für den SQL [email protected]

Page 45: Evolution statt Revolution Willfried Färber MVP SQL Server.

Sie sind nicht alle …

SQLPass e.V Deutschland

http://www.sqlpass.de

Page 46: Evolution statt Revolution Willfried Färber MVP SQL Server.

Ask the ExpertsWir freuen uns auf Ihre Fragen: Technische Experten stehen Ihnen während der gesamten Veranstaltung in der Haupthalle zur Verfügung.

Page 47: Evolution statt Revolution Willfried Färber MVP SQL Server.

Mehr Informationen

Microsoft BIwww.microsoft.com/bi

SQL Server Integration Services http://www.microsoft.com/sql/technologies/integration/default.mspx

Guided Tours for SSIS http://www.microsoft.com/sql/technologies/integration/tours.mspx

Technical Portal for SSIS http://www.microsoft.com/technet/prodtechnol/sql/2005/technologies/ssisvcs.mspx

Developer Portal for SSIS http://msdn2.microsoft.com/en-us/sql/aa336312.aspx

Page 48: Evolution statt Revolution Willfried Färber MVP SQL Server.

ResourcesTechnical Communities, Webcasts, Blogs, Chats & User Groupshttp://www.microsoft.com/communities/default.mspx

Microsoft Developer Network (MSDN) & TechNet http://microsoft.com/msdn http://microsoft.com/technet

Trial Software and Virtual Labshttp://www.microsoft.com/technet/downloads/trials/default.mspx

Microsoft Learning and Certificationhttp://www.microsoft.com/learning/default.mspx

Page 49: Evolution statt Revolution Willfried Färber MVP SQL Server.

© 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.

The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after

the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.