Microsoft SQL Server-Daten in BigQuery laden
Hinweis: Wenn Sie Support benötigen oder Feedback zu dieser Funktion geben möchten, wenden Sie sich an dts-preview-support@google.com.Wenn Sie wiederkehrende Datenübertragungen von Microsoft SQL Server zu BigQuery planen möchten, können Sie eine Übertragungskonfiguration erstellen, um anzugeben, welche Datenobjekte übertragen werden sollen und wie oft die Datenübertragung geplant werden soll. Nachdem Sie die Übertragungskonfiguration eingerichtet haben, überträgt der BigQuery Data Transfer Service die neuesten Daten nach dem angegebenen Zeitplan in eine BigQuery-Tabelle.
Informationen zur Funktionsweise einer Microsoft SQL Server-Übertragung finden Sie unter Einführung in Microsoft SQL Server-Datenübertragungen.
Beschränkungen
Für Microsoft SQL Server-Datenübertragungsjobs gelten die folgenden Beschränkungen:
- Die Anzahl der gleichzeitigen Verbindungen zu einer Microsoft SQL Server-Datenbank ist begrenzt. Daher ist auch die Anzahl der gleichzeitigen Übertragungsvorgänge zu einer einzelnen Microsoft SQL Server-Datenbank begrenzt. Die Anzahl der gleichzeitigen Übertragungsjobs muss geringer sein als die maximale Anzahl gleichzeitiger Verbindungen, die von der Microsoft SQL Server-Datenbank unterstützt werden.
- Einige Microsoft SQL Server-Datentypen werden möglicherweise dem Typ
STRINGin BigQuery zugeordnet, um Datenverlust zu vermeiden. Bestimmte numerische Typen in Microsoft SQL Server, für die keine Genauigkeit und Skalierung definiert sind, werden beispielsweise möglicherweiseSTRINGin BigQuery zugeordnet. Weitere Informationen finden Sie unter Datentypzuordnung.
Beschränkungen für inkrementelle Übertragungen
Für inkrementelle Microsoft SQL Server-Übertragungen gelten die folgenden Beschränkungen:- Sie können nur
TIMESTAMP-Spalten als Wasserzeichenspalten auswählen. - Die inkrementelle Aufnahme wird nur für Assets mit gültigen Wasserzeichenspalten unterstützt.
- Die Werte in einer Wasserzeichenspalte müssen monoton ansteigen.
- Bei inkrementellen Übertragungen können keine Löschvorgänge in der Quelltabelle synchronisiert werden.
- Eine einzelne Übertragungskonfiguration kann nur die inkrementelle oder die vollständige Aufnahme unterstützen.
- Sie können Objekte in der Liste
assetnach der ersten inkrementellen Aufnahme nicht mehr aktualisieren. - Sie können den Schreibmodus in einer Übertragungskonfiguration nach der ersten inkrementellen Aufnahme nicht mehr ändern.
- Sie können die Wasserzeichenspalte oder den Primärschlüssel nach der ersten inkrementellen Aufnahme nicht mehr ändern.
- Die Ziel-BigQuery-Tabelle wird mit dem angegebenen Primärschlüssel geclustert und unterliegt den Beschränkungen für geclusterte Tabellen.
- Wenn Sie eine vorhandene Übertragungskonfiguration zum ersten Mal in den inkrementellen Aufnahmemodus aktualisieren, werden bei der ersten Datenübertragung nach dieser Aktualisierung alle verfügbaren Daten aus Ihrer Datenquelle übertragen. Bei allen nachfolgenden inkrementellen Datenübertragungen werden nur die neuen und aktualisierten Zeilen aus Ihrer Datenquelle übertragen.
- Wir empfehlen, Indizes für die Wasserzeichenspalte zu erstellen. Dieser Connector verwendet Wasserzeichenspalten für Filter bei inkrementellen Übertragungen. Das Indexieren dieser Spalten kann die Leistung verbessern.
- Bei einer inkrementellen Übertragung müssen Sie die aktualisierte Datentypzuordnung verwenden.
Hinweis
Bevor Sie eine Microsoft SQL Server-Datenübertragung planen können, müssen die folgenden Voraussetzungen erfüllt sein.
Voraussetzungen für Microsoft SQL Server
Sie müssen ein Nutzerkonto in der Microsoft SQL Server-Datenbank erstellt haben. Weitere Informationen finden Sie unter Nutzer mit Anmeldung erstellen.
Voraussetzungen für BigQuery
- Überprüfen Sie, ob Sie alle erforderlichen Aktionen ausgeführt haben, damit Sie den BigQuery Data Transfer Service aktivieren können.
- Erstellen Sie ein BigQuery-Dataset zum Speichern Ihrer Daten.
Erforderliche Rollen
Bitten Sie Ihren Administrator, Ihnen die
BigQuery-Administrator (roles/bigquery.admin) IAM-Rolle für Ihr Projekt zuzuweisen,
um die Berechtigungen zu erhalten, die
Sie zum Erstellen einer Microsoft SQL Server-Datenübertragung benötigen.
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.
Diese vordefinierte Rolle enthält die Berechtigungen, die zum Erstellen einer Microsoft SQL Server-Datenübertragung erforderlich sind. Maximieren Sie den Abschnitt Erforderliche Berechtigungen , um die notwendigen Berechtigungen anzuzeigen, die erforderlich sind:
Erforderliche Berechtigungen
Die folgenden Berechtigungen sind zum Erstellen einer Microsoft SQL Server-Datenübertragung erforderlich:
-
bigquery.transfers.update -
bigquery.datasets.get
Sie können diese Berechtigungen gegebenenfalls auch mit benutzerdefinierten Rollen oder anderen vordefinierten Rollen erhalten.
Netzwerkkonfiguration
Sie müssen bestimmte Netzwerkkonfigurationen einrichten, wenn für die Microsoft SQL Server-Datenbankverbindung keine öffentliche IP-Adresse verfügbar ist. Weitere Informationen finden Sie in den folgenden Abschnitten:
- Verbindung zu einer Google Cloud Instanz konfigurieren
- Verbindung zu AWS konfigurieren
- Verbindung zu Azure konfigurieren
Microsoft SQL Server-Datenübertragung einrichten
Wählen Sie eine der folgenden Optionen aus:
Console
Rufen Sie die Seite Datenübertragungen auf.
Klicken Sie auf Übertragung erstellen.
Wählen Sie im Abschnitt Quelltyp als Quelle die Option Microsoft SQL Server aus.
Führen Sie im Abschnitt Details zur Datenquelle folgende Schritte aus:
- Wählen Sie unter Netzwerkanhang einen vorhandenen Netzwerkanhang aus oder klicken Sie auf Netzwerkanhang erstellen.
- Geben Sie unter Host den Hostnamen oder die IP-Adresse der Microsoft SQL Server-Datenbank ein.
- Geben Sie unter Portnummer die Portnummer für die Microsoft SQL Server Datenbank ein.
- Geben Sie unter Datenbankname den Namen der Microsoft SQL Server Datenbank ein.
- Geben Sie unter Nutzername den Nutzernamen des Microsoft SQL Server Nutzers ein, der die Microsoft SQL Server-Datenbankverbindung initiiert.
- Geben Sie unter Passwort das Passwort des Microsoft SQL Server -Nutzers ein, der die Microsoft SQL Server-Datenbankverbindung initiiert.
- Wählen Sie für TLS-Modus eine Option aus dem Menü aus. Weitere Informationen zu TLS-Modi finden Sie unter TLS-Konfiguration.
- Geben Sie für Trusted PEM Certificate (Zertifikat für vertrauenswürdigen PEM) das öffentliche Zertifikat der Zertifizierungsstelle ein, die das TLS-Zertifikat des Datenbankservers ausgestellt hat. Weitere Informationen finden Sie unter Zertifikat für vertrauenswürdigen Serverzertifikat (PEM).
- Wählen Sie für Legacy-Zuordnung aktivieren die Option true (Standard) aus, um die Legacy Datentypzuordnung zu verwenden. Wählen Sie false aus, um die aktualisierte Datentypzuordnung zu verwenden. Wenn Sie eine inkrementelle Übertragung ausführen, muss dieser Wert false sein. Weitere Informationen zu den Aktualisierungen der Datentyp zuordnung finden Sie unter 16. März 2027.
- Wählen Sie für Aufnahmetyp die Option Vollständig oder Inkrementell aus.
- Wenn Sie Inkrementell (Vorschau) auswählen, wählen Sie für Schreibmodus entweder Append oder Upsert aus. Weitere Informationen zu den verschiedenen Schreibmodi finden Sie unter Vollständige oder inkrementelle Übertragungen.
- Suchen Sie unter Microsoft SQL Server-Objekte für die Übertragung in der Microsoft SQL Server-Tabelle oder geben Sie manuell die Namen der Tabellen ein, die für die Übertragung erforderlich sind.
Wählen Sie im Abschnitt Zieleinstellungen für Dataset das Dataset aus, das Sie zum Speichern Ihrer Daten erstellt haben, oder klicken Sie auf Neues Dataset erstellen und erstellen Sie ein Dataset, das als Ziel-Dataset verwendet werden soll.
Geben Sie im Abschnitt Konfigurationsname für Übertragung für Anzeigename einen Namen für die Übertragung ein. Der Name kann ein beliebiger Wert sein, anhand dessen Sie die Übertragung identifizieren können, falls Sie sie später ändern müssen.
Führen Sie im Abschnitt Zeitplanoptionen folgende Schritte aus:
- Wählen Sie eine Wiederholungshäufigkeit aus. Wenn Sie die Option Stunden, Tage (Standard), Wochen oder Monate auswählen, müssen Sie auch eine Häufigkeit angeben. Sie können auch die Option Benutzerdefiniert auswählen, um eine genauere Wiederholungshäufigkeit festzulegen. Wenn Sie die Option On-demand auswählen, wird diese Datenübertragung nur ausgeführt, wenn Sie die Übertragung manuell auslösen.
- Wählen Sie gegebenenfalls die Option Jetzt starten oder Zu festgelegter Zeit starten aus und geben Sie ein Startdatum und eine Laufzeit an.
Optional: Gehen Sie im Abschnitt Benachrichtigungsoptionen so vor:
- Klicken Sie auf den Ein/Aus-Button E‑Mail-Benachrichtigungen, um E‑Mail-Benachrichtigungen zu aktivieren. Wenn Sie diese Option aktivieren, erhält der Übertragungsadministrator eine E‑Mail-Benachrichtigung, wenn ein Übertragungsvorgang fehlschlägt.
- Wenn Sie Pub/Sub-Lauf-Benachrichtigungen für Ihre Übertragung konfigurieren möchten, klicken Sie auf den Ein/Aus-Button Pub/Sub-Benachrichtigungen , um die Funktion zu aktivieren. Sie können Ihren Themen namen auswählen oder auf Thema erstellen klicken, um eines zu erstellen.
Optional: Wählen Sie im Abschnitt Erweiterte Optionen einen Verschlüsselungstyp für diese Übertragung aus. Sie können entweder einen von Google verwalteten Verschlüsselungsschlüssel Google-owned and Google-managed encryption key oder einen vom Kunden verwalteten Cloud Key Management Service-Schlüssel auswählen. Weitere Informationen zu Verschlüsselungsschlüsseln finden Sie unter Kundenverwaltete Verschlüsselungsschlüssel (CMEK).
Klicken Sie auf Speichern.
bq
Geben Sie den bq mk Befehl
ein und geben Sie das Flag für die Übertragungserstellung --transfer_config an:
bq mk \ --transfer_config \ --project_id=PROJECT_ID \ --data_source=DATA_SOURCE \ --display_name=DISPLAY_NAME \ --target_dataset=DATASET \ --params='PARAMETERS'
Ersetzen Sie Folgendes:
PROJECT_ID(optional): Ihre Google Cloud Projekt-ID. Wenn das Flag--project_idnicht angegeben wird, um ein bestimmtes Projekt anzugeben, wird das Standardprojekt verwendet.DATA_SOURCE: die Datenquelle, diesqlserverist.DISPLAY_NAME: der Anzeigename für die Datenübertragungskonfiguration. Der Name kann ein beliebiger Wert sein, anhand dessen Sie die Übertragung identifizieren können, falls Sie sie später ändern müssen.DATASET: das Ziel-Dataset für die Datenübertragungskonfiguration.PARAMETERS: die Parameter für die erstellte Übertragungskonfiguration im JSON-Format. Beispiel:--params='{"param":"param_value"}'. Im Folgenden finden Sie die Parameter für eine Microsoft SQL Server-Übertragung:connector.networkAttachment(optional): der Name des Netzwerkanhangs, der eine Verbindung zur Microsoft SQL Server-Datenbank herstellen soll.connector.database: der Name der Microsoft SQL Server-Datenbank.connector.endpoint.host: der Hostname oder die IP-Adresse der Datenbank.connector.endpoint.port: die Portnummer der Datenbank.connector.authentication.username: der Nutzername des Datenbanknutzers.connector.authentication.password: das Passwort des Datenbanknutzers.connector.legacyMapping: auftrue(Standard) festgelegt, um die Legacy Datentypzuordnung zu verwenden. Auffalsefestgelegt, um die aktualisierte Datentypzuordnung zu verwenden. Wenn Sie eine inkrementelle Übertragung ausführen, muss dieser Wertfalsesein. Weitere Informationen zu den Aktualisierungen der Datentyp zuordnung finden Sie unter 16. März 2027.connector.tls.mode: Geben Sie eine TLS-Konfiguration an, die mit dieser Übertragung verwendet werden soll:ENCRYPT_VERIFY_CA_AND_HOSTzum Verschlüsseln von Daten und Überprüfen der Zertifizierungsstelle und des HostnamensENCRYPT_VERIFY_CAzum Verschlüsseln von Daten und Überprüfen nur der ZertifizierungsstelleENCRYPT_VERIFY_NONEnur für die DatenverschlüsselungDISABLEfür keine Verschlüsselung oder Überprüfung
connector.tls.trustedServerCertificate: (optional) Geben Sie ein oder mehrere PEM-codierte Zertifikate an. Nur erforderlich, wenn der Wert vonconnector.tls.modeENCRYPT_VERIFY_CA_AND_HOSToderENCRYPT_VERIFY_CAist.ingestionType: Geben Sie entwederfulloderincrementalan. Inkrementelle Übertragungen werden in der Vorschauunterstützt. Weitere Informationen finden Sie unter Vollständige oder inkrementelle Übertragungen.writeMode: Geben Sie entwederWRITE_MODE_APPENDoderWRITE_MODE_UPSERTan.watermarkColumns: Geben Sie Spalten in Ihrer Tabelle als Wasserzeichenspalten an. Dieses Feld ist für inkrementelle Übertragungen erforderlich.primaryKeys: Geben Sie Spalten in Ihrer Tabelle als Primärschlüssel an. Dieses Feld ist für inkrementelle Übertragungen erforderlich.assets: eine Liste der Namen der Microsoft SQL Server-Tabellen, die im Rahmen der Übertragung aus der Microsoft SQL Server-Datenbank übertragen werden sollen.
Mit dem folgenden Befehl wird beispielsweise eine Microsoft SQL Server-Übertragung mit dem Namen My Transfer erstellt:
bq mk \ --transfer_config --target_dataset=mydataset --data_source=sqlserver --display_name='My Transfer' --params='{"assets":["DB1/DEPARTMENT","DB1/EMPLOYEES"], "connector.authentication.username": "User1", "connector.authentication.password":"ABC12345", "connector.database":"DB1", "connector.endpoint.host":"192.168.0.1", "connector.endpoint.port":"1520", "connector.networkAttachment":"projects/dev-project1/regions/us-central1/networkattachments/na1", "ingestionType":"incremental", "writeMode":"WRITE_MODE_APPEND", "watermarkColumns":["createdAt","createdAt"], "primaryKeys":[['dep_id'], ['report_by','report_title']], "connector.tls.mode": "ENCRYPT_VERIFY_CA_AND_HOST", "connector.tls.trustedServerCertificate": "PEM-encoded certificate"}'
Wenn Sie bei einer inkrementellen Übertragung mehrere Assets angeben, entsprechen die Werte der Felder watermarkColumns und primaryKeys der Position der Werte im Feld assets. Im folgenden Beispiel entspricht dep_id der Tabelle DB1/DEPARTMENT, während report_by und report_title der Tabelle DB1/EMPLOYEES entsprechen.
"primaryKeys":[['dep_id'], ['report_by','report_title']], "assets":["DB1/DEPARTMENT","DB1/EMPLOYEES"],
Wenn Sie eine Datenübertragung außerhalb des regulären Zeitplans manuell ausführen möchten, können Sie einen Backfill-Vorgang starten.
Fehlerbehebung
Informationen zur Fehlerbehebung bei Ihrer Datenübertragung finden Sie unter Probleme bei der Microsoft SQL Server-Übertragung.
Metadaten übertragen
Sie können den Microsoft SQL Server-Connector auch verwenden, um Metadaten in Knowledge Catalog zu übertragen. Weitere Informationen finden Sie unter Microsoft SQL Server-Metadaten in Knowledge Catalog laden.Nächste Schritte
- Lesen Sie eine Übersicht über den BigQuery Data Transfer Service.
- Informationen zum Verwalten von Übertragungen, einschließlich des Abrufs von Informationen zu einer Übertragungskonfiguration, des Auflistens von Übertragungskonfigurationen und des Aufrufs des Ausführungsverlaufs der Übertragung.
- Informationen zum Laden von Daten mit BigQuery Omni-Vorgängen.