Gå till huvudinnehåll Gå till ytterligare innehåll

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:

  1. I Kopplingar klickar du på Skapa koppling.

  2. Välj Microsoft SQL Server-målkopplingen och ange följande inställningar:

Gateway för dataflytt

Anteckning om informationOm du har en Qlik Talend Cloud Standard-prenumeration kommer fältet Datagateway inte att vara tillgängligt eftersom Gateway för dataflytt inte stöds med den här prenumerationsnivån.

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.

Anteckning om informationVid åtkomst till databasen via Gateway för dataflytt måste du även installera korrekt drivrutin på Gateway för dataflytt-maskinen. Information finns i Inställning av drivrutin nedan.

Använda ett Microsoft SQL Server-mål i en datapipeline

Anteckning om informationDetta fält är inte tillgängligt med Qlik Talend Cloud Starterprenumeration eftersom Gateway för dataflytt inte stöds med denna prenumerationsnivå.

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.

Anteckning om informationKräver Gateway för dataflytt 2022.11.70 eller senare.

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.

Anteckning om information

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 information

      Om 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 är 3333, 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 Skapa ny- och Avbryt-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.

  • 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

Så här hämtar och installerar du driver:

  1. Stoppa tjänsten Gateway för dataflytt:

    sudo systemctl stop repagent

  2. 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

  3. Dataflytt-gatewaydatorn byter du arbetskatalog till:

    opt/qlik/gateway/movement/drivers/bin

  4. 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.

  5. 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.
  6. 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.

  7. driver kommer att installeras.

  8. Vänta tills installationen har slutförts (anges med "Slutförd!") och starta sedan Gateway för dataflytt-tjänsten:

    sudo systemctl start repagent

  9. 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

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:

  1. Stoppa tjänsten Gateway för dataflytt:

    sudo systemctl stop repagent

  2. 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

  3. Dataflytt-gatewaydatorn byter du arbetskatalog till:

    opt/qlik/gateway/movement/drivers/bin

  4. 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.

  5. 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.
  6. 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.
  7. Den gamla driver avinstalleras och den nya driver installeras.

  8. Vänta tills installationen har slutförts (anges med "Slutförd!") och starta sedan Gateway för dataflytt-tjänsten:

    sudo systemctl start repagent

  9. 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

Kör avinstalleringskommandot om du vill avinstallera driver.

Så här avinstallerar du driver:

  1. Stoppa alla uppgifter som är konfigurerade för att använda denna koppling.

  2. Dataflytt-gatewaydatorn byter du arbetskatalog till:

    opt/qlik/gateway/movement/drivers/bin

  3. 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.

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:

  1. Stoppa tjänsten Data Movement gateway:

    sudo systemctl stop repagent

  2. Om du vill kan du bekräfta att tjänsten har stoppats:

    sudo systemctl status repagent

  3. Statusen ska vara enligt följande:

    Active: inactive (dead) since <timestamp> ago

  4. Installera drivrutinen (RPM).

  5. Byt arbetskatalog till <product_dir>/bin.

  6. 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

  7. Om du vill kan du bekräfta att drivrutinsplatsen kopierades:

    cat site_arep_login.sh
  8. Starta Data Movement gateway-tjänsten.

    sudo systemctl start repagent

  9. 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

  10. 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.1

    där existing_library_name är namnet på det bibliotek som är installerat nu (till exempel libmsodbcsql-18.0.so.1.1).

Anteckning om informationJDBC-drivrutinen behöver inte installeras när du använder Microsoft SQL Server som mål i en replikeringsuppgift.
  1. 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

  2. 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)

Anteckning om informationOm dessa typer är tomma under Change Processing kommer de att skrivas korrekt som tomma i målet (0 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.

Måldatatyper som stöds
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

Var den här sidan till hjälp för dig?

Om du hittar några fel på denna sida eller i innehållet – ett stavfel, ett steg som saknas eller ett tekniskt fel – berätta för oss så att vi kan blir bättre!