sql server 2012 integration services - lessons learned · non-blocking transformations – synchron...

46
Robert Panther | CGI SQL Server 2012 Integration Services Lessons Learned

Upload: vumien

Post on 28-Aug-2019

220 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SQL Server 2012 Integration Services - Lessons Learned · Non-Blocking Transformations – synchron (Daten laufen “direkt” durch) (Beispiele: Convert, Derived Column) Blocking

Robert Panther | CGI

SQL Server 2012 Integration Services Lessons Learned

Page 2: SQL Server 2012 Integration Services - Lessons Learned · Non-Blocking Transformations – synchron (Daten laufen “direkt” durch) (Beispiele: Convert, Derived Column) Blocking

2

Vorstellung und Überblick

Page 3: SQL Server 2012 Integration Services - Lessons Learned · Non-Blocking Transformations – synchron (Daten laufen “direkt” durch) (Beispiele: Convert, Derived Column) Blocking

3

Name Robert Panther

Rolle Senior Consultant, CGI

Fachliche

Schwerpunkte

• Datenbanken: Design, Implementierung & Administration

(insbesondere Performance Optimierung und ETL mit SSIS)

• Mobile Anwendungen: Design & Implementierung

• Webanwendungen: Implementierung & Administration

Technologien • Microsoft SQL Server

• Windows Mobile

• .NET (VB .NET & C#), ASP, ASP.NET

Methoden Datenbankdesign, Objektorientierte Programmierung, Strukturierte

Programmierung, Schulungskonzeption & Durchführung, Projektleitung

Zertifikate Informatik Diplom (FH)

MCTS SQL Server 2005 Implementation & Maintenance

MCTS SQL Server 2005 Business Intelligence

MCTS SQL Server 2008 Implementation & Maintenance

MCITP SQL Server 2008 Developer

Spezielles Autor von mehreren Fachbüchern und Fachartikeln

Leitung der SQL Server Expert Group bei Logica / CGI

regelmäßiger Speaker auf Fachkonferenzen

aktives PASS-Mitglied

Vorstellung

Page 4: SQL Server 2012 Integration Services - Lessons Learned · Non-Blocking Transformations – synchron (Daten laufen “direkt” durch) (Beispiele: Convert, Derived Column) Blocking

4

Und wer sind Sie? • Was machen Sie mit SQL Server?

– Entwicklung

– Administration

– Business Intelligence

• Nutzen Sie SSIS?

• Wenn ja, nutzen Sie SSIS 2012?

• Wenn ja, mit welcher Visual Studio IDE?

Vorstellung

Page 5: SQL Server 2012 Integration Services - Lessons Learned · Non-Blocking Transformations – synchron (Daten laufen “direkt” durch) (Beispiele: Convert, Derived Column) Blocking

Vorstellung: Inhalt

Was Sie erwartet …

• Ein kurzer Überblick über die neuen Features von SSIS 2012

• Ein Rückblick, welche Features sich bewährt haben

• Tipps und Tricks zu SSIS (nicht nur für SQL 2012)

Was Sie nicht erwarten sollten …

• Eine Einführung in die SQL Server Integration Services

• Eine 100% vollständige Abhandlung aller Neuerungen

5

Page 6: SQL Server 2012 Integration Services - Lessons Learned · Non-Blocking Transformations – synchron (Daten laufen “direkt” durch) (Beispiele: Convert, Derived Column) Blocking

6

1. Vorstellung und Agenda

2. Neuerungen …

… und wie sie sich bewährt haben

3. Deployment und Konfiguration

4. SSIS-Performance

5. Bekannte Probleme und Workarounds

6. Best Practices

7. Fazit und weitere Infos

Agenda

Page 7: SQL Server 2012 Integration Services - Lessons Learned · Non-Blocking Transformations – synchron (Daten laufen “direkt” durch) (Beispiele: Convert, Derived Column) Blocking

7

Neuerungen … … und wie sie sich bewährt haben

Page 8: SQL Server 2012 Integration Services - Lessons Learned · Non-Blocking Transformations – synchron (Daten laufen “direkt” durch) (Beispiele: Convert, Derived Column) Blocking

Neuerungen

Allgemeine Neuerungen

• Oberfläche: aus BIDS wird SSDT BI

• seit VS 2010 Zoom und frei verschiebbare Fenster

• VS 2012 IDE über Nachinstallation (SQL Server Data Tools BI für VS 2012)

• Scope von Variablen nachträglich anpassen

• besser lesbares XML

• endlich ein Undo im Designer!

• copy & paste verbessert

• Autosave & Recovery

• kein DTS-Support mehr

8

Page 9: SQL Server 2012 Integration Services - Lessons Learned · Non-Blocking Transformations – synchron (Daten laufen “direkt” durch) (Beispiele: Convert, Derived Column) Blocking

Neuerungen

SSIS-Server

• verwaltet komplette Projekte,

nicht nur einzelne Pakete

• besitzt eigene Katalog-DB (SSISDB)

• Pakete über SSIS-Dienst

remote ausführbar

• Verwaltung und Ausführung über SPs

• eigene Performance-Counter

• Integration Services-Dashboard

9

Page 10: SQL Server 2012 Integration Services - Lessons Learned · Non-Blocking Transformations – synchron (Daten laufen “direkt” durch) (Beispiele: Convert, Derived Column) Blocking

Neuerungen

10

Page 11: SQL Server 2012 Integration Services - Lessons Learned · Non-Blocking Transformations – synchron (Daten laufen “direkt” durch) (Beispiele: Convert, Derived Column) Blocking

Neuerungen

SSIS-Projekte

• Connection Manager wahlweise auf Paket- oder Projektebene

(keine Shared DataSource mehr)

• Konfiguration mit Hilfe von Projektparametern

• Deployment in Form von .ispac-Dateien

Ablaufsteuerung

• Execute Package wahlweise aus Projektreferenz

(ohne expliziten Connection Manager)

• Expression Task (Ausdruckstask)

(z.B. zum Vorbelegen von Variablen)

11

Page 12: SQL Server 2012 Integration Services - Lessons Learned · Non-Blocking Transformations – synchron (Daten laufen “direkt” durch) (Beispiele: Convert, Derived Column) Blocking

Neuerungen

Datenfluss

• Source/Destination Assistent

• Work Offline

• mapping changes reparieren (z.B. geänderte Spaltennamen)

• Pivot über Spaltenbezeichnungen (nicht mehr LineageIDs)

• Gruppieren im Datenfluss (mit collapse & expand)

• Merge & Merge Join

(gedrosselt wenn ein Input langsam, spart Ressourcen)

• vereinfachter Datenviewer (keine graphische Darstellung)

• spezielle Data Quality-Transformationen (DQS-Bereinigung)

12

Page 13: SQL Server 2012 Integration Services - Lessons Learned · Non-Blocking Transformations – synchron (Daten laufen “direkt” durch) (Beispiele: Convert, Derived Column) Blocking

Visual Studio IDE

SQL Server 2012

SQL Server Data Tools

SQL Server Data Tools BI für Visual Studio 2012

• bis vor Kurzem nutze SQL Server die Visual Studio 2010 IDE

• inzwischen (seit Juni 2013) Update für VS 2012 IDE verfügbar

• Bei Installation beachten!

• als Administrator ausführen

• neue Installation auswählen

Neuerungen

13

SSDT Dev.

SSDT BI

Page 14: SQL Server 2012 Integration Services - Lessons Learned · Non-Blocking Transformations – synchron (Daten laufen “direkt” durch) (Beispiele: Convert, Derived Column) Blocking

Neuerungen

SQL Server Data Tools BI für Visual Studio 2012

• unterschiedliche Versionsnummern werden in Paket, Projekt und

Solution abgelegt, z.B. im Projekt:

• <ProductVersion>11.0.2100.60</ProductVersion>

• <ProductVersion>11.0.3369.0</ProductVersion>

• SSIS-Projekte (& Solutions) bleiben aber kompatibel

14

Page 15: SQL Server 2012 Integration Services - Lessons Learned · Non-Blocking Transformations – synchron (Daten laufen “direkt” durch) (Beispiele: Convert, Derived Column) Blocking

15

Deployment und Konfiguration

Page 16: SQL Server 2012 Integration Services - Lessons Learned · Non-Blocking Transformations – synchron (Daten laufen “direkt” durch) (Beispiele: Convert, Derived Column) Blocking

Deployment & Konfig

Deployment bisher (vor SSIS 2012)

• Deployment von einzelnen Paketdateien

• Ablage in …

• Dateisystem

• Package Store

• SQL Server (MSDB)

16

Page 17: SQL Server 2012 Integration Services - Lessons Learned · Non-Blocking Transformations – synchron (Daten laufen “direkt” durch) (Beispiele: Convert, Derived Column) Blocking

Deployment & Konfig

Konfiguration bisher (vor SSIS 2012)

• Konfiguration über Package Configuration

• XML

• Umgebungsvariablen

• Registry

• Parent Package

• SQL Server

• Verbindungsmanager bei

Aufruf anpassen

• über SQL Agent Job Step

• über DTEXECUI

• paketinterne Konfigurierbarkeit

über Variablen und

Expressions

17

Page 18: SQL Server 2012 Integration Services - Lessons Learned · Non-Blocking Transformations – synchron (Daten laufen “direkt” durch) (Beispiele: Convert, Derived Column) Blocking

Deployment & Konfig

Deployment mit SSIS 2012

• Deployment von ganzen Projekten (.ISPAC-Dateien)

• SSIS-Katalog muss vorher angelegt werden

• einfacher im Handling

• .ISPAC-Dateien enthalten

• Pakete

• Parameter

• Verbindungsmanager

18

Page 19: SQL Server 2012 Integration Services - Lessons Learned · Non-Blocking Transformations – synchron (Daten laufen “direkt” durch) (Beispiele: Convert, Derived Column) Blocking

Deployment & Konfig

Konfiguration mit SSIS 2012

• Konfiguration über Parameter

• Verbindungsmanager

• können nach wie vor bei Aufruf über

DTEXECUI oder SQL Agent Job Step

angepasst werden

• Parameter und Verbindungsmanager

können im Katalog explizit angepasst

(konfiguriert) werden

• über Umgebungen können Parameter

und Verbindungsmanager vorbelegt

werden

• paketinterne Konfigurierbarkeit

über Variablen und Expressions

19

Page 20: SQL Server 2012 Integration Services - Lessons Learned · Non-Blocking Transformations – synchron (Daten laufen “direkt” durch) (Beispiele: Convert, Derived Column) Blocking

Deployment & Konfig

20

Page 21: SQL Server 2012 Integration Services - Lessons Learned · Non-Blocking Transformations – synchron (Daten laufen “direkt” durch) (Beispiele: Convert, Derived Column) Blocking

Deployment & Konfig

Package Configuration mit SSIS 2012

• nach wie vor nutzbar, wenn

auf Package Deployment

Model umgeschaltet wird

• neue Funktionen des

Project Deployment Model

dann nicht mehr nutzbar

21

Page 22: SQL Server 2012 Integration Services - Lessons Learned · Non-Blocking Transformations – synchron (Daten laufen “direkt” durch) (Beispiele: Convert, Derived Column) Blocking

22

SSIS-Performance

Page 23: SQL Server 2012 Integration Services - Lessons Learned · Non-Blocking Transformations – synchron (Daten laufen “direkt” durch) (Beispiele: Convert, Derived Column) Blocking

SSIS-Performance

Interne Arbeitsweise von SSIS-Paketen

• Grundprinzipien bleiben dieselben

• Daten werden normalerweise blockweise verarbeitet

• Transformationen erfolgen im Hauptspeicher

• Execution Trees beachten

Non-Blocking Transformations – synchron (Daten laufen “direkt” durch)

(Beispiele: Convert, Derived Column)

Blocking Transformations – asynchron, wartet bis alle Daten gelesen sind

(Beispiel: Sort, Aggregate)

Partially Blocking Transformations – asynchron, wartet aber nicht bis Daten

komplett sind (Beispiele: Merge, Merge Join)

23

Page 24: SQL Server 2012 Integration Services - Lessons Learned · Non-Blocking Transformations – synchron (Daten laufen “direkt” durch) (Beispiele: Convert, Derived Column) Blocking

SSIS-Performance

Optimierungsansätze

• Blocking Transformations vermeiden

• Sortierung in Quell-Abfrage verlagern

• wenn möglich, JOIN in Quellabfrage nicht als Transformation

• Merge Join teilweise auch durch Lookup ersetzbar

• Neu mit SQL 2012: automatische Drosselung bei Merge & Merge Join,

wenn ein Input langsam

24

Page 25: SQL Server 2012 Integration Services - Lessons Learned · Non-Blocking Transformations – synchron (Daten laufen “direkt” durch) (Beispiele: Convert, Derived Column) Blocking

SSIS-Performance

Engpässe lokalisieren

1. Paket im Debug-Modus analysieren

2. Kopie des Pakets erstellen

3. Zeiten für Quelle, Transformation & Ziel ermitteln

• Laufzeit komplett

• Laufzeit ohne Ziel

• Laufzeit ohne Transformation & Ziel

4. Detailanalyse

• Struktur (Execution Trees)

• Quelle, Transformationen & Ziel optimieren

25

Page 26: SQL Server 2012 Integration Services - Lessons Learned · Non-Blocking Transformations – synchron (Daten laufen “direkt” durch) (Beispiele: Convert, Derived Column) Blocking

SSIS-Performance

Datenquelle beschleunigen

• Abfrage statt Tabelle nutzen

• möglichst “schmal”: nur benötigte Spalten lesen

• Daten möglichst stark vorselektieren: nur benötigte Zeilen lesen

• Ausführungsplan der Abfrage prüfen

• Verwendung von Indizes

• Locking berücksichtigen (WITH (NOLOCK))

26

Page 27: SQL Server 2012 Integration Services - Lessons Learned · Non-Blocking Transformations – synchron (Daten laufen “direkt” durch) (Beispiele: Convert, Derived Column) Blocking

SSIS-Performance

Lookups prüfen

• wie sieht die Quelle für den Lookup aus?

• Tabelle oder Abfrage?

• Abfrage optimieren (wie bei Datenquelle)

• welcher Caching Modus wird verwendet?

• kein Cache – wenn Werte nur einmal benötigt werden

• Vollcache – wenn Werte mehrfach benötigt werden und Menge

überschaubar

• Teilcache – wenn Werte evtl. nochmal benötigt werden

• wenn dieselben Daten für mehrere Lookups benötigt werden

• Daten per Cachetransformation einmal in Cache laden

• bei Lookups Cacheverbindungs-Manager verwenden

27

Page 28: SQL Server 2012 Integration Services - Lessons Learned · Non-Blocking Transformations – synchron (Daten laufen “direkt” durch) (Beispiele: Convert, Derived Column) Blocking

SSIS-Performance

Datenziel beschleunigen

• schnelles Laden (fast load) nutzen

Nachteil:

• Ziel im Datenfluss lässt bei einer fehlerhaften Zeile ganzen Block von

Zeilen in die Fehlerausgabe laufen.

Abhilfe:

1. OLE DB Ziel im Modus “schnelles Laden” mit Fehlerausgabe

versehen.

2. Fehlerhafte Zeilen noch einmal im “langsamen” Modus schreiben.

3. Weitere Fehlerausgabe mit Behandlung für die final fehlerhaften

Zeilen.

28

Page 29: SQL Server 2012 Integration Services - Lessons Learned · Non-Blocking Transformations – synchron (Daten laufen “direkt” durch) (Beispiele: Convert, Derived Column) Blocking

SSIS-Performance

29

Page 30: SQL Server 2012 Integration Services - Lessons Learned · Non-Blocking Transformations – synchron (Daten laufen “direkt” durch) (Beispiele: Convert, Derived Column) Blocking

30

Bekannte Probleme und

Workarounds dazu

Page 31: SQL Server 2012 Integration Services - Lessons Learned · Non-Blocking Transformations – synchron (Daten laufen “direkt” durch) (Beispiele: Convert, Derived Column) Blocking

Probleme & Workarounds

Problem:

Bestimmte Datenquellen (z.B. Excel, Access) sind nicht nutzbar.

Lösung:

• Projekt auf

32Bit-Runtime

umstellen.

31

Page 32: SQL Server 2012 Integration Services - Lessons Learned · Non-Blocking Transformations – synchron (Daten laufen “direkt” durch) (Beispiele: Convert, Derived Column) Blocking

Probleme & Workarounds

Problem:

Datenfluss schreibt in zwei

Zieltabellen, von denen die

eine auf die andere verweist.

Lösungsvarianten:

a) Für Primär- und Fremdschlüssel

werden vorher bekannte IDs

verwendet (evtl. vorher maximale

ID ermitteln).

b) Für Primär- und Fremdschlüssel

werden im Datenfluss definierte

Werte (z.B. in der Quellabfrage

erzeugte Guids) verwendet.

32

Page 33: SQL Server 2012 Integration Services - Lessons Learned · Non-Blocking Transformations – synchron (Daten laufen “direkt” durch) (Beispiele: Convert, Derived Column) Blocking

Probleme & Workarounds

Problem:

Datenfluss schreibt in zwei Zieltabellen, von denen die eine auf die

andere verweist. Die Tabellen verwenden IDs mit Identitätsspezifikation.

Lösungsvarianten:

a) In erste Tabelle wird per Stored Procedure geschrieben und die ID

der neuen Zeile per Output-Parameter in Datenfluss zurückgegeben.

b) Foreign Key-Spalte wird mit temporären Werten befüllt, die nach dem

Datenfluss per Nachbereitungsskript durch die korrekte ID ersetzt

werden.

33

Page 34: SQL Server 2012 Integration Services - Lessons Learned · Non-Blocking Transformations – synchron (Daten laufen “direkt” durch) (Beispiele: Convert, Derived Column) Blocking

34

Best Practices

Page 35: SQL Server 2012 Integration Services - Lessons Learned · Non-Blocking Transformations – synchron (Daten laufen “direkt” durch) (Beispiele: Convert, Derived Column) Blocking

Best Practices

Allgemeine Konventionen

• Pakete sollten stets wiederholt startbar sein

• zu Beginn “aufräumen”

• evtl. Transaktionen nutzen

• Fehlerausgaben nutzen

• Im einfachsten Fall in Multicast Container

• Im Idealfall mit Fehlerprotokollierung

• Protokollierung in zusätzliche Tabellen

• z.B. für komplexe Mappings

• Konfigurierbarkeit über Parameter, Variablen und Expressions

35

Page 36: SQL Server 2012 Integration Services - Lessons Learned · Non-Blocking Transformations – synchron (Daten laufen “direkt” durch) (Beispiele: Convert, Derived Column) Blocking

Best Practices

Konventionen zur besseren Lesbarkeit

• Ablaufsteuerung und Datenfluss von oben nach unten

• Notwendigkeit zum horizontalen Scrollen vermeiden

• Fehlerbehandlung im Datenfluss zur Seite führen

36

Page 37: SQL Server 2012 Integration Services - Lessons Learned · Non-Blocking Transformations – synchron (Daten laufen “direkt” durch) (Beispiele: Convert, Derived Column) Blocking

Best Practices

Struktur von SSIS-Projekten

• Ein Paket pro Datenquelle oder Datenziel

• Ein Master-Paket, das Unterpakete aufruft

• Konfiguration der Variablen

• Variableninhalte über Parameter an

Unterpakete übergeben

• Allgemeine Vor- und Nachbereitung

• z.B. Fremdschlüssel de- & re-aktivieren

• Sequenzcontainer zur Strukturierung

37

Page 38: SQL Server 2012 Integration Services - Lessons Learned · Non-Blocking Transformations – synchron (Daten laufen “direkt” durch) (Beispiele: Convert, Derived Column) Blocking

Best Practices

Struktur von SSIS-Paketen

• Vorbereitungsschritte

• (nicht gruppierte) Indizes deaktivieren

• Zieltabellen leeren

• Datenfluss

• Nachbereitungsschritte

• Indizes neu erstellen

38

Page 39: SQL Server 2012 Integration Services - Lessons Learned · Non-Blocking Transformations – synchron (Daten laufen “direkt” durch) (Beispiele: Convert, Derived Column) Blocking

Best Practices

Namenskonventionen

• Name des Pakets entspricht Quelle oder Ziel (einheitlich!)

• Kurze Präfixe für Tasks und Container verwenden, z.B. …

• SCR für Script Tasks

• SQL für SQL Tasks

• EP für Execute Package

• LKP für Suche (von Lookup)

• ODB für OLE DB Quellen & Ziele

39

Page 40: SQL Server 2012 Integration Services - Lessons Learned · Non-Blocking Transformations – synchron (Daten laufen “direkt” durch) (Beispiele: Convert, Derived Column) Blocking

40

Fazit und weitere Infos

Page 41: SQL Server 2012 Integration Services - Lessons Learned · Non-Blocking Transformations – synchron (Daten laufen “direkt” durch) (Beispiele: Convert, Derived Column) Blocking

Fazit

Vieles ist besser geworden

Projektorientiertes Arbeiten

einfachere Konfiguration & Deployment

zahlreiche Detailverbesserungen in Entwickleroberfläche

etc.

Einiges (weniges) leider auch schlechter

kein DTS-Support

Deployment von einzelnen Paketen problematisch

SSDT 2012 Designer etwas hakelig (WPF)

Bug bei Sortierung von Dateien im Projekt

41

Page 42: SQL Server 2012 Integration Services - Lessons Learned · Non-Blocking Transformations – synchron (Daten laufen “direkt” durch) (Beispiele: Convert, Derived Column) Blocking

Fazit

Was fehlt noch?

• Unterstützung bei der Ausrichtung von Objekten im Designer

• Auskommentieren von Schritten im Datenfluss (z.B. Datenziel)

• Strukturierung von SSIS-Paketen in der Solution

(Unterordner, Sortierung etc.)

• komfortablere SQL-Editoren

• Zoom in Fehleransicht

• Datenziel mit OUTPUT (inserted)

42

Page 43: SQL Server 2012 Integration Services - Lessons Learned · Non-Blocking Transformations – synchron (Daten laufen “direkt” durch) (Beispiele: Convert, Derived Column) Blocking

Links & Literatur

Links zum Thema SSIS:

• SSIS 2012 Online-Dokumentation:

http://msdn.microsoft.com/de-de/library/ms141026.aspx

• Ressourcen für SSIS-Entwickler und IT-Spezialisten:

http://msdn.microsoft.com/de-de/sqlserver/cc511477.aspx

• SQL Server Data Tools – Business Intelligence für VS 2012:

http://www.microsoft.com/de-de/download/details.aspx?id=36843

Links des Referenten:

• SQL Server Blog: http://pantheronsql.wordpress.com

• Logica / CGI: http://www.logica.de / http://www.cgi.com

43

Page 44: SQL Server 2012 Integration Services - Lessons Learned · Non-Blocking Transformations – synchron (Daten laufen “direkt” durch) (Beispiele: Convert, Derived Column) Blocking

Links & Literatur

Literatur:

• Microsoft SQL Server Integration Services: Erstellen von Datenintegrations- und Datentransformationslösungen auf Unternehmensebene

Bernd Jungbluth

Microsoft Press, Februar 2011

ISBN: 978-3866456549

(aktualisierte Auflage für SQL 2012 & 2014 für April 2014 geplant)

• Implementing a Data Warehouse with Microsoft SQL Server 2012

Training Kit (Exam 70-463)

Grega Jerkic, Matija Lah, Dejan Sarka

Microsoft Press, Januar 2013

ISBN: 978-0735666092

• SQL Server Performance Ratgeber

Robert Panther

entwickler.press, Februar 2010

ISBN: 978-3868020304

44

Page 45: SQL Server 2012 Integration Services - Lessons Learned · Non-Blocking Transformations – synchron (Daten laufen “direkt” durch) (Beispiele: Convert, Derived Column) Blocking

Ein kleines Anliegen in eigener Sache …

Zur Verstärkung unseres SQL Server Teams am Standort

Frankfurt/Sulzbach suchen wir …

Datenbankarchitekten Microsoft SQL Server (m/w)

Sie werden für die Beratung, Konzeption, Projektleitung, aber auch für die Realisierung von

anspruchsvollen Lösungen verantwortlich sein, deren technologischer Schwerpunkt im

Umfeld Microsoft SQL Server liegt. Sie helfen unseren Klienten, unternehmenskritische

Anwendungen hochverfügbar, sicher und kostengünstig zu gestalten. Dabei setzen Sie

moderne Methoden und Techniken ein und integrieren sie in die Unternehmenslandschaft.

Auf diese Weise tragen Sie dazu bei, dass zukunftsfähige Plattformen entstehen, auf denen

Business und E-Business sicher und stabil betrieben werden können.

Interesse? Dann sprechen Sie mich an, oder schicken Sie mir eine Mail an [email protected]

45

Page 46: SQL Server 2012 Integration Services - Lessons Learned · Non-Blocking Transformations – synchron (Daten laufen “direkt” durch) (Beispiele: Convert, Derived Column) Blocking

Vielen Dank für Ihre Aufmerksamkeit!

Robert Panther

[email protected]