Freigeben über


Laden von Daten in einen dedizierten SQL-Pool in Azure Synapse Analytics mit SQL Server Integration Services (SSIS)

Gilt für:Azure Synapse Analytics

Erstellen Sie ein SQL Server Integration Services-Paket (SSIS), um Daten in einen dedizierten SQL-Pool in Azure Synapse Analytics zu laden. Sie können die Daten optional umstrukturieren, transformieren und bereinigen, während diese den SSIS-Datenfluss durchlaufen.

Dieser Artikel enthält Anleitungen für folgende Aktionen:

  • Erstellen Sie ein neues Integration Services-Projekt in Visual Studio.
  • Entwerfen Sie ein SSIS-Paket, das Daten aus der Quelle in das Ziel lädt.
  • Führen Sie das SSIS-Paket aus, um die Daten zu laden.

Grundlegende Konzepte

Ein Paket ist die grundlegende Bereitstellungseinheit in SSIS. Zugehörige Pakete werden in Projekten gruppiert. Sie erstellen Projekte und entwerfen Pakete in Visual Studio mit SQL Server Data Tools. Der Entwurfsprozess ist ein visueller Prozess, bei dem Sie Komponenten per Drag & Drop aus der Toolbox auf die Entwurfsoberfläche ziehen, diese verbinden und ihre Eigenschaften festlegen. Wenn Sie ein Paket fertiggestellt haben, können Sie es ausführen und zur umfassenden Verwaltung, Überwachung und Sicherheit optional in SQL Server oder SQL-Datenbank bereitstellen.

Eine ausführliche Einführung in SSIS würde den Rahmen dieses Artikels sprengen. Weitere Informationen erhalten Sie in den folgenden Artikeln:

Optionen zum Laden von Daten in Azure Synapse Analytics mit SSIS

SQL Server Integration Services (SSIS) ist eine flexible Gruppe von Tools, die verschiedene Optionen zum Herstellen einer Verbindung mit und zum Laden von Daten in Azure Synapse Analytics bieten.

  1. Die bevorzugte Methode, die die beste Leistung bietet, ist das Erstellen eines Pakets, das den Azure SQL DW Upload-Task zum Laden der Daten verwendet. Dieser Task beinhaltet die Informationen von Quelle und Ziel. Es wird davon ausgegangen, dass Ihre Quelldaten lokal in durch Trennzeichen getrennten Textdateien gespeichert sind.

  2. Alternativ können Sie ein Paket erstellen, das einen Datenflusstask verwendet, der jeweils eine Quelle und ein Ziel enthält. Durch diesen Ansatz werden eine Vielzahl von Datenquellen unterstützt, einschließlich SQL Server und Azure Synapse Analytics.

Voraussetzungen

Zum Abschließen dieses Tutorials benötigen Sie Folgendes:

  1. SQL Server Integration Services (SSIS) . SSIS ist eine Komponente von SQL Server und erfordert eine lizenzierte Version oder die Entwickler- oder Evaluierungsversion von SQL Server. Informationen darüber, wie Sie eine Evaluierungsversion von SQL Server erhalten, finden Sie im Evaluation Center für SQL Server.

  2. Visual Studio (optional). Visual Studio Community Edition können Sie kostenlos unter Visual Studio Community abrufen. Wenn Sie Visual Studio nicht installieren möchten, können Sie auch nur SQL Server Data Tools (SSDT) installieren. Mit SSDT wird auch eine Version von Visual Studio mit eingeschränkter Funktionalität installiert.

  3. SQL Server Data Tools for Visual Studio (SSDT) . Informationen zum Installieren von SQL Server Data Tools für Visual Studio finden Sie unter Herunterladen von SQL Server Data Tools (SSDT).

  4. Eine Azure Synapse Analytics-Datenbank und Berechtigungen. In diesem Tutorial wird eine Verbindung mit einem dedizierten SQL-Pool in einer Instanz von Azure Synapse Analytics hergestellt, und Daten werden geladen. Sie benötigen Berechtigungen für eine Verbindung, zum Erstellen einer Tabelle und zum Laden von Daten.

Erstellen eines neuen SQL Server Integration Services-Projekts

  1. Starten Sie Visual Studio.

  2. Wählen Sie im Menü Datei die Option Neu | Projekt aus.

  3. Navigieren Sie zu den Projekttypen Installiert | Vorlagen | Business Intelligence | Integration Services.

  4. Wählen Sie ein Integration Services-Projekt aus. Geben Sie Werte für Name und Speicherort ein, und klicken Sie dann auf OK.

Visual Studio wird geöffnet und erstellt ein neues Integration Services-Projekt (SSIS). Dann öffnet Visual Studio den Designer für das neue SSIS-Paket (Package.dtsx) im Projekt. Die folgenden Bildschirmbereiche werden angezeigt:

  • Auf der linken Seite befindet sich die Toolbox der SSIS-Komponenten.

  • In der Mitte befindet sich die Entwurfsoberfläche mit mehreren Registerkarten. In der Regel verwenden Sie mindestens die Registerkarten Ablaufsteuerung und Datenfluss.

  • Auf der rechten Seite befinden sich die Bereiche Projektmappen-Explorer und Eigenschaften.

    Screenshot von Visual Studio mit dem Toolboxbereich, dem Entwurfsbereich, dem Projektmappen-Explorer-Bereich und dem Eigenschaftenbereich

Option 1: Verwenden des SQL DW Upload-Tasks

Die erste Methode ist ein Paket, das den SQL DW Upload-Task verwendet. Dieser Task beinhaltet die Informationen von Quelle und Ziel. Es wird davon ausgegangen, dass Ihre Quelldaten in durch Trennzeichen getrennten Textdateien gespeichert sind, entweder lokal oder in Azure Blob Storage.

Erforderliche Komponenten für Option 1

Um mit dem Tutorial mit dieser Option fortzufahren, benötigen Sie Folgendes:

  • Das Microsoft SQL Server Integration Services-Feature Pack für Azure. Der SQL DW Upload-Task ist eine Komponente des Feature Packs.

  • Ein Azure Blob Storage-Konto. Der SQL DW Upload-Task lädt Daten von Azure Blob Storage in Azure Synapse Analytics. Sie können Dateien laden, die sich bereits in Blob Storage befinden, oder Sie können Dateien von Ihrem Computer laden. Wenn Sie Dateien von Ihrem Computer auswählen, lädt der SQL DW Upload-Task diese zunächst für den Stagingprozess in Blob Storage und erst anschließend in Ihren dedizierten SQL-Pool.

Hinzufügen und Konfigurieren des SQL DW Upload-Tasks

  1. Ziehen Sie einen SQL DW Upload-Task aus der Toolbox in die Mitte der Entwurfsoberfläche (auf der Registerkarte Ablaufsteuerung).

  2. Doppelklicken Sie auf den Task, um den Editor für den SQL DW Upload-Task zu öffnen.

    Screenshot: Seite „Allgemein“ des SQL DW Uploadtask-Editors

  3. Konfigurieren Sie den Task mithilfe der Anleitungen im Artikel Azure SQL DW Upload-Task. Da in diesem Task jeweils die Quell- und Zielinformationen sowie die Zuordnungen zwischen den Quell- und Zieltabellen enthalten sind, verfügt der Task-Editor über mehrere Seiten mit Einstellungen, die konfiguriert werden müssen.

Manuelles Erstellen einer ähnlichen Lösung

Sie können für eine präzisere Steuerung ein Paket, das die vom SQL DW Upload-Task durchgeführte Arbeit emuliert, manuell erstellen.

  1. Verwenden Sie den Task „Azure-Blob hochladen“ zum Bereitstellen von Eingabedaten in den Azure Blob Storage. Laden Sie das Microsoft SQL Server Integration Services Feature Pack für Azure herunter, um den Task „Azure Blob Upload“ nutzen zu können.

  2. Starten Sie dann mithilfe des SSIS-Tasks „SQL ausführen“ ein PolyBase-Skript, das die Daten in Ihren dedizierten SQL-Pool lädt. Ein Beispiel, in dem Daten von Azure Blob Storage in Ihren dedizierten SQL-Pool geladen werden (jedoch ohne SSIS), finden Sie unter Tutorial: Laden von Daten in Azure Synapse Analytics.

Option 2: Verwenden einer Quelle und eines Ziels

Die zweite Möglichkeit besteht aus einem normalen Paket, das einen Datenflusstask verwendet, der eine Quelle und ein Ziel enthält. Durch diesen Ansatz werden eine Vielzahl von Datenquellen unterstützt, einschließlich SQL Server und Azure Synapse Analytics.

In diesem Tutorial wird SQL Server als Datenquelle verwendet. SQL Server wird auf einem lokalen Computer oder auf einem virtuellen Azure-Computer ausgeführt.

Um eine Verbindung mit SQL Server und einem dedizierten SQL-Pool herzustellen, können Sie den ADO.NET-Verbindungs-Manager und dazu Quelle und Ziel verwenden. Alternativ können Sie den OLE DB-Verbindungs-Manager mit Quelle und Ziel verwenden. Dieses Tutorial verwendet ADO NET, da darin die wenigsten Konfigurationsoptionen enthalten sind. OLE DB kann eine etwas bessere Leistung als ADO.NET bieten.

Um das Verfahren abzukürzen, können Sie den SQL Server-Import/Export-Assistenten verwenden, um das einfache Paket zu erstellen. Speichern Sie das Paket anschließend, und öffnen Sie es in Visual Studio oder SSDT, um es anzuzeigen und anzupassen. Weitere Informationen finden Sie unter Importieren und Exportieren von Daten mit dem SQL Server-Import/Export-Assistenten.

Erforderliche Komponenten für Option 2

Um mit dem Tutorial mit dieser Option fortzufahren, benötigen Sie Folgendes:

  1. Beispieldaten. Dieses Tutorial verwendet als Quelldaten zum Laden in einen dedizierten SQL-Pool Beispieldaten, die in der AdventureWorks-Beispieldatenbank in SQL Server gespeichert sind. Die AdventureWorks-Beispieldatenbank können Sie unter AdventureWorks-Beispieldatenbanken abrufen.

  2. Eine Firewallregel. Sie müssen eine Firewallregel auf Ihrem dedizierten SQL-Pool mit der IP-Adresse Ihres lokalen Computers erstellen, bevor Sie Daten in den dedizierten SQL-Pool hochladen können.

Erstellen des grundlegenden Datenflusses

  1. Ziehen Sie einen Datenflusstask aus der Toolbox in die Mitte der Entwurfsoberfläche (auf der Registerkarte Ablaufsteuerung).

    Screenshot von Visual Studio mit einem Datenflusstask, der auf die Registerkarte „Ablaufsteuerung“ des Entwurfsbereichs gezogen wird

  2. Doppelklicken Sie auf den Datenflusstask, um zur Registerkarte „Datenfluss“ zu wechseln.

  3. Ziehen Sie aus der Liste „Andere Quellen“ in der Toolbox eine ADO.NET-Quelle auf die Entwurfsoberfläche. Ändern Sie mit noch ausgewähltem Quelladapter den Namen im Bereich Eigenschaften in SQL Server-Quelle.

  4. Ziehen Sie aus der Liste „Andere Ziele“ in der Toolbox ein ADO.NET-Ziel auf die Entwurfsoberfläche unter der ADO NET-Quelle. Ändern Sie mit noch ausgewähltem Zieladapter den Namen im Bereich Eigenschaften in SQL DW-Ziel.

    Screenshot eines Zieladapters, der an eine Position direkt unterhalb des Quelladapters gezogen wird.

Konfigurieren des Quelladapters

  1. Doppelklicken Sie auf den Quelladapter, um den ADO.NET-Quellen-Editor zu öffnen.

    Screenshot des ADO.NET Quell-Editors. Die Registerkarte

  2. Klicken Sie im ADO.NET-Quellen-Editor auf der Registerkarte Verbindungs-Manager auf die Schaltfläche Neu neben der Liste ADO.NET-Verbindungs-Manager, um das Dialogfeld ADO.NET-Verbindungs-Manager konfigurieren zu öffnen. Erstellen Sie dann Verbindungseinstellungen für die SQL Server-Datenbank, von der in diesem Tutorial Daten geladen werden.

    Screenshot des Dialogfelds

  3. Klicken Sie im Dialogfeld ADO.NET-Verbindungs-Manager konfigurieren auf die Schaltfläche Neu, um das Dialogfeld Verbindungs-Manager zu öffnen, und erstellen Sie eine neue Datenverbindung.

    Screenshot des Dialogfelds

  4. Führen Sie im Dialogfeld Verbindungs-Manager folgende Schritte durch:

    1. Wählen Sie als Anbieter den SqlClient-Datenanbieter aus.

    2. Geben Sie für Servernamen den SQL Server-Namen ein.

    3. Wählen Sie im Abschnitt Beim Server anmelden die Authentifizierungsinformationen aus, oder geben Sie sie ein.

    4. Wählen Sie im Abschnitt Mit Datenbank verbinden die AdventureWorks-Beispieldatenbank aus.

    5. Wählen Sie Verbindung testen aus.

      Screenshot eines Dialogfelds mit einer Schaltfläche

    6. Wählen Sie im Dialogfeld, in dem die Ergebnisse des Verbindungstests gemeldet werden, OK aus, um zum Dialogfeld Verbindungs-Manager zurückzukehren.

    7. Klicken Sie im Dialogfeld Verbindungs-Manager auf OK, um zum Dialogfeld ADO.NET-Verbindungs-Manager konfigurieren zurückzukehren.

  5. Klicken Sie im Dialogfeld ADO.NET-Verbindungs-Manager konfigurieren auf OK, um zum ADO.NET-Quellen-Editor zurückzukehren.

  6. Wählen Sie im ADO.NET-Quellen-Editor in der Liste Name der Tabelle oder Sicht die Tabelle Sales.SalesOrderDetail aus.

    Screenshot: ADO.NET-Quellen-Editor. In der Liste mit den Namen der Tabellen und Sichten ist die Tabelle „Sales.SalesOrderDetail“ markiert.

  7. Klicken Sie auf Vorschau, um die ersten 200 Datenzeilen in der Quelltabelle im Dialogfeld Vorschau der Abfrageergebnisse anzeigen anzuzeigen.

    Screenshot des Dialogfelds

  8. Klicken Sie im Dialogfeld Vorschau der Abfrageergebnisse anzeigen auf Schließen, um zum ADO.NET-Quellen-Editor zurückzukehren.

  9. Wählen Sie im ADO.NET-Quellen-EditorOK aus, um die Konfiguration der Datenquelle abzuschließen.

Herstellen einer Verbindung zwischen dem Quell- und Zieladapter

  1. Wählen Sie den Quelladapter auf der Entwurfsoberfläche aus.

  2. Wählen Sie den blauen Pfeil aus, der vom Quelladapter ausgeht, und ziehen Sie ihn zum Ziel-Editor, bis dieser fest positioniert ist.

    Screenshot mit den Quell- und Zieladaptern. Ein blauer Pfeil zeigt vom Quelladapter auf den Zieladapter.

    In einem typischen SSIS-Paket verwenden Sie mehrere andere Komponenten aus der SSIS-Toolbox zwischen der Quelle und dem Ziel, um Ihre Daten neu zu strukturieren, zu transformieren und zu bereinigen, während sie den SSIS-Datenfluss durchläuft. Um dieses Beispiel so einfach wie möglich zu halten, stellen wir eine direkte Verbindung zwischen Quelle und Ziel her.

Konfigurieren des Zieladapters

  1. Doppelklicken Sie auf den Zieladapter, um den ADO.NET-Ziel-Editor zu öffnen.

    Screenshot des ADO.NET Ziel-Editors. Die Registerkarte

  2. Klicken Sie im ADO.NET-Ziel-Editor auf der Registerkarte Verbindungs-Manager auf die Schaltfläche Neu neben der Liste Verbindungs-Manager, um das Dialogfeld ADO.NET-Verbindungs-Manager konfigurieren zu öffnen. Erstellen Sie dann Verbindungseinstellungen für die Datenbank von Azure Synapse Analytics, in die in diesem Tutorial Daten geladen werden.

  3. Klicken Sie im Dialogfeld ADO.NET-Verbindungs-Manager konfigurieren auf die Schaltfläche Neu, um das Dialogfeld Verbindungs-Manager zu öffnen, und erstellen Sie eine neue Datenverbindung.

  4. Führen Sie im Dialogfeld Verbindungs-Manager folgende Schritte durch:

    1. Wählen Sie als Anbieter den SqlClient-Datenanbieter aus.

    2. Geben Sie für Servername den Namen des dedizierten SQL-Pools ein.

    3. Wählen Sie im Abschnitt Beim Server anmelden die Option SQL Server-Authentifizierung verwenden aus, und geben Sie die Authentifizierungsinformationen ein.

    4. Wählen Sie im Abschnitt Mit Datenbank verbinden eine vorhandene Datenbank des dedizierten SQL-Pools aus.

    5. Wählen Sie Verbindung testen aus.

    6. Wählen Sie im Dialogfeld, in dem die Ergebnisse des Verbindungstests gemeldet werden, OK aus, um zum Dialogfeld Verbindungs-Manager zurückzukehren.

    7. Klicken Sie im Dialogfeld Verbindungs-Manager auf OK, um zum Dialogfeld ADO.NET-Verbindungs-Manager konfigurieren zurückzukehren.

  5. Klicken Sie im Dialogfeld ADO.NET-Verbindungs-Manager konfigurieren auf OK, um zum ADO.NET-Ziel-Editor zurückzukehren.

  6. Klicken Sie im ADO.NET-Ziel-Editor neben der Liste Tabelle oder Sicht verwenden auf Neu, um das Dialogfeld Tabelle erstellen zu öffnen und eine neue Zieltabelle mit einer Spaltenliste zu erstellen, die der Quelltabelle entspricht.

    Screenshot: Dialogfeld „Tabelle erstellen“. Der SQL-Code zum Erstellen einer Zieltabelle ist sichtbar.

  7. Führen Sie im Dialogfeld Tabelle erstellen die folgenden Schritte aus:

    1. Ändern Sie den Namen der Zieltabelle in SalesOrderDetail.

    2. Entfernen Sie die Spalte rowguid. Der Uniqueidentifier-Datentyp wird nicht im dedizierten SQL-Pool unterstützt.

    3. Ändern Sie den Datentyp der Spalte LineTotal in money. Der Dezimal- Datentyp wird im dedizierten SQL-Pool nicht unterstützt. Informationen zu unterstützten Datentypen finden Sie unter CREATE TABLE (Azure Synapse Analytics, Parallel Data Warehouse).

      Screenshot des Dialogfelds „Tabelle erstellen“ mit Code zum Erstellen einer Tabelle namens „SalesOrderDetail“ mit „LineTotal“ als money-Spalte und ohne rowguid-Spalte

    4. Wählen Sie OK aus, um die Tabelle zu erstellen, und kehren Sie zum ADO.NET Ziel-Editorzurück.

  8. Wählen Sie im ADO.NET-Ziel-Editor die Registerkarte Zuordnungen aus, um festzustellen, wie Spalten in der Quelle denen im Ziel zugeordnet werden.

    Screenshot: Registerkarte „Zuordnungen“ im ADO.NET-Ziel-Editor. Spalten mit gleichen Namen in den Quell- und Zieltabellen sind mit Linien verbunden.

  9. Wählen Sie OK aus, um die Konfiguration des Ziels abzuschließen.

Ausführen des Pakets zum Laden der Daten

Führen Sie das Paket aus, indem Sie die Schaltfläche Start auf der Symbolleiste auswählen oder eine der Optionen Ausführen im Menü Debuggen auswählen.

In den folgenden Abschnitten wird beschrieben, was Sie sehen, wenn Sie das Paket mit der zweiten Option, die in diesem Artikel dargestellt ist, erstellt haben, also mit dem Datenfluss, der eine Quelle und ein Ziel enthält.

Wenn die Paketausführung beginnt, sehen Sie gelbe sich drehende Räder, die auf Aktivität hinweisen, sowie die Anzahl der bisher verarbeiteten Zeilen.

Screenshot mit den Quell- und Zieladaptern mit gelben, sich drehenden Rädern über jedem Adapter und dem Text

Wenn die Ausführung des Pakets abgeschlossen ist, werden grüne Häkchen angezeigt, um den Erfolg und die Gesamtzahl der Datenzeilen anzuzeigen, die von der Quelle an das Ziel geladen wurden.

Screenshot mit den Quell- und Zieladaptern. Grüne Häkchen befinden sich über jedem Adapter, und der Text

Herzlichen Glückwunsch, Sie haben SQL Server Integration Services erfolgreich verwendet, um Daten in Azure Synapse Analytics zu laden.