Microsoft SQL Server
I det här ämnet beskrivs hur du konfigurerar anslutningar till ett Microsoft SQL Server-mål med Microsoft SQL Server-målkopplingen.
Microsoft SQL Server-målet kan antingen användas som en måldataplattform i en datapipeline eller i en replikeringsuppgift. I en datapipeline kan diverse ELT-åtgärder utföras på målplattformen, inklusive lagring av data, omvandling av data, skapande av datamart och dataregistrering. En replikeringsuppgift å andra sidan omfattar replikering av data direkt från ett källsystem till ett målsystem med grundläggande omvandlingsfunktioner, men utan stöd för ELT-åtgärder. Innan du kan ansluta till ett Microsoft SQL Server-mål måste du konfigurera Förutsättningar för användare på databasen. Om du ansluter till Microsoft SQL Server via Gateway för dataflytt måste du även installera drivrutinen enligt beskrivning i Inställning av drivrutin.
Information om begränsningar och överväganden för användning av kopplingen Microsoft SQL Server Target finns i Begränsningar och överväganden.
Ställa in anslutningsegenskaper
Gör så här för att konfigurera kopplingen:
-
I Kopplingar klickar du på Skapa koppling.
-
Välj Microsoft SQL Server-målkopplingen och ange följande inställningar:
Gateway för dataflytt
Microsoft SQL Server kan antingen användas som mål i en datapipeline eller i en replikeringsuppgift. En Gateway för dataflytt kan krävas för att komma åt Microsoft SQL Server-målet i en pipeline (beroende på om databasen är direkt åtkomlig från Qlik Cloud, men den krävs alltid när ett Microsoft SQL Server-mål används i en replikeringsuppgift.
Använda ett Microsoft SQL Server-mål i en datapipeline
Datagateway
Gateway för dataflytt behövs enbart om det inte går att komma åt måldatabasen från Qlik Cloud och bara kan nås via en privat länk (om den exempelvis är placerad på plats bakom en brandvägg eller i ett virtuellt privat moln). I så fall ska du välja Gateway för dataflytt att använda för åtkomst till måldatabasen.
Beroende på användningsfall kan det vara samma Gateway för dataflytt som distribuerats för att flytta data från datakällan eller någon annan.
Information om Gateway för dataflytt-användningsfall finns i När krävs Gateway för dataflytt? och Vanliga användningsfall.
Om måldatabasen kan kommas åt direkt från Qlik Cloud ska du välja Ingen.
Använda ett Microsoft SQL Server-mål i en replikeringsuppgift
Datagateway: Välj den Gateway för dataflytt som kommer att användas för att testa kopplingen till Microsoft SQL Server-målet. Detta ska vara samma gateway som användes för att komma åt datakällan.
Gateway för dataflytt 2023.5.10 eller senare krävs.
Datamål
-
Molnleverantör: välj något av följande efter behov:
- Ingen (för lokalt)
- Amazon RDS
- Google Cloud
- Microsoft Azure (har stöd för både Microsoft Azure Managed Instance och Microsoft Azure Database)
-
Server: värdnamnet eller IP-adressen för den dator där Microsoft SQL Server-databasen är installerad.
Anteckning om informationOm du vill åsidosätta standardporten lägger du till porten i servernamnet, avgränsad med ett kommatecken. Till exempel, om servernamnet är
myserver.company.local
och porten är3333
, bör servernamnet vara:myserver.company.local,3333
Kontoegenskaper
Användarnamn och Lösenord: Användarnamn och lösenord för en användare som har behörighet att komma åt Microsoft SQL Server-databasen.
Databasegenskaper
-
Databasnamn: du kan använda två metoder för att specificera en databas:
- Metod 1 - Välj från en lista: Med den här metoden måste användaren vara skapad på masterdatabasen. Klicka på Ladda databas och välj sedan en databas.
- Metod 2 - Manuellt: Välj Ange databasnamn manuellt och ange databasens namn.
- Kryptera (betrott servercertifikat): Välj att kryptera kommunikationen mellan Qlik Cloud och databasservern. När detta väljs kommer servercertifikatet automatiskt att bli betrott.
- Värdnamn i certifikatet: Ange servercertifikatets värdnamn för att enbart lita på servercertifikatet om dess värdnamn matchar värdet som anges i det här fältet.
Interna egenskaper
Interna egenskaper är till för speciella användarfall och visas därför inte i dialogen. De ska bara användas om Qlik-supporten uppmanar dig att göra det.
Använd - och -knapparna till höger om fälten för att lägga till och ta bort egenskaper efter behov.
Namn
Visningsnamnet för anslutningen.
Förutsättningar
Förutsättningar för användare
- Användaren som anges i kopplingsinställningarna måste ha minst användarrollen
db_owner
på Microsoft SQL Server måldatabas. - För att en databas ska kunna väljas (genom att klicka på Ladda databaser i kopplingsdialogen) måste den angivna användaren i kopplingsinställningarna ha skapats i masterdatabasen.
Inställning av drivrutin
En drivrutin behövs bara om du kommer åt en databas via Gateway för dataflytt. Se Gateway för dataflytt ovan för mer information om användningsfall när en Gateway för dataflytt krävs.
Du kan installera driver med verktyget för installation av drivrutiner (rekommenderas) eller manuellt. Manuell installation ska bara användas om det mot förmodan skulle inträffa ett problem med verktyget för installation av drivrutiner.
Använda verktyget för installation av drivrutiner för att installera drivrutinen
I det här delavsnittet beskrivs hur driver som krävs installeras. Processen innebär att ett skript körs som automatiskt hämtar, installerar och konfigurerar den nödvändiga driver. Du kan också köra skript som uppdaterar och avinstallerar driver efter behov.
Förbereda installationen
-
Kontrollera att Python 3.6 eller senare är installerad på Dataflytt-gatewayservern.
Python kommer förinstallerad på de flesta Linuxdistributioner. Du kan kontrollera vilken Pythonversion som är installerad på ditt system genom att köra följande kommando:
python3 --version
Installera driver
Så här hämtar och installerar du driver:
-
Stoppa tjänsten Gateway för dataflytt:
sudo systemctl stop repagent
-
Om du vill kan du bekräfta att tjänsten har stoppats:
sudo systemctl status repagent
Statusen ska vara enligt följande:
Active: inactive (dead) since <timestamp> ago
-
På Dataflytt-gatewaydatorn byter du arbetskatalog till:
opt/qlik/gateway/movement/drivers/bin
-
Kör följande kommando:
Syntax:
./install sqlserver
Om driver inte kan hämtas (på grund av åtkomstbegränsningar eller tekniska problem) visas ett meddelande som beskriver var du kan hämta driver och vart du ska kopiera den på Dataflytt-gatewaydatorn. När du har gjort detta kör du install sqlserver-kommandot igen.
I annat fall visas EULA för driver.
-
Gör ett av följande:
- Tryck på [Enter] flera gånger för att långsamt rulla genom EULA.
- Tryck på mellanslagstangenten flera gånger för att snabbt rulla genom EULA.
- Tryck på q för att lämna avtalstexten. Godkännandealternativen för EULA visas.
-
Gör något av följande:
- Skriv in "y" och tryck på [Enter] för att godkänna EULA och börja med installationen.
- Skriv in "n" och tryck på [Enter] för att avböja EULA och avsluta installationen.
-
Skriv in "v" och tryck på [Enter] för att visa EULA igen.
-
Vänta tills installationen har slutförts (anges med "Slutförd!") och starta sedan Gateway för dataflytt-tjänsten:
sudo systemctl start repagent
-
Du kan även bekräfta att tjänsten har startats:
sudo systemctl status repagent
Statusen ska vara enligt följande:
Active: active (running) since <timestamp> ago
driver kommer att installeras.
Uppdatering av driver
Kör uppdateringskommandot om du vill avinstallera tidigare versioner av driver innan du installerar den tillhandahållna driver.
Så här hämtar och uppdaterar du driver:
-
Stoppa tjänsten Gateway för dataflytt:
sudo systemctl stop repagent
-
Om du vill kan du bekräfta att tjänsten har stoppats:
sudo systemctl status repagent
Statusen ska vara enligt följande:
Active: inactive (dead) since <timestamp> ago
-
På Dataflytt-gatewaydatorn byter du arbetskatalog till:
opt/qlik/gateway/movement/drivers/bin
-
Kör följande kommando:
Syntax:
./update sqlserver
Om driver inte kan hämtas (på grund av åtkomstbegränsningar eller tekniska problem) visas ett meddelande som beskriver var du kan hämta driver och vart du ska kopiera den på Dataflytt-gatewaydatorn. När du har gjort detta kör du update sqlserver-kommandot igen.
I annat fall visas EULA för driver.
-
Gör ett av följande:
- Tryck på [Enter] flera gånger för att långsamt rulla genom EULA.
- Tryck på mellanslagstangenten flera gånger för att snabbt rulla genom EULA.
- Tryck på q för att lämna avtalstexten. Godkännandealternativen för EULA visas.
-
Gör något av följande:
- Skriv in "y" och tryck på [Enter] för att godkänna EULA och börja med installationen.
- Skriv in "n" och tryck på [Enter] för att avböja EULA och avsluta installationen.
- Skriv in "v" och tryck på [Enter] för att granska EULA från början.
-
Vänta tills installationen har slutförts (anges med "Slutförd!") och starta sedan Gateway för dataflytt-tjänsten:
sudo systemctl start repagent
-
Du kan även bekräfta att tjänsten har startats:
sudo systemctl status repagent
Statusen ska vara enligt följande:
Active: active (running) since <timestamp> ago
Den gamla driver avinstalleras och den nya driver installeras.
Avinstallera driver
Kör avinstalleringskommandot om du vill avinstallera driver.
Så här avinstallerar du driver:
-
Stoppa alla uppgifter som är konfigurerade för att använda denna koppling.
-
På Dataflytt-gatewaydatorn byter du arbetskatalog till:
opt/qlik/gateway/movement/drivers/bin
-
Kör följande kommando:
-syntax
./uninstall sqlserver
driver kommer att avinstalleras.
Installera drivrutinen manuellt
Du bör bara försöka installera driver manuellt om den automatiserade drivrutinsinstallationen inte slutfördes.
När du använder Microsoft SQL Server som mål i en datapipeline måste du installera både ODBC-drivrutinen och JDBC-drivrutinen. När du använder Microsoft SQL Server som mål i en replikeringsuppgift behöver du bara installera ODBC-drivrutinen.
Installera ODBC-drivrutinen
När Gateway för dataflytt har installerats hämtar du drivrutinen msodbcsql<version>.x86_64.rpm. Du hittar en direkt nedladdningslänk till den version som stöds i binary-artifacts i /opt/qlik/gateway/movement/drivers/manifests/sqlserver.yaml. När hämtningen har slutförts kopierar du RPM-filen till Gateway för dataflytt-maskinen.
Öppna en kommandorad på Data Movement gateway-servern och gör följande:
-
Stoppa tjänsten Data Movement gateway:
sudo systemctl stop repagent
-
Om du vill kan du bekräfta att tjänsten har stoppats:
sudo systemctl status repagent
-
Installera drivrutinen (RPM).
-
Byt arbetskatalog till <product_dir>/bin.
-
Kopiera drivrutinens plats till filen
site_arep_login.sh
enligt följande:echo "export LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:/opt/microsoft/
msodbcsql<version>
/lib64/" >> site_arep_login.sh
Detta kommer att lägga till drivrutinen i "LD_LIBRARY_PATH" och uppdatera drivrutinsplatsen i site_arep_login.sh -filen
-
Om du vill kan du bekräfta att drivrutinsplatsen kopierades:
cat site_arep_login.sh
-
Starta Data Movement gateway-tjänsten.
sudo systemctl start repagent
-
Om du vill kan du bekräfta att tjänsten har startats:
sudo systemctl status repagent
Statusen ska vara enligt följande:
Active: active (running) since <timestamp> ago
-
För Data Movement gateway krävs följande ODBC-bibliotek: msodbcsql-18.1.so.1.1
För att kontrollera vilken biblioteksversion som är installerad för närvarande skickar du följande kommando:
ls /opt/microsoft/msodbcsql<version>/lib64/
Om det befintliga biblioteket har ett annat versionsnummer (till exempel libmsodbcsql-18.0.so.1.1) måste du skapa en symbolisk länk mellan det befintliga biblioteket och det nödvändiga biblioteket.
För att göra det skickar du de följande kommandona:
cd /opt/microsoft/msodbcsql<version>/lib64/
ln -s existing_library_name
msodbcsql-18.1.so.1.1där
existing_library_name
är namnet på det bibliotek som är installerat nu (till exempel libmsodbcsql-18.0.so.1.1).
Statusen ska vara enligt följande:
Active: inactive (dead) since <timestamp> ago
Installera JDBC-drivrutinen
-
Hämta filen mssql-jdbc-<version>.jar . Du hittar en direkt nedladdningslänk till den version som stöds i binary-artifacts i /opt/qlik/gateway/movement/drivers/manifests/sqlserver.yaml. När hämtningen har slutförts kopierar du JAR-filen till Gateway för dataflytt-maskinen.
/opt/qlik/gateway/movement/qcs_agents/qdi-db-commands/lib
-
Starta om Gateway för dataflytt-tjänsten genom att köra stopp- och start-kommandon enligt beskrivning i Starta om tjänsten
Begränsningar och överväganden
Begränsningar och överväganden vid användning i en datapipeline
- Vid mellanlagring av data till Microsoft SQL Server i en datapipeline, livevyer stöds inte. Mer information om livevyer finns i Lagra datauppsättningar.
Begränsningar och överväganden för alla datauppgifter
Om följande stora objekttyper är tomma i källdatabasen (0 bytes) kommer de inte att vara tomma efter Full Load:
- BLOB skrivs som 0x0000 (2 bytes)
- TEXT (VARCHAR(max)) skrivs som 0X00 (1 byte)
-
NTEXT (NVARCHAR(max)) skrivs som 0x0000 (2 bytes)
Begränsningar och överväganden endast för replikeringsuppgifter
- LOB-kolumner med full storlek stöds inte i Batchoptimerat tillämpningsläge. Du kan kringgå den här begränsningen genom att begränsa LOB-kolumnstorleken i uppgiftsinställningarna eller växla till Transaktionellt tillämpningsläge.
- När båda alternativen Batchoptimerad tillämpning och Replikera begränsade LOB-kolumner (KB) har aktiverats kommer BLOB-kolumner på målet att trunkeras till en fjärdedel av den storlek som anges i Begränsa LOB-storlek till fält, medan CLOB-kolumnerna kommer att trunkeras till halva angivna storleken.
- Om du behöver replikera 4-bytes emojitecken ska du använda en omvandling för att konvertera datatypen från WSTRING(n ) till WSTRING ( n*2 ).
Datatyper
Information om inbyggd datatyp bevaras och visas i kolumnen Inbyggd datatyp i datauppsättningsvyer. Om kolumnen inte är synlig måste du öppna kolumnväljaren i datauppsättnignsvyn och välja kolumnen Inbyggd datatyp.
Qlik Cloud-datatyper | Microsoft SQL Server-datatyper |
---|---|
BOOLEAN |
TINYINT |
Byte |
VARBINARY(längd) |
Datum |
Datum |
Tid |
TIME(0) |
Datum och tid: |
DATETIME2(skala) |
INT1 |
SMALLINT |
INT2 |
SMALLINT |
INT4 |
INT |
INT8 |
BIGINT |
Numerisk |
NUMERIC(p,s) |
REAL4 |
REAL |
REAL8 |
FLOAT |
sträng |
Om kolumnen är datum eller tid: DATETIME2 Om kolumnen inte är datum eller tid: VARCHAR(längd) |
UINT1 |
INT2 |
UINT2 |
INT4 |
UINT4 |
INT8 |
UINT8 |
NUMERIC(20) |
WSTRING |
NVARCHAR(längd) |
BLOB |
VARBINARY(max) IMAGE |
CLOB |
VARCHAR(max) TEXT |
NCLOB |
NVARCHAR(max) NTEXT |
Följande SQL-serverdatatyper stöds inte. Data kommer inte att läsas.
-
CURSOR
-
SQL_VARIANT
-
TABLE
Följande datatyper konverteras till VARCHAR (MAX):
-
XML
-
GEOGRAPHY
-
GEOMETRY