Migrationsmethoden für SQL Server zu Fabric Data Warehouse

Gilt für:✅ Warehouse in Microsoft Fabric

Dieser Artikel beschreibt Methoden zur Migration von Data Warehouses SQL Server zu Microsoft Fabric Data Warehouse.

Tipp

Weitere Informationen zu Strategie und Planung finden Sie unter Migration planning: SQL Server to Fabric Data Warehouse.

Verwenden Sie den Fabric Migration Assistant for Data Warehouse für eine automatisierte Migration aus SQL Server. Der Rest dieses Artikels beschreibt weitere manuelle Migrationsschritte.

Die folgende Tabelle fasst Methoden zur Migration des Datenschemas (DDL), des Datenbankcodes (DML) und der Daten zusammen. Jede Option wird später in diesem Artikel beschrieben.

Auswahl Methode Was es bewirkt Fähigkeit oder Vorliebe Scenario
1 Datenfabrik Schemakonvertierung
Extrahieren von Daten
Datenaufnahme
Data Factory-Pipeline Vereinfachte Schema- und Datenmigration. Empfohlen für Dimensionstabellen.
2 Data Factory mit Partitionierung Schemakonvertierung
Extrahieren von Daten
Datenaufnahme
Data Factory-Pipeline Parallelisierte Migration für große Faktentabellen.
3 Schema-First-Migration Schemakonvertierung Data Factory-Pipeline Migriere zuerst das Schema und extrahiere und importiere dann die Daten separat, um mehr Kontrolle über den Durchsatz zu haben.
4 SQL-Migrationsskripte Schemakonvertierung
Extrahieren von Daten
Codebewertung
T-SQL Verwenden Sie eine IDE und Skripte für eine detaillierte Kontrolle über Migrationsaufgaben.
5 SQL-Datenbankprojekte Schemakonvertierung
Codebewertung
SQL-Projekt Verwenden Sie ein Datenbankprojekt für Quellcodekontrolle, Bewertung und Bereitstellung.
6 dbt Schemakonvertierung
Datenbankcode-Konvertierung
dbt Verwenden Sie ein bestehendes DBT-Projekt wieder, indem Sie den Adapter und die Zielkonfiguration ändern.

Auswählen einer Workload für die erste Migration

Wenn Sie entscheiden, wo Sie ein SQL Server Fabric Data WarehouseMigrationsprojekt starten möchten, wählen Sie einen Arbeitsbereich, in dem Sie:

  • Beweisen Sie die Tragfähigkeit der Migration zu Fabric Data Warehouse, indem Sie die Vorteile der neuen Umgebung schnell umsetzen. Fang klein und einfach an und bereite dich auf mehrere kleine Migrationen vor.
  • Gib deinem technischen Team Zeit, relevante Erfahrungen mit den Prozessen und Werkzeugen zu sammeln, die sie zur Migration anderer Arbeitslasten nutzen.
  • Erstellen Sie eine Vorlage für weitere Migrationen, die speziell auf Ihre SQL Server-Umgebung, Tools und Prozesse zugeschnitten ist.

Tipp

Erstellen Sie ein Inventar der zu migrierenden Objekte und dokumentieren Sie den Migrationsprozess von Anfang bis Ende, damit er für andere Datenbanken oder Arbeitslasten wiederholt werden kann.

Das Datenvolumen bei einer ersten Migration sollte groß genug sein, um die Fähigkeiten und Vorteile von Fabric Data Warehouse zu demonstrieren, aber klein genug, um schnell den Wert zu zeigen. In der Regel liegt die Größe im Bereich von 1 bis 10 TB.

Migration mit der Fabric Data Factory

Fabric Data Factory bietet eine Low-Code-Schnittstelle, mit der Tabellen-DDL konvertiert und Daten aus SQL Server übertragen werden können.

Fabric Data Factory kann die folgenden Aufgaben ausführen:

  • Schema (DDL) in Fabric Data Warehouse Syntax umwandeln.
  • Erstellen Sie Schema-Objekte in Fabric Data Warehouse.
  • Migriere Daten zu Fabric Data Warehouse.

Option 1: Schema- und Datenmigration mit Copy Assistant

Diese Methode verwendet den Data Factory Copy Assistant, um sich mit der Quelldatenbank SQL Server verbinden, Tabellen-DDL in Fabric Syntax umzuwandeln und Daten in Fabric Data Warehouse zu kopieren. Du kannst eine oder mehrere Quelltabellen auswählen. Die generierte Pipeline verwendet eine ForEach-Aktivität, um die ausgewählten Tabellen parallel zu kopieren.

Wenn Sie die Kopieroperation konfigurieren:

  • Verwenden Sie den SQL Server-Connector für die Quellverbindung.
  • Begrenze parallele Kopien auf ein Niveau, das die Quelldatenbank und das Netzwerk aufrechterhalten können.
  • Überwachen Sie Quell-CPU, I/O, Transaktionsprotokollnutzung und Produktionslastverzögerung während der Extraktion.

Verwenden Sie den Copy-Assistenten für eine einfache Benutzeroberfläche, die DDL konvertiert und ausgewählte Tabellen in einem Vorgang lädt. Diese Methode eignet sich gut für Maßstabellen und kleinere Arbeitslasten.

Für große Tabellen verwenden Sie Partitionierung, um die Lese- und Schreibparallelität zu erhöhen.

Option 2. Datenmigration mit Partitionierung

Für große Faktentabellen verwenden Sie für jede Tabelle eine Copy-Aktivität und konfigurieren Sie die Quellcode-Partitionierung. Verwenden Sie physische Partitionen, wenn verfügbar, oder konfigurieren Sie die Dynamikbereichspartitionierung, indem Sie eine geeignete Zahlen- oder Datumsspalte sowie deren Mindest- und Maximalwerte angeben.

Screenshot einer Pipeline-Quelle mit Optionen für die Partitionierung dynamischer Bereiche.

Wenn Sie Partitionierung verwenden:

  • Wählen Sie eine Spaltspalte, die die Zeilen gleichmäßig verteilt.
  • Vermeiden Sie es, mehr gleichzeitige Quellanfragen zu erstellen, als SQL Server verarbeiten kann, ohne die Produktionslasten zu beeinträchtigen.
  • Vergleichen Sie den Partitionsbereich und die parallelen Kopiereinstellungen mit einer repräsentativen Arbeitslast.
  • Erhöhen Sie die Parallelität allmählich, während Sie Quelle und Ziel überwachen.

Verwenden Sie Data Factory-Partitionierung für große Faktentabellen, wenn die parallele Extraktion den Durchsatz verbessert. Dimensionieren Sie die Batch-Anzahl und die Partitionsbereiche entsprechend den Ressourcen Ihrer Quelldatenbank und der Netzwerkkapazität.

Option 3. Schema-zuerst-Migration

Für größere Datenbanken trennen Sie die Schema-Migration von der Datenmigration:

  1. Konvertiere und erstelle Tabellenschemata in Fabric Data Warehouse.
  2. Extrahiere Quelldaten in Azure Data Lake Storage (ADLS) Gen2.
  3. Verwenden Sie Data Factory oder den Befehl COPY INTO, um die gestuften Daten in Fabric Data Warehouse zu übertragen.

Die Trennung dieser Phasen ermöglicht es dir, Extraktion und Aufnahme unabhängig voneinander abzustimmen.

Schema-Migration mit Data Factory

Du kannst eine Fabric Pipeline verwenden, um Tabellenschemata von SQL Server zu Fabric Data Warehouse zu migrieren, ohne Zeilen kopieren zu müssen.

Screenshot aus der Fabric Data Factory, der eine Lookup-Aktivität zeigt, die mit einer ForEach-Aktivität verbunden ist, die DDL migriert.

Konfiguration von Pipeline-Parametern

Erstelle einen Parameter SchemaName , der angibt, welche Schemata migriert werden sollen. Verwenden Sie dbo als Standard oder geben Sie eine komma-getrennte Liste ein, wie zum Beispiel 'dbo','sales'.

Screenshot aus Data Factory, der den SchemaName-Pipeline-Parameter zeigt.

Konfigurieren Sie die Lookup-Aktivität

Erstellen Sie eine Lookup-Aktivität und stellen Sie deren Verbindung zur Quelldatenbank SQL Server ein. Auf der Registerkarte Einstellungen:

  • Setzen Sie den Datenspeichertyp auf Extern.
  • Wählen Sie die Quell-SQL Server-Verbindung aus.
  • Setze Use Query auf Query.
  • Fügen Sie eine dynamische Abfrage hinzu, die das Quellschema und die Tabellennamen zurückgibt.

Verwenden Sie folgenden Ausdruck, um die Abfrage zu erstellen:

@concat('
SELECT s.name AS SchemaName,
t.name AS TableName
FROM sys.tables AS t
INNER JOIN sys.schemas AS s
ON t.type = ''U''
AND s.schema_id = t.schema_id
AND s.name in (',coalesce(pipeline().parameters.SchemaName, 'dbo'),')
')

Screenshot aus Data Factory, der eine dynamische Abfrage in der Lookup-Aktivität zeigt.

Konfigurieren Sie die ForEach-Aktivität

Im Einstellungs-Tab für die ForEach-Aktivität:

  • Deaktiviere Sequential, damit Iterationen gleichzeitig ausgeführt werden können.
  • Setze die Batch-Zahl auf einen Wert, den die Quelldatenbank halten kann. Beginne mit einem konservativen Wert und teste ihn.
  • Setzen Sie Items auf @activity('Get List of Source Objects').output.value.

Screenshot zeigt die Einstellungen einer ForEach-Aktivität.

Konfigurieren Sie die Kopieraktivität

Innerhalb der ForEach-Aktivität fügen Sie eine Copy-Aktivität hinzu. Auf der Registerkarte Quelle:

  • Setzen Sie den Datenspeichertyp auf Extern.
  • Wählen Sie die Quell-SQL Server-Verbindung aus.
  • Setze Use Query auf Query.
  • Setze Abfrage auf @concat('SELECT TOP 0 * FROM ',item().SchemaName,'.',item().TableName), sodass nur Tabellenmetadaten migriert werden.

Screenshot von Data Factory, der die Quelleinstellungen für die Copy-Aktivität zeigt.

Auf der Registerkarte "Ziel" finden Sie Folgendes:

  • Setzen Sie den Datenspeichertyp auf Arbeitsbereich.
  • Setze den Workspace-Datenspeichertyp auf Data Warehouse und wähle das Ziellager aus.
  • Setze das Zielschema auf @item().SchemaName.
  • Setze die Zieltabelle auf @item().TableName.

Screenshot von Data Factory, der die Zieleinstellungen für die Copy-Aktivität zeigt.

Nachdem Sie die Pipeline ausgeführt haben, überprüfen Sie, ob Fabric Data Warehouse jede ausgewählte Tabelle mit dem erwarteten Schema enthält.

Migration mit SQL-Skripten

Verwenden Sie T-SQL- und PowerShell-Migrationsskripte, wenn Sie granulare Kontrolle über Schema-Konvertierung, Datenextraktion und Code-Bewertung benötigen.

Migrationsskripte können:

  • Schema (DDL) in Fabric Data Warehouse Syntax umwandeln.
  • Erstellen Sie Schema-Objekte in Fabric Data Warehouse.
  • Extrahiere Daten aus dem SQL Server in ADLS Gen2.
  • Markiere nicht unterstützte T-SQL-Syntax in gespeicherten Prozeduren, Funktionen und Ansichten.

Das Microsoft Fabric CAT-Team stellt Migrationscodebeispiele im Fabric-Migrationsrepository bereit.

Verwenden Sie Skripte, wenn Sie mit T-SQL vertraut sind, eine integrierte Entwicklungsumgebung bevorzugen und individuelle Migrationsaufgaben steuern müssen. Verwenden Sie COPY INTO oder Data Factory, um extrahierte Daten in das Fabric Data Warehouse zu laden.

Migration mit SQL-Datenbankprojekten

Fabric Data Warehouse wird in der SQL Database Projects-Erweiterung für Visual Studio Code unterstützt.

Ein SQL-Datenbankprojekt bietet die Funktionen für Versionsverwaltung, Datenbanktests, Schemavalidierung und Bereitstellung. Es kann:

  • Schema (DDL) in Fabric Data Warehouse Syntax umwandeln.
  • Erstellen Sie Schema-Objekte in Fabric Data Warehouse.
  • Beurteile nicht unterstützte T-SQL-Syntax in gespeicherten Prozeduren, Funktionen und Ansichten.

Für die Datenmigration verwenden Sie Data Factory, um direkt aus SQL Server zu kopieren, oder extrahieren Sie Daten nach ADLS Gen2 und laden sie mit COPY INTO oder Data Factory.

Eine Anleitung, wie man SQL-Datenbankprojekte mit Migrationsskripten verwendet, siehe das Fabric-Migration-Repository.

Weitere Informationen finden Sie unter Starten Sie mit der SQL Database Projects-Erweiterung und Erstellen Sie ein Datenbankprojekt aus der Kommandozeile.

Migration mit dbt

Wenn dein SQL Server data warehouse DBT verwendet, kannst du den DBT-Adapter für Fabric Data Warehouse verwenden, um Schema- und Datenbankcode zu konvertieren, indem du das Zielprofil und den Adapter änderst.

Das DBT-Framework erzeugt DDL- und DML-Skripte aus Modelldateien. Sie müssen die Daten separat migrieren, indem Sie Data Factory oder eine andere in diesem Artikel beschriebene Datenmigrationsoption verwenden.

Um zu starten, siehe Tutorial: Richte DBT für Fabric Data Warehouse ein.

Datenaufnahme in Fabric Data Warehouse

Für Stagingdaten verwenden Sie COPY INTO oder Fabric Data Factory, um Dateien aus ADLS Gen2 in das Fabric Data Warehouse zu laden. Betrachten Sie folgende Empfehlungen:

  • Extrahiere große Tabellen parallel, wenn Quelldatenbank und Netzwerk ausreichend Kapazität haben.
  • Bevorzuge Parquet-Dateien, um Speicher- und Netzwerknutzung zu reduzieren und die Aufnahmeeffizienz zu verbessern.
  • Laden Sie mehrere Zieltabellen gleichzeitig, wenn Ihre Fabric-Kapazität die Arbeitslast tragen kann.
  • Überwachen Sie sowohl die Quellenextraktion als auch die Fabric-Kapazität, um den optimalen Grad an Parallelität zu finden.