Microsoft SQL Server
Questo argomento spiega come configurare la connettività a una destinazione Microsoft SQL Server utilizzando il connettore Microsoft SQL Server di destinazione.
Il target di Microsoft SQL Server può essere utilizzato come piattaforma dati di destinazione in una pipeline di dati o in un'attività di replica. In una pipeline di dati, è possibile eseguire diverse operazioni ELT nella piattaforma di destinazione, tra cui archiviare i dati, trasformarli, creare data mart e registrare i dati. Un'attività di replica, d'altra parte, include la replica dei dati direttamente da un sistema di origine a un sistema di destinazione con funzionalità di trasformazione di base, ma senza il supporto delle operazioni ELT. Prima di potersi connettere a una destinazione di Microsoft SQL Server, è necessario configurare Prerequisiti utente sul database. Se ci si connette a un Microsoft SQL Server tramite Gateway di Data Movement, è necessario anche installare il driver come descritto in Configurazione del driver.
Per informazioni sulle limitazioni e per considerazioni sull'utilizzo del connettore Microsoft SQL Server Target, vedere Limiti e considerazioni.
Impostazione delle proprietà di connessione
Per configurare il connettore, procedere come segue:
-
In Connessioni, fare clic su Crea connessione.
-
Selezionare il connettore Microsoft SQL Server di destinazione, quindi fornire le seguenti impostazioni:
Gateway di Data Movement
È possibile utilizzare Microsoft SQL Server come destinazione in una pipeline di dati o in un'attività di replica. Sebbene Gateway di Data Movement può essere richiesto per accedere alla destinazione Microsoft SQL Server in una pipeline (dipendendo se il database è direttamente accessibile da Qlik Cloud), è sempre necessario quando si utilizza una destinazione Microsoft SQL Server in un'attività di replica.
Utilizzo di una destinazione Microsoft SQL Server in una pipeline di dati
Gateway dati
È richiesto un Gateway di Data Movement solo se non è possibile accedere al database di destinazione da Qlik Cloud ed è possibile accedervi solo utilizzando un Private Link (ad esempio, se è posizionato in loco e protetto da firewall o in un Virtual Private Cloud). In questo caso, selezionare il Gateway di Data Movement che si desidera utilizzare per accedere al database di destinazione.
A seconda del caso di utilizzo, questo sarà lo stesso Gateway di Data Movement distribuito per spostare i dati da una sorgente dati, oppure uno differente.
Per informazioni sui casi di utilizzo del Gateway di Data Movement, vedere Quando è richiesto il Gateway di Data Movement? e Casi di utilizzo comuni.
Se il database di destinazione è accessibile direttamente da Qlik Cloud, selezionare Nessuno.
Utilizzo di una destinazione Microsoft SQL Server in un'attività di replica
Gateway dati: Selezionare il Gateway di Data Movement che verrà utilizzato per testare la connessione alla destinazione Microsoft SQL Server. Questo dovrebbe essere lo stesso gateway utilizzato per accedere alla sorgente dati.
Richiede Gateway di Data Movement 2023.5.10 o versione successiva.
Destinazione dati
-
Provider cloud provider: scegliere una delle seguenti opzioni:
- Nessuno (in loco)
- Amazon RDS
- Google Cloud
- Microsoft Azure (supporta sia Microsoft Azure Managed Instance che Microsoft Azure Database)
-
Server: il nome host o l'indirizzo IP del computer su cui è installato il database di Microsoft SQL Server.
Nota informaticaPer sostituire la porta predefinita, aggiungi la porta al nome del server, separata da una virgola. Ad esempio, se il nome server è
myserver.company.local
e la porta è3333
, il nome server dovrebbe essere:myserver.company.local,3333
Proprietà dell'account
Nome utente e Password: il nome utente e la password di un utente autorizzato ad accedere al database Microsoft SQL Server.
Proprietà del database
-
Nome database: per specificare un database, è possibile utilizzare i due metodi descritti di seguito.
- Metodo 1 - Selezione da un elenco: questo metodo richiede che l'utente sia creato nel database principale. Fare clic su Carica database, quindi selezionare un database.
- Metodo 2 - Manualmente: selezionare Inserisci nome database manualmente, quindi inserire il nome del database.
- Crittografia (certificato del server attendibile): selezionare per crittografare la comunicazione tra Qlik Cloud e il server del database. Quando si seleziona questa opzione, il certificato del server viene considerato automaticamente attendibile.
- Nome host nel certificato: per considerare attendibile il certificato del server solo se il nome dell'host corrisponde al valore specificato in questo campo, immettere in nome host del certificato del server.
Proprietà interne
Le proprietà interne servono per casi d'uso speciali e pertanto non vengono visualizzate nella finestra di dialogo. Gli utenti devono utilizzarle solo se indicato dal Supporto di Qlik.
Usare i pulsanti e a destra del campo per aggiungere o rimuovere proprietà in base alle esigenze.
Nome
Il nome visualizzato per la connessione.
Prerequisiti
Prerequisiti utente
- L'utente specificato nelle impostazioni del connettore deve disporre almeno del ruolo utente
db_owner
sul database Microsoft SQL Server di destinazione. - Per poter selezionare un database (facendo clic su Carica database nella finestra di dialogo del connettore), l'utente specificato nelle impostazioni del connettore deve essere creato nel database principale.
Configurazione del driver
Un driver è necessario solo se si accede al database tramite Gateway di Data Movement. Vedere Gateway di Data Movement sopra per maggiori informazioni sui casi di utilizzo quando è richiesto un Gateway di Data Movement.
È possibile installare driver utilizzando l'utilità di installazione dei driver (procedura consigliata) oppure manualmente. Si consiglia di utilizzate l'installazione manuale nel caso improbabile che si riscontrasse un problema con l'utilità di installazione dei driver.
Utilizzo dell'utilità di installazione dei driver per installare il driver
Questa sezione descrive come installare il driver richiesto. Il processo prevede l'esecuzione di uno script che scarica, installa e configura automaticamente il driver richiesto. È inoltre possibile eseguire script per aggiornare e disinstallare il driver secondo le necessità.
Preparazione dell'installazione
-
Assicurarsi che Python 3.6.x o versione successiva sia installato sul server del gateway di Data Movement.
Python è preinstallato nella maggior parte delle distribuzioni Linux. È possibile verificare quale versione di Python è installata sul sistema, eseguendo il seguente comando:
python3 --version
Installazione di driver
Per scaricare e installare driver:
-
Arrestare il servizio gateway di Data Movement:
sudo systemctl stop repagent
-
Facoltativamente, confermare che il servizio è stato interrotto:
sudo systemctl status repagent
Lo stato dovrebbe essere il seguente:
Active: inactive (dead) since <timestamp> ago
-
Sul computer gateway Data Movement, cambiare la directory di lavoro in:
opt/qlik/gateway/movement/drivers/bin
-
Eseguire il comando seguente:
Sintassi:
./install sqlserver
Se non è possibile scaricare driver (a causa di restrizioni di accesso o problemi tecnici), verrà visualizzato un messaggio con le istruzioni su dove scaricare il driver e copiarlo sul computer gateway Data Movement. Una volta completata l'operazione, eseguire nuovamente il comando install sqlserver.
Altrimenti, verrà visualizzato l'EULA del driver.
-
Effettuare una delle seguenti operazioni:
- Premere ripetutamente [Invio] per scorrere lentamente l'EULA.
- Premere ripetutamente la barra spaziatrice per scorrere rapidamente l'EULA.
- Premere q per uscire dal testo della licenza e visualizzare le opzioni di accettazione dell'EULA.
-
Effettuare una delle seguenti operazioni:
- Digitare "y" e premere [Invio] per accettare l'EULA e avviare l'installazione.
- Digitare "n" e premere [Invio] per rifiutare l'EULA e uscire dall'installazione.
-
Digitare "v" e premere [Invio] per visualizzare nuovamente l'EULA.
-
Attendere il completamento dell'installazione (indicato dal messaggio "Operazione completata"), quindi avviare il servizio gateway di Data Movement:
sudo systemctl start repagent
-
Facoltativamente, conferma che il servizio si è avviato:
sudo systemctl status repagent
Lo stato dovrebbe essere il seguente:
Active: active (running) since <timestamp> ago
Il driver verrà installato.
Aggiornamento del driver
Eseguire il comando aggiorna se si desidera disinstallare le versioni precedenti del driver prima di installare il driver fornito.
Per scaricare e aggiornare driver:
-
Arrestare il servizio gateway di Data Movement:
sudo systemctl stop repagent
-
Facoltativamente, confermare che il servizio è stato interrotto:
sudo systemctl status repagent
Lo stato dovrebbe essere il seguente:
Active: inactive (dead) since <timestamp> ago
-
Sul computer gateway Data Movement, cambiare la directory di lavoro in:
opt/qlik/gateway/movement/drivers/bin
-
Eseguire il comando seguente:
Sintassi:
./update sqlserver
Se non si riesce a scaricare il driver (a causa di restrizioni di accesso o problemi tecnici), verrà visualizzato un messaggio con le istruzioni su dove scaricare il driver e copiarlo sul computer gateway Data Movement. Una volta completata l'operazione, eseguire nuovamente il comando update sqlserver.
Altrimenti, verrà visualizzato l'EULA del driver.
-
Effettuare una delle seguenti operazioni:
- Premere ripetutamente [Invio] per scorrere lentamente l'EULA.
- Premere ripetutamente la barra spaziatrice per scorrere rapidamente l'EULA.
- Premere q per uscire dal testo della licenza e visualizzare le opzioni di accettazione dell'EULA.
-
Effettuare una delle seguenti operazioni:
- Digitare "y" e premere [Invio] per accettare l'EULA e avviare l'installazione.
- Digitare "n" e premere [Invio] per rifiutare l'EULA e uscire dall'installazione.
- Digitare "v" e premere [Invio] per rivedere l'EULA dall'inizio.
-
Attendere il completamento dell'installazione (indicato dal messaggio "Operazione completata"), quindi avviare il servizio gateway di Data Movement:
sudo systemctl start repagent
-
Facoltativamente, conferma che il servizio si è avviato:
sudo systemctl status repagent
Lo stato dovrebbe essere il seguente:
Active: active (running) since <timestamp> ago
Il vecchio driver verrà disinstallato e il nuovo driver verrà installato.
Disinstallazione del driver
Eseguire il comando di disinstallazione se si desidera disinstallare il driver.
Per disinstallare il driver:
-
interrompere tutte le attività configurate per utilizzare il connettore.
-
Sul computer gateway Data Movement, cambiare la directory di lavoro in:
opt/qlik/gateway/movement/drivers/bin
-
Eseguire il comando seguente:
Sintassi:
./uninstall sqlserver
Il driver verrà disinstallato.
Installazione manuale dei driver
Si consiglia di tentare l'installazione manuale di driver nel caso in cui l'installazione automatizzata non venissa completata.
Quando si utilizza Microsoft SQL Server come destinazione in una pipeline di dati, è necessario installare sia il driver ODBC che il driver JDBC. Quando si utilizza Microsoft SQL Server come destinazione in un'attività di replica, è necessario solo installare il driver ODBC.
Installazione del driver ODBC
Dopo aver installato Gateway di Data Movement, scaricare il driver msodbcsql<version>.x86_64.rpm. È possibile trovare un collegamento di download diretto alla versione supportata in binary-artifacts in /opt/qlik/gateway/movement/drivers/manifests/sqlserver.yaml. Una volta completato il download, copiare il file RPM nel computer Gateway di Data Movement.
Quindi, sul server di Data Movement gateway, aprire un prompt della shell e procedere come segue:
-
Arrestare il servizio Data Movement gateway:
sudo systemctl stop repagent
-
Facoltativamente, confermare che il servizio è stato interrotto:
sudo systemctl status repagent
-
Installare il driver (RPM).
-
Cambiare la directory di lavoro in <product_dir>/bin.
-
Copiare la posizione del driver nel file
site_arep_login.sh
come descritto di seguito:echo "export LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:/opt/microsoft/
msodbcsql<version>
/lib64/" >> site_arep_login.sh
Questa operazione aggiungerà il driver a "LD_LIBRARY_PATH" e aggiornerà la posizione del driver nel file site_arep_login.sh .
-
Facoltativamente, confermare che la posizione del driver è stata copiata:
cat site_arep_login.sh
-
Avviare il servizio Data Movement gateway:
sudo systemctl start repagent
-
Facoltativamente, confermare che il servizio si è avviato:
sudo systemctl status repagent
Lo stato dovrebbe essere il seguente:
Active: active (running) since <timestamp> ago
-
Data Movement gateway richiede la seguente libreria ODBC: libmsodbcsql-17.6.so.1.1
Per verificare quale versione della libreria è attualmente installata, emettere il seguente comando:
ls /opt/microsoft/msodbcsql<version>/lib64/
Se la libreria esistente ha un altro numero di versione (ad esempio, libmsodbcsql-18.0.so.1.1), è necessario creare un collegamento simbolico tra la libreria esistente e quella richiesta.
Per fare ciò, emettere i seguenti comandi:
cd /opt/microsoft/msodbcsql<version>/lib64/
ln -s existing_library_name
msodbcsql-18.1.so.1.1in cui
existing_library_name
è il nome della libreria attualmente installata (ad es. libmsodbcsql-18.0.so.1.1).
Lo stato dovrebbe essere il seguente:
Active: inactive (dead) since <timestamp> ago
Installazione del driver JDBC
-
Scaricare il file mssql-jdbc-<version>.jar. È possibile trovare un collegamento di download diretto alla versione supportata in binary-artifacts in /opt/qlik/gateway/movement/drivers/manifests/sqlserver.yaml. Una volta completato il download, copiare il file JAR nella cartella seguente nel computer Gateway di Data Movement:
/opt/qlik/gateway/movement/qcs_agents/qdi-db-commands/lib
-
Riavviare il servizio Gateway di Data Movement eseguendo il comando descritto nella sezione Riavviare il servizio
Limiti e considerazioni
Limitazioni e considerazioni quando si utilizza una pipeline di dati
- Quando si trasferiscono dati su Microsoft SQL Server in una pipeline di dati, le visualizzazioni live non sono supportate. Per ulteriori informazioni sulle visualizzazioni live, vedere Archiviazione di set di dati.
Limiti e considerazioni per tutte le attività dati
Se i seguenti tipi di oggetti di grandi dimensioni sono vuoti nel database di origine (0 byte), non saranno più vuoti una volta completato il ricaricamento completo:
- BLOB sarà scritto come 0x0000 (2 byte)
- TEXT (VARCHAR(max)) sarà scritto come 0X00 (1 byte)
-
NTEXT (VARCHAR(max)) sarà scritto come 0x0000 (2 byte)
Limiti e considerazioni esclusivi per le attività di replica
- Le colonne LOB di dimensioni complete non sono supportate nella modalità di applicazione Batch ottimizzato. È possibile risolvere questa limitazione limitando le dimensioni delle colonne LOB nelle impostazioni dell'attività o passando alla modalità di applicazione Transazionale.
- Quando entrambe le opzioni Applicazione ottimizzata in batch e Replica colonne LOB limitate (KB) sono abilitate, le colonne BLOB nella destinazione verranno troncate a un quarto delle dimensioni specificate nel campo Limita dimensioni LOB, mentre le colonne CLOB verranno troncate a metà delle dimensioni specificate.
- Se è necessario replicare caratteri emoji a 4 byte, utilizzare una trasformazione per convertire il tipo di dati da WSTRING(n ) a WSTRING ( n*2 ).
Tipi di dati
La informazioni relative tipo di dati nativo vengono mantenute e vengono visualizzate nella colonna Tipo di dati nativo nelle visualizzazioni del set di dati. Se la colonna non è visibile, è necessario aprire lo strumento di selezione delle colonne della visualizzazione del set di dati e selezionare la colonna Tipo di dati nativo.
Tipi di dati Qlik Cloud | Tipi di dati Microsoft SQL Server |
---|---|
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 |
Se la colonna rappresenta la data o l'ora: DATETIME2 Se la colonna non rappresenta la data o l'ora: 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 |
I seguenti tipi di dati SQL Server non sono supportati. I dati non saranno letti.
-
CURSOR
-
SQL_VARIANT
-
tabella
I seguenti tipi di dati vengono convertiti in VARCHAR (65535):
-
XML
-
GEOGRAPHY
-
GEOMETRY