person in gray long sleeve shirt using macbook air on brown wooden table - External data on an external storage
|

SQL Server 2022: Parquet-Dateien direkt aus der Datenbank erstellen

This post might contain affiliate links. We may earn a commission if you click and make a purchase. Your support is appreciated!

SQL Server 2022 bringt eine spannende Funktion mit sich: Parquet-Dateien direkt aus der Datenbank heraus erstellen und in Azure Blob Storage speichern. Diese Möglichkeit eröffnet neue Wege für Datenintegration, Archivierung und Analytics-Workflows. In diesem Beitrag erkläre ich dir, warum das nützlich ist, wie es funktioniert und was du dabei beachten solltest.

Warum Parquet-Dateien aus SQL Server exportieren?

Die Speicherung von Daten als Parquet-Dateien bringt mehrere Vorteile:

  • Optimierte Performance für analytische Workloads (Spaltenbasiertes Format)
  • Platzsparend durch effektive Kompression
  • Direkte Integration in moderne Big-Data- und Analytics-Umgebungen (Azure Synapse, Databricks, Spark, etc.)
  • Archivierung historischer Daten, um die operative Datenbank zu entlasten

Typische Anwendungsfälle:

  • Daten für Analytics-Teams bereitstellen, ohne aufwändige ETL-Prozesse.
  • Alte, wenig genutzte Daten auslagern, um die Primärdatenbank schlank zu halten.
  • Datenvirtualisierung nutzen, um externe Datenquellen einfach in SQL Server zu integrieren.

So funktioniert es: Die Schritte im Überblick

Damit du Parquet-Dateien aus SQL Server 2022 direkt in Azure Blob Storage speichern kannst, sind folgende Schritte nötig:

1. Master Key für Sicherheitskonfiguration erstellen

CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'DeinSicheresPasswort@2025';

Warum? SQL Server benötigt einen Master Key, um Verbindungen zu externen Ressourcen sicher zu speichern.


2. Datenquelle für Azure Blob Storage einrichten

CREATE DATABASE SCOPED CREDENTIAL AzureBlobCredential
WITH IDENTITY = 'SHARED ACCESS SIGNATURE',
SECRET = 'Dein_SAS_Token';

Tipp: Das Shared Access Signature (SAS) Token kannst du in Azure generieren. Es regelt, welche Rechte SQL Server auf den Blob Storage hat.

CREATE EXTERNAL DATA SOURCE AzureBlobStorage
WITH (TYPE = BLOB_STORAGE, LOCATION = 'https://deinaccount.blob.core.windows.net/deincontainer',
CREDENTIAL = AzureBlobCredential);
blank

3. Parquet-Dateiformat definieren

CREATE EXTERNAL FILE FORMAT ParquetFormat
WITH (FORMAT_TYPE = PARQUET);

Warum? Damit SQL Server weiß, dass es sich um eine Parquet-Datei handelt.


4. Externe Tabelle erstellen und Daten exportieren

CREATE EXTERNAL TABLE CustomerTransactions (
	[CustomerTransactionID] [int] NOT NULL,
	[CustomerID] [int] NOT NULL,
	[TransactionTypeID] [int] NOT NULL,
	[InvoiceID] [int] NULL,
	[PaymentMethodID] [int] NULL,
	[TransactionDate] [date] NOT NULL,
	[AmountExcludingTax] [decimal](18, 2) NOT NULL,
	[TaxAmount] [decimal](18, 2) NOT NULL,
	[TransactionAmount] [decimal](18, 2) NOT NULL,
	[OutstandingBalance] [decimal](18, 2) NOT NULL,
	[FinalizationDate] [date] NULL,
	[IsFinalized]  AS (case when [FinalizationDate] IS NULL then CONVERT([bit],(0)) else CONVERT([bit],(1)) end) PERSISTED,
	[LastEditedBy] [int] NOT NULL,
	[LastEditedWhen] [datetime2](7) NOT NULL
)
WITH ( LOCATION = 'customer_transactions\',
    DATA_SOURCE = AzureBlobStorage,
    FILE_FORMAT = ParquetFormat
) SELECT * FROM Sales.CustomerTransactions;

Ergebnis: Die Daten aus der SQL-Tabelle werden als Parquet-Datei in Azure gespeichert und gleichzeitig als externe Tabelle in SQL Server verfügbar gemacht!

sql-server-2022-parquet-export-image-2

Automatisierung: Täglicher Export von Transaktionen

Falls du regelmäßig Daten exportieren willst (z. B. tägliche Transaktionsdaten), kannst du das mit dynamischem SQL lösen:

DECLARE @date VARCHAR(10) = FORMAT(GETDATE(), 'yyyyMMdd');
DECLARE @sql NVARCHAR(MAX);
SET @sql = 'CREATE EXTERNAL TABLE CustomerTransactions_' + @date + '
WITH (LOCATION = ''transactions/' + @date + ''',
DATA_SOURCE = AzureBlobStorage,
FILE_FORMAT = ParquetFormat)
AS SELECT * FROM Sales.CustomerTransactions WHERE TransactionDate = ''' + @date + ''';';
EXEC sp_executesql @sql;

Ergebnis: Jeden Tag wird automatisch eine neue Parquet-Datei mit den Tagesdaten erstellt.


Fazit: SQL Server 2022 + Parquet = Mehr Flexibilität!

Mit SQL Server 2022 kannst du Parquet-Dateien direkt aus der Datenbank erzeugen und sie in Azure speichern. Das eröffnet neue Möglichkeiten für Analytics, Archivierung und Datenvirtualisierung.

Zusammenfassung:

  • Daten in ein effizientes, spaltenbasiertes Format überführen
  • Azure Blob Storage als günstige und skalierbare Ablage nutzen
  • Externe Tabellen für schnellen Zugriff auf exportierte Daten erstellen
  • Automatisierung für regelmäßige Exporte möglich

📌 Falls du SQL Server 2022 nutzt und dich fragst, ob sich dieses Feature für dich lohnt – probier es aus! Hast du Fragen oder eigene Erfahrungen damit? Schreib es in die Kommentare! 😊

This post might contain affiliate links. We may earn a commission if you click and make a purchase. Your support is appreciated!

Ähnliche Beiträge

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Seite verwendet Akismet, um Spam zu reduzieren. Erfahre, wie deine Kommentardaten verarbeitet werden..