Microsoft SQL Server
Dit onderwerp beschrijft hoe u de verbinding met een Microsoft SQL Server-doel moet configureren met behulp van de Microsoft SQL Server-doelconnector.
Een Microsoft SQL Server-doel kunt u gebruiken in als een doelgegevensplatform in een gegevenspijplijn of in een replicatietaak. In een gegevenspijplijn kunt u verschillende ELT-bewerkingen uitvoeren voor het doelplatform, zoals gegevens opslaan, gegevens transformeren, datamarts maken en gegevens registreren. Bij een replicatietaak daarentegen worden gegevens rechtstreeks van een bronsysteem naar een doelsysteem gerepliceerd met basistransformatie-opties, maar zonder ondersteuning voor ELT-bewerkingen. Voordat u verbinding kunt maken met een Microsoft SQL Server-doel, moet u de Gebruikersvereisten voor de database configureren. Als u via Gateway voor gegevensverplaatsing verbinding maakt met Microsoft SQL Server, moet u ook het stuurprogramma installeren zoals beschreven in Setup stuurprogramma.
Voor informatie over de beperkingen en overwegingen bij het gebruik van de Microsoft SQL Server Target-connector raadpleegt u Beperkingen en overwegingen.
Verbindingseigenschappen instellen
Ga als volgt te werk om de connector te configureren:
-
Klik in Verbindingen op Verbinding maken.
-
Selecteer de Microsoft SQL Server doelconnector en stel de volgende instellingen in:
Data Movement gateway
Microsoft SQL Server kan gebruikt worden in een gegevenspijplijn of in een replicationtaak. Een Gateway voor gegevensverplaatsing is mogelijk vereist om toegang te krijgen tot een Microsoft SQL Server-doel in een pijplijn (afhankelijk van het feit of de databse direct toegankelijk is vanuit Qlik Cloud), maar is altijd vereist als u een Microsoft SQL Server-doel in een replicatietaak gebruikt.
Een Microsoft SQL Server-doel gebruiken in een gegevenspijplijn
Gegevensgateway
Een Gateway voor gegevensverplaatsing is alleen vereist als de doeldatabase niet toegankelijk is via Qlik Cloud en kan alleen worden geopend via een privékoppeling (bijvoorbeeld als deze zich on-premises achter een firewall of in een virtuele privécloud bevindt). Als dit het geval is, selecteer dan de Gateway voor gegevensverplaatsing waarmee u toegang wilt krijgen tot de doeldatabase.
Afhankelijk van uw gebruikssituatie, gebruikt u dezelfde Gateway voor gegevensverplaatsing die is geïmplementeerd om gegevens van de bron te verplaatsen of u gebruikt een andere gateway.
Voor informatie over usecases voor de Gateway voor gegevensverplaatsing, gaat u naar Wanneer is de Gateway voor gegevensverplaatsing vereist? en Veelvoorkomende usecases.
Als de doeldatabase direct toegankelijk is via Qlik Cloud, selecteer dan Geen.
Een Microsoft SQL Server-doel gebruiken in een replicationtaak
Gegevensgateway: Selecteer de Gateway voor gegevensverplaatsing die wordt gebruikt om de verbinding naar het Microsoft SQL Server-doel te testen. Dit moet dezelfde gateway zijn die is gebruikt om toegang tot de gegevensbron te krijgen.
Vereist Gateway voor gegevensverplaatsing 2023.5.10 of hoger.
Gegevensdoel
-
Cloudprovider: kies een van de volgende opties:
- Geen (voor on-premises)
- Amazon RDS
- Google Cloud
- Microsoft Azure (ondersteunt zowel Microsoft Azure Managed Instance als Microsoft Azure Database)
-
Server: de hostnaam of het IP-adres van de computer waarop de Microsoft SQL Server-database is geïnstalleerd.
InformatieOm de standaardpoort te overschrijven, voegt u de poort toe aan de servernaam, gescheiden door een komma. Als de servernaam bijvoorbeeld
myserver.company.local
is en de poort3333
, dan moet de servernaam de volgende zijn:myserver.company.local,3333
Accounteigenschappen
Gebruikersnaam en Wachtwoord: de gebruikersnaam en het wachtwoord van een gebruiker die toegang heeft tot de Microsoft SQL Server-database.
Database-eigenschappen
-
Databasenaam: Er zijn twee methoden die u kunt gebruiken om een database op te geven:
- Methode 1 - Selecteren in een lijst: Om deze methode te gebruiken, moet de gebruiker in de masterdatabase zijn gemaakt. Klik op Databases laden en selecteer een database.
- Methode 2 - Handmatig: Selecteer Databasenaam handmatig opgeven en geef vervolgens de databasenaam op.
- Versleuten (servercertificaat vertrouwen) Selecteer om de communicatie tussen Qlik Cloud en de databaseserver te versleutelen. Indien geselecteerd, wordt het servercertificaat automatisch vertrouwd.
- Hostnaam in certificaat: Geef de hostnaam van het servercerticaat op als het servercertificaat alleen vertrouwd mag worden als de hostnaam overeenkomt met de waarde die is opgegeven in dit veld.
Interne eigenschappen
Interne eigenschappen zijn bedoeld voor speciale toepassingen en worden daarom niet in het dialoogvenster weergegeven. U moet ze alleen gebruiken als Qlik Support dit aan u heeft geadviseerd.
Gebruik de knop en aan de rechterkant van de velden om eigenschappen toe te voegen of te verwijderen.
Naam
De weergavenaam voor de verbinding.
Vereisten
Gebruikersvereisten
- De gebruiker die is opgegeven in de connectorinstellingen moet minimaal de gebruikersrol
db_owner
hebben in de doeldatabase van Microsoft SQL Server. - Om een database te selecteren (door in het connectorvenster op Databases laden te klikken), moet de gebruiker die in de connectorinstellingen is gespecificeerd in de masterdatabase worden aangemaakt.
Setup stuurprogramma
Er is alleen een stuurprogramma vereist als u via Gateway voor gegevensverplaatsing toegang krijgt tot de database. Zie Gateway voor gegevensverplaatsing hierboven voor meer informatie over usecases als een Gateway voor gegevensverplaatsing is vereist.
U kunt het driver installeren met het installatieprogramma (aanbevolen) of handmatig. U moet een handmatige installatie alleen uitvoeren als er een probleem ontstaat bij het hulpprogramma.
Het hulpprogramma gebruiken om het stuurprogramma te installeren
In deze sectie wordt beschreven hoe u het vereiste driver installeert. Het proces omvat het uitvoeren van een script dat automatisch het vereiste driver downloadt, installeert en configureert. U kunt indien nodig ook scripts uitvoeren om het driver bij te werken en verwijderen.
De installatie voorbereiden
-
Controleer of Python 3.6 of hoger is geïnstalleerd op de Gegevensverplaatsing-gatewayserver.
Python is al geïnstalleerd op de meeste Linux-distributies. U kunt controleren welke Python-versie is geïnstalleerd op uw systeem door de volgende opdracht uit te voeren:
python3 --version
De driver installeren
Ga als volgt te werk om het driverte downloaden en installeren:
-
Stop de Data Movement gateway-service:
sudo systemctl stop repagent
-
Bevestig eventueel dat de service is gestopt:
sudo systemctl status repagent
De status zou als volgt moeten zijn:
Active: inactive (dead) since <timestamp> ago
-
Op de Gegevensverplaatsing-gatewaymachine wijzigt u de werkdirectory in:
opt/qlik/gateway/movement/drivers/bin
-
Voer dan de volgende opdracht uit:
Syntaxis:
./install sqlserver
Als het driver niet kan worden gedownload (vanwege toegangsbeperkingen of technische problemen), wordt er een melding getoond met de instructies voor het downloaden van het driver en waarnaar u het moet kopiëren op de Gegevensverplaatsing-gatewaymachine. Nadat u dit hebt gedaan, voert u de opdracht install sqlserver nogmaals uit.
Anders wordt de gebruiksrechtovereenkomst voor het driver getoond.
-
Voer een van de volgende handelingen uit:
- Druk herhaaldelijk op [Enter] om langzaam door de gebruiksrechtovereenkomst te scrollen.
- Druk herhaaldelijk op de spatiebalk om snel door de gebruiksrechtovereenkomst te scrollen.
- Druk op q om de licentietekst af te sluiten en de opties te tonen voor het aanvaarden van de gebruiksrechtovereenkomst.
-
Voer een van de volgende handelingen uit:
- Typ "y" en druk op [Enter] om de gebruiksrechtovereenkomst te accepteren en de installatie te starten.
- Typ "n" en druk op [Enter] om de gebruiksrechtovereenkomst af te wijzen en de installatie af te sluiten.
-
Typ "v" en druk op [Enter] om de gebruiksrechtovereenkomst nogmaals te tonen.
-
Wacht totdat de installatie is voltooid (wordt aangegeven met "Voltooid!") en start vervolgens de Data Movement gateway-service:
sudo systemctl start repagent
-
Bevestig eventueel dat de service is gestart:
sudo systemctl status repagent
De status zou als volgt moeten zijn:
Active: active (running) since <timestamp> ago
Het driver wordt geïnstalleerd.
Het driver bijwerken
Voer de update-opdracht uit als u eerdere versies van het driver wilt verwijderen voordat u het meegeleverde driver installeert.
Ga als volgt te werk om het driver te downloaden en bij te werken:
-
Stop de Data Movement gateway-service:
sudo systemctl stop repagent
-
Bevestig eventueel dat de service is gestopt:
sudo systemctl status repagent
De status zou als volgt moeten zijn:
Active: inactive (dead) since <timestamp> ago
-
Op de Gegevensverplaatsing-gatewaymachine wijzigt u de werkdirectory in:
opt/qlik/gateway/movement/drivers/bin
-
Voer dan de volgende opdracht uit:
Syntaxis:
./update sqlserver
Als het driver niet kan worden gedownload (vanwege toegangsbeperkingen of technische problemen), wordt er een melding getoond met de instructies voor het downloaden van het driver en waarnaar u het moet kopiëren op de Gegevensverplaatsing-gatewaymachine. Nadat u dit hebt gedaan, voert u de opdracht update sqlserver nogmaals uit.
Anders wordt de gebruiksrechtovereenkomst voor het driver getoond.
-
Voer een van de volgende handelingen uit:
- Druk herhaaldelijk op [Enter] om langzaam door de gebruiksrechtovereenkomst te scrollen.
- Druk herhaaldelijk op de spatiebalk om snel door de gebruiksrechtovereenkomst te scrollen.
- Druk op q om de licentietekst af te sluiten en de opties te tonen voor het aanvaarden van de gebruiksrechtovereenkomst.
-
Voer een van de volgende handelingen uit:
- Typ "y" en druk op [Enter] om de gebruiksrechtovereenkomst te accepteren en de installatie te starten.
- Typ "n" en druk op [Enter] om de gebruiksrechtovereenkomst af te wijzen en de installatie af te sluiten.
- Typ "v" en druk op [Enter] om de gebruiksrechtovereenkomst nogmaals vanaf het begin te tonen.
-
Wacht totdat de installatie is voltooid (wordt aangegeven met "Voltooid!") en start vervolgens de Data Movement gateway-service:
sudo systemctl start repagent
-
Bevestig eventueel dat de service is gestart:
sudo systemctl status repagent
De status zou als volgt moeten zijn:
Active: active (running) since <timestamp> ago
Het oude driver wordt verwijderd en het nieuwe driver wordt geïnstalleerd.
Het driver verwijderen
Voer de uninstall-opdracht uit als u het driver wilt verwijderen.
Ga als volgt te werken om het driver te verwijderen:
-
Stop alle taken die zijn geconfigureerd om deze connector te gebruiken.
-
Op de Gegevensverplaatsing-gatewaymachine wijzigt u de werkdirectory in:
opt/qlik/gateway/movement/drivers/bin
-
Voer dan de volgende opdracht uit:
Syntaxis:
./uninstall sqlserver
driver wordt verwijderd.
De stuurprogramma's handmatig installeren
U moet het driver alleen handmatig uitvoeren als de geautomatiseerde installatie van het stuurprogramma niet is voltooid.
Bij het gebruik van een Microsoft SQL Server als doel in een gegevenspijplijn, moet u ook het ODBC-stuurprogramma en het JDBC-stuurprogramma installeren. Als u Microsoft SQL Server als doel gebruikt in een replicationtaak, hoeft u alleen het ODBC-stuurprogramma te installeren.
Het ODBC-stuurprogramma installeren
Nadat Gateway voor gegevensverplaatsing is geïnstalleerd, downloadt u het msodbcsql<version>.x86_64.rpm stuurprogramma. U vindt een directe downloadlink naar de ondersteunde versie onder binary-artifacts in /opt/qlik/gateway/movement/drivers/manifests/sqlserver.yaml. Nadat de download is voltooid, kopieert u de RPM naar de machine met de Gateway voor gegevensverplaatsing.
Open op de Data Movement gateway-server een opdrachtregel en doe het volgende:
-
Stop de Data Movement gateway-service:
sudo systemctl stop repagent
-
Bevestig eventueel dat de service is gestopt:
sudo systemctl status repagent
-
Installeer het stuurprogramma (RPM).
-
Wijzig de werkmap in <product_dir>/bin.
-
Kopieer de locatie van het stuurprogramma als volgt naar het
site_arep_login.sh
-bestand:echo "export LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:/opt/microsoft/
msodbcsql<version>
/lib64/" >> site_arep_login.sh
Hiermee wordt het stuurprogramma toevoegd aan 'LD_LIBRARY_PATH' en wordt de locatie van het stuurprogramma bijgewerkt in het site_arep_login.sh -bestand.
-
Bevestig eventueel dat de locatie van het stuurpogramma is gekopieerd:
cat site_arep_login.sh
-
Start de Data Movement gateway-service:
sudo systemctl start repagent
-
Bevestig eventueel dat de service is gestart:
sudo systemctl status repagent
De status zou als volgt moeten zijn:
Active: active (running) since <timestamp> ago
-
Voor Data Movement gateway is de volgende ODBC-bibliotheek vereist: msodbcsql-18.1.so.1.1
Gebruik de volgende opdracht om te controleren welke bibliotheekversie momenteel is geïnstalleerd:
ls /opt/microsoft/msodbcsql<version>/lib64/
Als de bestaande bibliotheek een ander versienummer heeft (bijvoorbeeld libmsodbcsql-18.0.so.1.1), moet u een symbolische koppeling maken tussen de bestaande bibliotheek en de vereiste bibliotheek.
Gebruik hiervoor de volgende opdrachten:
cd /opt/microsoft/msodbcsql<version>/lib64/
ln -s existing_library_name
msodbcsql-18.1.so.1.1waarbij
existing_library_name
de naam is van de momenteel geïnstalleerde bibliotheek (bijvoorbeeld libmsodbcsql-18.0.so.1.1).
De status zou als volgt moeten zijn:
Active: inactive (dead) since <timestamp> ago
Het JDBC-stuurprogramma installeren
-
Download het mssql-jdbc-<version>.jar bestand. U vindt een directe downloadlink naar de ondersteunde versie onder binary-artifacts in /opt/qlik/gateway/movement/drivers/manifests/sqlserver.yaml. Nadat de download is voltooid, kopieert u het JAR-bestand naar de volgende map op de machine met de Gateway voor gegevensverplaatsing.
/opt/qlik/gateway/movement/qcs_agents/qdi-db-commands/lib
-
Herstart de Gateway voor gegevensverplaatsing-service door de opdracht uit te voeren die wordt beschreven in De service opnieuw opstarten
Beperkingen en overwegingen
Beperkingen en overwegingen bij het gebruik in een gegevenspijplijn
- Bij het tijdelijk opslaan van gegevens op een Microsoft SQL Server in een gegevenspijplijn, worden liveweergaven niet ondersteund. Zie Gegevensverzamelingen opslaan voor meer informatie over liveweergaven.
Beperkingen en overwegingen voor alle gegevenstaken
Als de volgende grote objecttypen leeg zijn in de doeldatabase (0 bytes), zijn ze niet leeg na een volledige lading:
- BLOB wordt geschreven als 0x0000 (2 bytes)
- TEXT (VARCHAR(max)) wordt geschreven als 0X00 (1 byte)
-
NTEXT (NVARCHAR(max)) wordt geschreven als 0x0000 (2 bytes)
Beperkingen en overwegingen voor alleen replicationtaken
- LOB-kolommen op volledige grootte worden niet ondersteund in de modus Batchgewijs optimaliseren toepassen. U kunt deze beperking omzeilen door de grootte van LOB-kolommen te beperken in de taakinstellingen of over te schakelen naar de modus Transactioneel toepassen.
- Als de opties Batchgewijs optimaliseren toepassen en Beperkte LOB-kolommen (KB) repliceren zijn ingeschakeld, worden BLOB-kolommen in het doel afgekapt tot een kwart van de grootte die is opgegeven in het veld LOB-grootte beperken tot, terwijl CLOB-kolommen worden afgekapt tot de helft van de omvang die is opgegeven.
- Als u emoticons van 4 bytes moet repliceren, gebruik dan een transformatie om het gegevenstype te converteren van WSTRING(n ) naar WSTRING ( n*2 ).
Gegevenstypen
Informatie in eigen gegevenstypen wordt behouden en wordt weergegeven in de kolom Eigen gegevenstype in weergaven van gegevensverzamelingen. Als de kolom niet zichtbaar is, moet u de kolomkiezer van de weergave van de gegevensverzameling openen en de kolom Eigen gegevenstype selecteren.
Qlik Cloud-gegevenstypen | Ondersteunde Microsoft SQL Server-gegevenstypen |
---|---|
BOOLEAN |
TINYINT |
BYTES |
VARBINARY(length) |
DATE |
DATE |
TIME |
TIME(0) |
DATETIME |
DATETIME2(scale) |
INT1 |
SMALLINT |
INT2 |
SMALLINT |
INT4 |
INT |
INT8 |
BIGINT |
NUMERIC |
NUMERIC(p,s) |
REAL4 |
REAL |
REAL8 |
FLOAT |
STRING |
Als kolom datum of tijd is dan: DATETIME2 Als de kolom geen datum of tijd is dan: VARCHAR(length) |
UINT1 |
INT2 |
UINT2 |
INT4 |
UINT4 |
INT8 |
UINT8 |
NUMERIC(20) |
WSTRING |
NVARCHAR(length) |
BLOB |
VARBINARY(max) IMAGE |
CLOB |
VARCHAR(max) TEXT |
NCLOB |
NVARCHAR(max) NTEXT |
De volgende gegevenstypen van SQL Server worden niet ondersteund. Gegevens worden niet gelezen.
-
CURSOR
-
SQL_VARIANT
-
TABLE
De volgende gegevenstypen worden omgezet naar VARCHAR (MAX):
-
XML
-
GEOGRAPHY
-
GEOMETRY