Microsoft SQL Server
In diesem Thema wird erläutert, wie die Verbindung zu einem Microsoft SQL Server-Ziel anhand des Microsoft SQL Server-Zielkonnektors konfiguriert wird.
Ein Microsoft SQL Server-Ziel kann entweder in als eine Zieldatenplattform in einer Daten-Pipeline oder einer Replikationsaufgabe. In einer Daten-Pipeline können verschiedene ELT-Vorgänge auf der Zielplattform durchgeführt werden, wie das Speichern oder Umwandeln von Daten, das Erstellen von Data Marts und die Datenregistrierung. Im Gegensatz dazu werden bei einer Replikationsaufgabe die Daten direkt aus einem Quellsystem in ein Zielsystem mit grundlegenden Umwandlungsfunktionen repliziert. ELT-Vorgänge werden nicht unterstützt. Bevor Sie eine Verbindung zu einem Microsoft SQL Server-Ziel herstellen können, müssen Sie die Voraussetzungen für Benutzer in der Datenbank konfigurieren. Wenn Sie eine Verbindung zu Microsoft SQL Server über Data Movement Gateway herstellen, müssen Sie auch den Treiber wie in Treibereinrichtung beschrieben installieren.
Weitere Informationen zu den Einschränkungen und Überlegungen bei der Verwendung des Microsoft SQL Server-Ziel-Konnektors finden Sie unter Einschränkungen und Überlegungen.
Einrichten von Verbindungseigenschaften
Gehen Sie wie folgt vor, um den Konnektor zu konfigurieren:
-
Klicken Sie in Verbindungen auf Verbindung erstellen.
-
Wählen Sie den Konnektor für denMicrosoft SQL Server-Zielkonnektor aus und geben Sie dann die folgenden Einstellungen an:
Data Movement Gateway
Ein Microsoft SQL Server kann entweder als Ziel in einer Daten-Pipeline oder in einer Replikationsaufgabe verwendet werden. Ein Data Movement Gateway kann erforderlich sein, um auf das Microsoft SQL Server-Ziel in einer Pipeline zuzugreifen (abhängig davon, ob die Datenbank direkt über Qlik Cloud zugänglich ist). Wenn ein Microsoft SQL Server-Ziel in einer Replikationsaufgabe verwendet wird, ist immer ein Data Movement Gateway erforderlich.
Verwenden eines Microsoft SQL Server-Ziels in einer Daten-Pipeline
Daten-Gateway
Ein Data Movement Gateway ist nur erforderlich, wenn die Zieldatenbank nicht über Qlik Cloud, sondern nur über einen Private Link erreichbar ist (wenn sie sich z. B. lokal hinter einer Firewall oder in einer Virtual Private Cloud befindet). Wählen Sie in diesem Fall das Data Movement Gateway aus, über das Sie auf die Zieldatenbank zugreifen möchten.
Abhängig von Ihrem Anwendungsfall ist dies das gleiche Data Movement Gateway, das zum Verschieben von Daten aus der Datenquelle bereitgestellt wurde, oder ein anderes.
Informationen zu Anwendungsfällen für Data Movement Gateway finden Sie unter Wann ist Data Movement Gateway erforderlich? und Häufige Anwendungsfälle.
Wenn auf die Zieldatenbank direkt über Qlik Cloud zugegriffen werden kann, wählen Sie Keine aus.
Verwenden eines Microsoft SQL Server-Ziels in einer Replikationsaufgabe
Daten-Gateway: Wählen Sie das Data Movement Gateway aus, das zum Testen der Verbindung zum Microsoft SQL Server-Ziel verwendet wird. Dabei muss es sich um das gleiche Gateway wie für den Zugriff auf die Datenquelle handeln.
Erfordert Data Movement Gateway 2023.5.10 oder höher.
Datenziel
-
Cloudanbieter: Wählen Sie wie erforderlich eine der folgenden Optionen aus:
- Keiner (für lokale Bereitstellungen)
- Amazon RDS
- Google Cloud
- Microsoft Azure (unterstützt sowohl Microsoft Azure Managed Instance als auch Microsoft Azure Database)
-
Server: Hostname oder IP-Adresse des Rechners, auf dem die Microsoft SQL Server-Datenbank installiert ist.
InformationshinweisUm den Standardport zu überschreiben, fügen Sie den Port getrennt durch ein Komma zum Servernamen hinzu. Wenn beispielsweise der Servername
myserver.company.local
und der Port3333
ist, sollte der Servername wie folgt lauten:myserver.company.local,3333
Kontoeigenschaften
Benutzername und Kennwort: Benutzername und Kennwort eines Benutzers, der zum Zugriff auf die Microsoft SQL Server-Datenbank berechtigt ist.
Datenbankeigenschaften
-
Datenbankname: Es gibt zwei Methoden zum Angeben einer Datenbank:
- Methode 1 – Aus einer Liste auswählen: Für diese Methode muss der Benutzer in der Master-Datenbank erstellt sein. Klicken Sie auf Datenbanken laden und wählen Sie dann eine Datenbank aus.
- Methode 2 – Manuell: Wählen Sie Datenbanknamen manuell eingeben aus und geben Sie dann den Datenbanknamen ein.
- Verschlüsseln (Serverzertifikat vertrauen): Wählen Sie diese Option, um die Kommunikation zwischen Qlik Cloud und dem Datenbankserver zu verschlüsseln. Bei Auswahl wird dem Serverzertifikat automatisch vertraut.
- Hostname im Zertifikat: Um dem Serverzertifikat nur zu vertrauen, wenn der Hostname dem in diesem Feld angegebenen Wert entspricht, geben Sie den Hostnamen des Serverzertifikats ein.
Interne Eigenschaften
Interne Eigenschaften sind für besondere Anwendungsfälle vorgesehen und werden daher nicht im Dialogfenster angezeigt. Sie sollten sie nur verwenden, wenn Sie vom Qlik Support dazu angewiesen werden.
Verwenden Sie die Schaltflächen und rechts neben den Feldern, um Eigenschaften wie erforderlich hinzuzufügen oder zu entfernen.
Name
Der Anzeigename für die Verbindung.
Voraussetzungen
Voraussetzungen für Benutzer
- Der in den Konnektoreinstellungen angegebene Benutzer benötigt mindestens die Benutzerrolle
db_owner
in der Microsoft SQL Server-Zieldatenbank. - Damit eine Datenbank ausgewählt werden kann (durch Klicken auf Datenbanken laden im Konnektor-Dialogfeld) muss der Benutzer, der in den Konnektoreinstellungen angegeben ist, in der Master-Datenbank erstellt sein.
Treibereinrichtung
Ein Treiber ist nur erforderlich, wenn Sie über Data Movement Gateway auf die Datenbank zugreifen. Unter Data Movement Gateway oben finden Sie weitere Informationen zu Anwendungsfällen, in denen ein Data Movement Gateway erforderlich ist.
Sie können den driver mit dem Treiberinstallations-Dienstprogramm (empfohlen) oder manuell installieren. Eine manuelle Installation sollte nur in dem unwahrscheinlichen Fall versucht werden, dass Sie beim Verwenden des Treiberinstallations-Dienstprogramms auf Probleme stoßen.
Verwenden des Treiberinstallations-Dienstprogramms zum Installieren des Treibers
In diesem Abschnitt wird die Installation des erforderlichen driver beschrieben. Der Prozess umfasst das Ausführen eines Skripts, das den erforderlichen driver automatisch herunterlädt, installiert und konfiguriert. Sie können auch Skripte ausführen, um den driver bei Bedarf zu aktualisieren und zu deinstallieren.
Vorbereiten der Installation
-
Vergewissern Sie sich, dass Python 3.6 oder höher auf dem Data Movement-Gateway-Server installiert ist.
Python ist in den meisten Linux-Distributionen vorinstalliert. Führen Sie den folgenden Befehl aus, um zu prüfen, welche Python-Version auf Ihrem System installiert ist.
python3 --version
Installieren von driver
So laden Sie den driver herunter und installieren ihn:
-
Halten Sie den Data Movement Gateway-Dienst an:
sudo systemctl stop repagent
-
Bestätigen Sie optional, dass der Dienst angehalten wurde:
sudo systemctl status repagent
Der Status lautet wie folgt:
Active: inactive (dead) since <timestamp> ago
-
Ändern Sie auf dem Data Movement-Gateway-Computer das Arbeitsverzeichnis zu:
opt/qlik/gateway/movement/drivers/bin
-
Führen Sie den folgenden Befehl aus:
Syntax:
./install sqlserver
Wenn der driver (aufgrund von Zugriffsbeschränkungen oder technischen Fehlern) nicht heruntergeladen werden kann, wird eine Meldung mit Anleitungen dazu angezeigt, wo Sie den driver herunterladen können und wohin er im Data Movement-Gateway-Computer kopiert werden muss. Führen Sie dann den Befehl install sqlserver erneut aus.
Andernfalls wird die Endbenutzer-Lizenzvereinbarung für den driver angezeigt.
-
Gehen Sie folgendermaßen vor:
- Drücken Sie mehrmals die [Eingabetaste], um langsam durch die Endbenutzer-Lizenzvereinbarung zu scrollen.
- Drücken Sie mehrmals die Leertaste, um schnell durch die Endbenutzer-Lizenzvereinbarung zu scrollen.
- Drücken Sie q, um den Lizenztext zu schließen und die Optionen zum Akzeptieren der Endbenutzer-Lizenzvereinbarung anzuzeigen.
-
Gehen Sie folgendermaßen vor:
- Geben Sie „y“ ein und drücken Sie die [Eingabetaste], um die Endbenutzer-Lizenzvereinbarung zu akzeptieren und mit der Installation zu beginnen.
- Geben Sie „n“ ein und drücken Sie die [Eingabetaste], um die Endbenutzer-Lizenzvereinbarung abzulehnen und den Installationsvorgang abzubrechen.
-
Geben Sie „v“ ein und drücken Sie die [Eingabetaste], um die Endbenutzer-Lizenzvereinbarung erneut anzuzeigen.
-
Warten Sie, bis die Installation abgeschlossen ist („Complete!“ wird angezeigt) und starten Sie dann den Data Movement Gateway-Dienst:
sudo systemctl start repagent
-
Bestätigen Sie optional, dass der Dienst gestartet wurde:
sudo systemctl status repagent
Der Status lautet wie folgt:
Active: active (running) since <timestamp> ago
Der driver wird installiert.
Aktualisieren des driver
Führen Sie den Befehl „update“ aus, wenn Sie vorherige Versionen des driver deinstallieren möchten, bevor Sie den bereitgestellten driver installieren.
So laden Sie den driver herunter und aktualisieren ihn:
-
Halten Sie den Data Movement Gateway-Dienst an:
sudo systemctl stop repagent
-
Bestätigen Sie optional, dass der Dienst angehalten wurde:
sudo systemctl status repagent
Der Status lautet wie folgt:
Active: inactive (dead) since <timestamp> ago
-
Ändern Sie auf dem Data Movement-Gateway-Computer das Arbeitsverzeichnis zu:
opt/qlik/gateway/movement/drivers/bin
-
Führen Sie den folgenden Befehl aus:
Syntax:
./update sqlserver
Wenn der driver (aufgrund von Zugriffsbeschränkungen oder technischen Fehlern) nicht heruntergeladen werden kann, wird eine Meldung mit Anleitungen dazu angezeigt, wo Sie den driver herunterladen können und wohin er im Data Movement-Gateway-Computer kopiert werden muss. Führen Sie dann den Befehl update sqlserver erneut aus.
Andernfalls wird die Endbenutzer-Lizenzvereinbarung für den driver angezeigt.
-
Gehen Sie folgendermaßen vor:
- Drücken Sie mehrmals die [Eingabetaste], um langsam durch die Endbenutzer-Lizenzvereinbarung zu scrollen.
- Drücken Sie mehrmals die Leertaste, um schnell durch die Endbenutzer-Lizenzvereinbarung zu scrollen.
- Drücken Sie q, um den Lizenztext zu schließen und die Optionen zum Akzeptieren der Endbenutzer-Lizenzvereinbarung anzuzeigen.
-
Gehen Sie folgendermaßen vor:
- Geben Sie „y“ ein und drücken Sie die [Eingabetaste], um die Endbenutzer-Lizenzvereinbarung zu akzeptieren und mit der Installation zu beginnen.
- Geben Sie „n“ ein und drücken Sie die [Eingabetaste], um die Endbenutzer-Lizenzvereinbarung abzulehnen und den Installationsvorgang abzubrechen.
- Geben Sie „v“ ein und drücken Sie die [Eingabetaste], um die Endbenutzer-Lizenzvereinbarung von Anfang an anzuzeigen.
-
Warten Sie, bis die Installation abgeschlossen ist („Complete!“ wird angezeigt) und starten Sie dann den Data Movement Gateway-Dienst:
sudo systemctl start repagent
-
Bestätigen Sie optional, dass der Dienst gestartet wurde:
sudo systemctl status repagent
Der Status lautet wie folgt:
Active: active (running) since <timestamp> ago
Der alte driver wird deinstalliert und der neue driver installiert.
Deinstallieren des driver
Führen Sie den Befehl „uninstall“ aus, wenn Sie den driver deinstallieren möchten.
So deinstallieren Sie den driver:
-
Halten Sie alle Aufgaben an, die für die Verwendung dieses Konnektors konfiguriert sind.
-
Ändern Sie auf dem Data Movement-Gateway-Computer das Arbeitsverzeichnis zu:
opt/qlik/gateway/movement/drivers/bin
-
Führen Sie den folgenden Befehl aus:
Syntax:
./uninstall sqlserver
Der driver wird deinstalliert.
Manuelles Installieren der Treiber
Nehmen Sie nur dann eine manuelle Installation des driver vor, wenn die automatische Treiberinstallation nicht erfolgreich abgeschlossen werden konnte.
Wenn Microsoft SQL Server als Ziel in einer Daten-Pipeline verwendet wird, müssen Sie sowohl den ODBC-Treiber als auch den JDBC-Treiber installieren. Wenn Microsoft SQL Server als Ziel in einer Replikationsaufgabe verwendet wird, müssen Sie nur den ODBC-Treiber installieren.
Installieren des ODBC-Treibers
Nachdem Data Movement Gateway installiert wurde, laden Sie den Treiber msodbcsql<version>.x86_64.rpm herunter. Einen direkten Download-Link zur unterstützten Version finden Sie unter binary-artifacts in /opt/qlik/gateway/movement/drivers/manifests/sqlserver.yaml. Kopieren Sie nach Abschluss des Downloads die RPM auf den Data Movement Gateway-Rechner.
Öffnen Sie auf dem Data Movement gateway-Server eine Shell-Eingabeaufforderung und führen Sie Folgendes durch:
-
Halten Sie den Data Movement gateway-Dienst an:
sudo systemctl stop repagent
-
Bestätigen Sie optional, dass der Dienst angehalten wurde:
sudo systemctl status repagent
-
Installieren Sie den Treiber (RPM).
-
Ändern Sie das Arbeitsverzeichnis in <product_dir>/bin.
-
Kopieren Sie den Treiberspeicherort wie folgt in die Datei
site_arep_login.sh
:echo "export LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:/opt/microsoft/
msodbcsql<version>
/lib64/" >> site_arep_login.sh
Dadurch wird der Treiber zu „LD_LIBRARY_PATH“ hinzugefügt und der Treiberspeicherort in der Datei site_arep_login.sh hinzugefügt.
-
Bestätigen Sie optional, dass der Speicherort des Treibers kopiert wurde:
cat site_arep_login.sh
-
Starten Sie den Data Movement gateway-Dienst:
sudo systemctl start repagent
-
Bestätigen Sie optional, dass der Dienst gestartet wurde:
sudo systemctl status repagent
Der Status lautet wie folgt:
Active: active (running) since <timestamp> ago
-
Data Movement gateway erfordert die folgende ODBC-Bibliothek: msodbcsql-18.1.so.1.1
Um zu prüfen, welche Bibliotheksversion derzeit installiert ist, führen Sie den folgenden Befehl aus:
ls /opt/microsoft/msodbcsql<version>/lib64/
Wenn die vorhandene Bibliothek eine andere Versionsnummer hat (z. B. libmsodbcsql-18.0.so.1.1), müssen Sie einen symbolischen Link zwischen der bestehenden Bibliothek und der erforderlichen Bibliothek erstellen.
Führen Sie dazu die folgenden Befehle aus:
cd /opt/microsoft/msodbcsql<version>/lib64/
ln -s existing_library_name
msodbcsql-18.1.so.1.1wo
existing_library_name
der Name der derzeit installierten Bibliothek ist (z. B. libmsodbcsql-18.0.so.1.1).
Der Status lautet wie folgt:
Active: inactive (dead) since <timestamp> ago
Installieren des JDBC-Treibers
-
Laden Sie die Datei mssql-jdbc-<version>.jar herunter. Einen direkten Download-Link zur unterstützten Version finden Sie unter binary-artifacts in /opt/qlik/gateway/movement/drivers/manifests/sqlserver.yaml. Kopieren Sie nach Abschluss des Downloads die JAR-Datei in den folgenden Ordner auf dem Data Movement Gateway-Rechner.
/opt/qlik/gateway/movement/qcs_agents/qdi-db-commands/lib
-
Starten Sie den Data Movement Gateway-Dienst neu, indem Sie den in Neustarten des Diensts beschriebenen Befehl ausführen.
Einschränkungen und Überlegungen
Einschränkungen und Überlegungen bei der Verwendung in einer Daten-Pipeline
- Wenn Sie Daten an Microsoft SQL Server in einer Daten-Pipeline bereitstellen, werden Live-Ansichten nicht unterstützt. Weitere Informationen zu Live-Ansichten finden Sie unter Speichern von Datensätzen.
Einschränkungen und Überlegungen für alle Datenaufgaben
Wenn die folgenden großen Objekttypen in der Quelldatenbank leer sind (0 Byte), sind sie nach dem vollständigen Laden nicht leer:
- BLOB wird als 0x0000 geschrieben (2 Byte)
- TEXT (VARCHAR(max)) wird als 0X00 geschrieben (1 Byte)
-
NTEXT (NVARCHAR(max)) wird als 0x0000 geschrieben (2 Byte)
Einschränkungen und Überlegungen nur für Replikationsaufgaben
- LOB-Spalten in vollständiger Größe werden im stapeloptimierten Anwendungsmodus nicht unterstützt. Sie können diese Einschränkung umgehen, indem Sie die LOB-Spaltengröße in den Aufgabeneinstellungen einschränken oder zum transaktionalen Anwendungsmodus wechseln.
- Wenn sowohl Stapeloptimierte Anwendung als auch Begrenzte LOB-Spalten replizieren (KB) aktiviert ist, werden BLOB-Spalten im Ziel auf ein Viertel der Größe gekürzt, die im Feld LOB-Größe begrenzen auf angegeben ist. CLOB-Spalten werden auf die Hälfte der angegebenen Größe gekürzt.
- Wenn Sie 4-Byte-Emoji-Zeichen replizieren möchten, verwenden Sie eine Umwandlung, um den Datentyp von WSTRING(n ) in WSTRING ( n*2 ) zu konvertieren.
Datentypen
Informationen zum nativen Datentyp werden beibehalten und in der Spalte Nativer Datentyp in Datensatzansichten angezeigt. Wenn die Spalte nicht angezeigt wird, müssen Sie die Spaltenauswahl in der Datensatzansicht öffnen und die Spalte Nativer Datentyp auswählen.
Qlik Cloud-Datentypen | Microsoft SQL Server-Datentypen |
---|---|
BOOLEAN |
TINYINT |
BYTES |
VARBINARY(Länge) |
DATE |
DATE |
TIME |
TIME(0) |
DATETIME |
DATETIME2 (Dezimalstellen) |
INT1 |
SMALLINT |
INT2 |
SMALLINT |
INT4 |
INT |
INT8 |
BIGINT |
NUMERIC |
NUMERIC(p,s) |
REAL4 |
REAL |
REAL8 |
FLOAT |
STRING |
Wenn die Spalte ein Datum oder eine Uhrzeit ist: DATETIME2 Wenn die Spalte kein Datum bzw. keine Uhrzeit ist: VARCHAR(Länge) |
UINT1 |
INT2 |
UINT2 |
INT4 |
UINT4 |
INT8 |
UINT8 |
NUMERIC(20) |
WSTRING |
NVARCHAR(Länge) |
BLOB |
VARBINARY(max) Bild |
CLOB |
VARCHAR(max) TEXT |
NCLOB |
NVARCHAR(max) NTEXT |
Die folgenden SQL Server-Datentypen werden nicht unterstützt. Daten werden nicht gelesen.
-
CURSOR
-
SQL_VARIANT
-
TABLE
Die folgenden Datentypen werden in VARCHAR (MAX) konvertiert:
-
XML
-
GEOGRAPHY
-
GEOMETRY