evolution statt revolution willfried färber mvp sql server
TRANSCRIPT
![Page 1: Evolution statt Revolution Willfried Färber MVP SQL Server](https://reader036.vdocuments.net/reader036/viewer/2022062404/55204d7549795902118ca021/html5/thumbnails/1.jpg)
Integration Services 2008
Evolution statt Revolution
Willfried FärberMVP SQL Server
![Page 2: Evolution statt Revolution Willfried Färber MVP SQL Server](https://reader036.vdocuments.net/reader036/viewer/2022062404/55204d7549795902118ca021/html5/thumbnails/2.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062404/55204d7549795902118ca021/html5/thumbnails/3.jpg)
AGENDA
Erfassung von DatenänderungenDump für alle FälleFragen und Antworten
![Page 4: Evolution statt Revolution Willfried Färber MVP SQL Server](https://reader036.vdocuments.net/reader036/viewer/2022062404/55204d7549795902118ca021/html5/thumbnails/4.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062404/55204d7549795902118ca021/html5/thumbnails/5.jpg)
Zusätzliche neue Funktionalitäten
Noch nicht offiziell angekündigt
![Page 6: Evolution statt Revolution Willfried Färber MVP SQL Server](https://reader036.vdocuments.net/reader036/viewer/2022062404/55204d7549795902118ca021/html5/thumbnails/6.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062404/55204d7549795902118ca021/html5/thumbnails/7.jpg)
DB Enumeration Types
DBENUM_CUSTOM = 0DBENUM_SYSTEMONLY = 1DBENUM_USERONLY = 2DBENUM_ALL = 3
![Page 8: Evolution statt Revolution Willfried Färber MVP SQL Server](https://reader036.vdocuments.net/reader036/viewer/2022062404/55204d7549795902118ca021/html5/thumbnails/8.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062404/55204d7549795902118ca021/html5/thumbnails/9.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062404/55204d7549795902118ca021/html5/thumbnails/10.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062404/55204d7549795902118ca021/html5/thumbnails/11.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062404/55204d7549795902118ca021/html5/thumbnails/12.jpg)
DTS Wizard
Demo
![Page 13: Evolution statt Revolution Willfried Färber MVP SQL Server](https://reader036.vdocuments.net/reader036/viewer/2022062404/55204d7549795902118ca021/html5/thumbnails/13.jpg)
![Page 14: Evolution statt Revolution Willfried Färber MVP SQL Server](https://reader036.vdocuments.net/reader036/viewer/2022062404/55204d7549795902118ca021/html5/thumbnails/14.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062404/55204d7549795902118ca021/html5/thumbnails/15.jpg)
VSTA ersetzt VSA
Die neue Scriptumgebung
Demo
![Page 16: Evolution statt Revolution Willfried Färber MVP SQL Server](https://reader036.vdocuments.net/reader036/viewer/2022062404/55204d7549795902118ca021/html5/thumbnails/16.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062404/55204d7549795902118ca021/html5/thumbnails/17.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062404/55204d7549795902118ca021/html5/thumbnails/18.jpg)
Komplexer Datenfluss
![Page 19: Evolution statt Revolution Willfried Färber MVP SQL Server](https://reader036.vdocuments.net/reader036/viewer/2022062404/55204d7549795902118ca021/html5/thumbnails/19.jpg)
Ausführungsplan Datenfluss
![Page 20: Evolution statt Revolution Willfried Färber MVP SQL Server](https://reader036.vdocuments.net/reader036/viewer/2022062404/55204d7549795902118ca021/html5/thumbnails/20.jpg)
![Page 21: Evolution statt Revolution Willfried Färber MVP SQL Server](https://reader036.vdocuments.net/reader036/viewer/2022062404/55204d7549795902118ca021/html5/thumbnails/21.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062404/55204d7549795902118ca021/html5/thumbnails/22.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062404/55204d7549795902118ca021/html5/thumbnails/23.jpg)
Die Data Profiling Task
Demo
![Page 24: Evolution statt Revolution Willfried Färber MVP SQL Server](https://reader036.vdocuments.net/reader036/viewer/2022062404/55204d7549795902118ca021/html5/thumbnails/24.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062404/55204d7549795902118ca021/html5/thumbnails/25.jpg)
Optio
n: Q
uick P
rofile
Optio
n: Q
uick P
rofile
![Page 26: Evolution statt Revolution Willfried Färber MVP SQL Server](https://reader036.vdocuments.net/reader036/viewer/2022062404/55204d7549795902118ca021/html5/thumbnails/26.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062404/55204d7549795902118ca021/html5/thumbnails/27.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062404/55204d7549795902118ca021/html5/thumbnails/28.jpg)
Colu
mn
Patte
rn P
rofile
Colu
mn
Patte
rn P
rofile
![Page 29: Evolution statt Revolution Willfried Färber MVP SQL Server](https://reader036.vdocuments.net/reader036/viewer/2022062404/55204d7549795902118ca021/html5/thumbnails/29.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062404/55204d7549795902118ca021/html5/thumbnails/30.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062404/55204d7549795902118ca021/html5/thumbnails/31.jpg)
Die verbesserte Suche Transformation
Demo
![Page 32: Evolution statt Revolution Willfried Färber MVP SQL Server](https://reader036.vdocuments.net/reader036/viewer/2022062404/55204d7549795902118ca021/html5/thumbnails/32.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062404/55204d7549795902118ca021/html5/thumbnails/33.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062404/55204d7549795902118ca021/html5/thumbnails/34.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062404/55204d7549795902118ca021/html5/thumbnails/35.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062404/55204d7549795902118ca021/html5/thumbnails/36.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062404/55204d7549795902118ca021/html5/thumbnails/37.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062404/55204d7549795902118ca021/html5/thumbnails/38.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062404/55204d7549795902118ca021/html5/thumbnails/39.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062404/55204d7549795902118ca021/html5/thumbnails/40.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062404/55204d7549795902118ca021/html5/thumbnails/41.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062404/55204d7549795902118ca021/html5/thumbnails/42.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062404/55204d7549795902118ca021/html5/thumbnails/43.jpg)
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 45: Evolution statt Revolution Willfried Färber MVP SQL Server](https://reader036.vdocuments.net/reader036/viewer/2022062404/55204d7549795902118ca021/html5/thumbnails/45.jpg)
Sie sind nicht alle …
SQLPass e.V Deutschland
http://www.sqlpass.de
![Page 46: Evolution statt Revolution Willfried Färber MVP SQL Server](https://reader036.vdocuments.net/reader036/viewer/2022062404/55204d7549795902118ca021/html5/thumbnails/46.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062404/55204d7549795902118ca021/html5/thumbnails/47.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062404/55204d7549795902118ca021/html5/thumbnails/48.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022062404/55204d7549795902118ca021/html5/thumbnails/49.jpg)
© 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.