Microsoft SQL Server
Este tópico explica como configurar a conectividade para um destino do Microsoft SQL Server usando o conector de destino do Microsoft SQL Server.
O destino do Microsoft SQL Server pode ser usado como uma plataforma de dados de destino em um pipeline de dados ou em uma tarefa de replicação. Em um pipeline de dados, várias operações ELT podem ser executadas na plataforma de destino, incluindo armazenamento de dados, transformação de dados, criação de data marts e registro de dados. Uma tarefa de replicação, por outro lado, envolve a replicação de dados diretamente de um sistema de origem para um sistema de destino com capacidades básicas de transformação, mas sem suporte para operações ELT. Antes de se conectar a um destino do Microsoft SQL Server, você precisa configurar o Pré-requisitos do usuário no banco de dados. Se você estiver se conectando ao Microsoft SQL Server via Data Movement gateway, também precisará instalar o driver, conforme descrito em Configuração do driver.
Para obter informações sobre as limitações e considerações ao usar o conector de Destino do Microsoft SQL Server, consulte Limitações e considerações.
Configurando propriedades de conexão
Para configurar o conector, faça o seguinte:
-
Em Conexões, clique em Criar conexão.
-
Selecione o conector de destino do Microsoft SQL Server e forneça as seguintes configurações:
Gateway Data Movement
O Microsoft SQL Server pode ser usado como destino em um pipeline de dados ou em uma tarefa de replicação. Embora o Data Movement gateway possa ser necessário para acessar o destino do Microsoft SQL Server em um pipeline (dependendo se o banco de dados pode ser acessado diretamente do Qlik Cloud), ele é sempre necessário ao usar um destino do Microsoft SQL Server em uma tarefa de replicação.
Usando um destino do Microsoft SQL Server em um pipeline de dados
Gateway de dados
O Data Movement gateway apenas será necessário se o banco de dados de destino não estiver acessível a partir do Qlik Cloud e somente pode ser acessado através de um link privado (por exemplo, se estiver localizado no local atrás de um firewall ou em uma nuvem privada virtual). Se esse for o caso, selecione o Data Movement gateway através do qual você deseja acessar o banco de dados de destino.
Dependendo do seu caso de uso, será o mesmo Data Movement gateway implementado para mover dados da fonte de dados ou de uma fonte diferente.
Para obter informações sobre casos de uso do Data Movement gateway, consulte Quando o Data Movement gateway é necessário? e Casos de uso comuns.
Se o banco de dados de destino estiver acessível diretamente no Qlik Cloud, selecione Nenhum.
Usando um destino do Microsoft SQL Server em uma tarefa de replicação
Gateway de dados: Selecione o Data Movement gateway que será usado para testar a conexão com o destino do Microsoft SQL Server. Deve ser o mesmo gateway usado para acessar a fonte de dados.
Requer o Data Movement gateway 2023.5.10 ou mais recente.
Destino de dados
-
Provedor de nuvem: escolha um dos seguintes, conforme apropriado:
- Nenhum (para on-premises)
- Amazon RDS
- Google Cloud
- Microsoft Azure (compatível com Instância gerenciada do Microsoft Azure e banco de dados Microsoft Azure)
-
Servidor: o nome do host ou endereço IP do computador no qual o banco de dados Microsoft SQL Server está instalado.
Nota informativaPara substituir a porta padrão, adicione a porta ao nome do servidor, separada por uma vírgula. Por exemplo, se o nome do servidor for
myserver.company.local
e a porta for3333
, o nome do servidor deverá ser:myserver.company.local,3333
Propriedades da conta
Nome de usuário e Senha: o nome de usuário e a senha de um usuário autorizado a acessar o banco de dados Microsoft SQL Server.
Propriedades do banco de dados
-
Nome do banco de dados: há dois métodos que você pode usar para especificar um banco de dados:
- Método 1 - Selecionar em uma lista: Este método requer que o usuário seja criado no banco de dados mestre. Clique em Carregar bancos de dados e selecione um banco de dados.
- Método 2 - Manualmente: Selecione Inserir nome do banco de dados manualmente e insira o nome do banco de dados.
- Criptografar (Certificado de servidor confiável): Selecione para criptografar a comunicação entre o Qlik Cloud e o servidor de banco de dados. Quando selecionado, o certificado do servidor será automaticamente confiável.
- Nome do host no certificado: Para confiar apenas no certificado do servidor se o nome do host corresponder ao valor especificado nesse campo, insira o nome do host do certificado do servidor.
Propriedades internas
Propriedades internas são para casos de uso especiais e, portanto, não são expostas na caixa de diálogo. Você só deve usá-las se instruído pelo Suporte da Qlik.
Use os botões e à direita dos campos para adicionar ou remover propriedades conforme necessário.
Nome
O nome de exibição da conexão.
Pré-requisitos
Pré-requisitos do usuário
- O usuário especificado nas configurações do conector deve ter pelo menos a função de usuário
db_owner
no banco de dados Microsoft SQL Server de destino. - Para poder selecionar um banco de dados (clicando em Carregar bancos de dados no diálogo do conector), o usuário especificado nas configurações do conector precisa ser criado no banco de dados mestre.
Configuração do driver
Um driver apenas será necessário se você estiver acessando o banco de dados via Data Movement gateway. Veja Data Movement gateway acima para obter mais informações sobre casos de uso quando um Data Movement gateway é necessário.
Você pode instalar o driver usando o utilitário de instalação do driver (recomendado) ou manualmente. A instalação manual só deve ser tentada no caso improvável de você encontrar um problema com o utilitário de instalação do driver.
Usando o utilitário de instalação de driver para instalar o driver
Esta seção descreve como instalar o driver necessário. O processo envolve a execução de um script que baixará, instalará e configurará automaticamente os driver necessários. Você também pode executar scripts para atualizar e desinstalar o driver como necessário.
Preparando a instalação
-
Certifique-se de que o Python 3.6.x ou mais recente esteja instalado no servidor de gateway do Movimentação de dados.
O Python vem pré-instalado na maioria das distribuições do Linux. Você pode verificar qual versão do Python está instalada em seu sistema executando o seguinte comando:
python3 --version
Instalando o driver
Para baixar e instalar o driver:
-
Pare o serviço do Gateway Data Movement:
sudo systemctl stop repagent
-
Opcionalmente, confirme se o serviço foi interrompido:
sudo systemctl status repagent
O status deverá ser o seguinte:
Active: inactive (dead) since <timestamp> ago
-
Na máquina do gateway do Movimentação de dados, altere o diretório de trabalho para:
opt/qlik/gateway/movement/drivers/bin
-
Execute o seguinte comando:
Sintaxe:
./install sqlserver
Se o driver não puder ser baixado (devido a restrições de acesso ou problemas técnicos), uma mensagem será exibida informando onde baixar o driver e onde copiá-lo na máquina de gateway do Movimentação de dados. Depois de fazer isso, execute o comando install sqlserver novamente.
Caso contrário, o EULA do driver será exibido.
-
Realize uma das seguintes ações:
- Pressione [Enter] repetidamente para percorrer lentamente o EULA.
- Pressione a barra de espaço repetidamente para rolar rapidamente pelo EULA.
- Pressione q para sair do texto da licença e ser apresentado às opções de aceitação do EULA.
-
Realize uma das seguintes ações:
- Digite "y" e pressione [Enter] para aceitar o EULA e iniciar a instalação.
- Digite "n" e pressione [Enter] para rejeitar o EULA e sair da instalação.
-
Digite "v" e pressione [Enter] para visualizar o EULA novamente.
-
Aguarde a conclusão da instalação (indicada por "Concluído!") e inicie o serviço do Gateway Data Movement:
sudo systemctl start repagent
-
Opcionalmente, confirme se o serviço foi iniciado:
sudo systemctl status repagent
O status deverá ser o seguinte:
Active: active (running) since <timestamp> ago
O driver será instalado.
Atualizando o driver
Execute o comando de atualização se quiser desinstalar versões anteriores do driver antes de instalar o driver fornecido.
Para baixar e atualizar o driver:
-
Pare o serviço do Gateway Data Movement:
sudo systemctl stop repagent
-
Opcionalmente, confirme se o serviço foi interrompido:
sudo systemctl status repagent
O status deverá ser o seguinte:
Active: inactive (dead) since <timestamp> ago
-
Na máquina do gateway do Movimentação de dados, altere o diretório de trabalho para:
opt/qlik/gateway/movement/drivers/bin
-
Execute o seguinte comando:
Sintaxe:
./update sqlserver
Se o driver não puder ser baixado (devido a restrições de acesso ou problemas técnicos), uma mensagem será exibida informando onde baixar o driver e onde copiá-lo na máquina de gateway do Movimentação de dados. Depois de fazer isso, execute o comando update sqlserver novamente.
Caso contrário, o EULA do driver será exibido.
-
Realize uma das seguintes ações:
- Pressione [Enter] repetidamente para percorrer lentamente o EULA.
- Pressione a barra de espaço repetidamente para rolar rapidamente pelo EULA.
- Pressione q para sair do texto da licença e ser apresentado às opções de aceitação do EULA.
-
Realize uma das seguintes ações:
- Digite "y" e pressione [Enter] para aceitar o EULA e iniciar a instalação.
- Digite "n" e pressione [Enter] para rejeitar o EULA e sair da instalação.
- Digite "v" e pressione [Enter] para revisar o EULA desde o início.
-
Aguarde a conclusão da instalação (indicada por "Concluído!") e inicie o serviço do Gateway Data Movement:
sudo systemctl start repagent
-
Opcionalmente, confirme se o serviço foi iniciado:
sudo systemctl status repagent
O status deverá ser o seguinte:
Active: active (running) since <timestamp> ago
O driver antigo será desinstalado, e o novo driver será instalado.
Desinstalando o driver
Execute o comando de desinstalação se quiser desinstalar o driver.
Para desinstalar o driver:
-
Pare todas as tarefas configuradas para usar esse conector.
-
Na máquina do gateway do Movimentação de dados, altere o diretório de trabalho para:
opt/qlik/gateway/movement/drivers/bin
-
Execute o seguinte comando:
Sintaxe:
./uninstall sqlserver
O driver será desinstalado.
Instalar os drivers manualmente
Você só deve tentar instalar o driver manualmente se a instalação automática do driver não for concluída com êxito.
Ao usar o Microsoft SQL Server como destino em um pipeline de dados, você precisa instalar o driver ODBC e o driver JDBC. Ao usar o Microsoft SQL Server como destino na tarefa de replicação, você só precisa instalar o driver ODBC.
Instalar o driver ODBC
Após a instalação do Data Movement gateway, baixe o driver msodbcsql<versão>.x86_64.rpm. Você pode encontrar um link de download direto para a versão compatível em binary-artifacts em /opt/qlik/gateway/movement/drivers/manifests/sqlserver.yaml. Assim que o download for concluído, copie o RPM para a máquina Data Movement gateway.
No servidor do Data Movement gateway, abra um prompt de shell e faça o seguinte:
-
Pare o serviço do Data Movement gateway:
sudo systemctl stop repagent
-
Opcionalmente, confirme se o serviço foi interrompido:
sudo systemctl status repagent
-
Instale o driver (RPM).
-
Altere o diretório de trabalho para <product_dir>/bin.
-
Copie a localização do driver para o arquivo
site_arep_login.sh
, conforme a seguir:echo "export LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:/opt/microsoft/
msodbcsql<version>
/lib64/" >> site_arep_login.sh
Isso adicionará o driver a "LD_LIBRARY_PATH" e atualizará a localização do driver no arquivo site_arep_login.sh .
-
Opcionalmente, confirme se a localização do driver foi copiada:
cat site_arep_login.sh
-
Inicie o serviço do Data Movement gateway:
sudo systemctl start repagent
-
Opcionalmente, confirme se o serviço foi iniciado:
sudo systemctl status repagent
O status deverá ser o seguinte:
Active: active (running) since <timestamp> ago
-
O Data Movement gateway requer a seguinte biblioteca ODBC: msodbcsql-18.1.so.1.1
Para verificar qual versão da biblioteca está instalada no momento, emita o seguinte comando:
ls /opt/microsoft/msodbcsql<version>/lib64/
Se a biblioteca existente tiver um número de versão diferente (por exemplo libmsodbcsql-18.0.so.1.1), você precisará criar um link simbólico entre a biblioteca existente e a biblioteca necessária.
Para fazer isso, emita os seguintes comandos:
cd /opt/microsoft/msodbcsql<version>/lib64/
ln -s existing_library_name
msodbcsql-18.1.so.1.1em que
existing_library_name
é o nome da biblioteca atualmente instalada (por exemplo. libmsodbcsql-18.0.so.1.1).
O status deverá ser o seguinte:
Active: inactive (dead) since <timestamp> ago
Instalar o driver JDBC
-
Faça download do arquivo mssql-jdbc-<version>.jar. Você pode encontrar um link de download direto para a versão compatível em binary-artifacts em /opt/qlik/gateway/movement/drivers/manifests/sqlserver.yaml. Assim que o download for concluído, copie o arquivo JAR para a seguinte pasta na máquina do Data Movement gateway:
/opt/qlik/gateway/movement/qcs_agents/qdi-db-commands/lib
-
Reinicie o serviço Data Movement gateway executando o comando descrito em Reiniciando o serviço
Limitações e considerações
Limitações e considerações quando usado em um pipeline de dados
- Ao enviar dados para o Microsoft SQL Server em um pipeline de dados, as visualizações em tempo real não são compatíveis. Para obter mais informações sobre visualizações ao vivo, consulte Armazenando conjuntos de dados.
Limitações e considerações para todas as tarefas de dados
Se os seguintes tipos de objetos grandes estiverem vazios no banco de dados de origem (0 bytes), eles não estarão vazios após o carregamento total:
- BLOB será escrito como 0x0000 (2 bytes)
- TEXT (VARCHAR(max)) será escrito como 0X00 (1 byte)
-
NTEXT (NVARCHAR(max)) será escrito como 0x0000 (2 bytes)
Limitações e considerações apenas para tarefas de replicação
- Colunas LOB de tamanho normal não são compatíveis no modo Aplicação otimizada em lote. Você pode contornar essa limitação limitando o tamanho da coluna LOB nas configurações da tarefa ou alternando para o Modo de aplicação transacional.
- Quando a aplicação Otimizada em lote e as opções de Replicar colunas LOB limitadas (KB) estiverem habilitadas, as colunas BLOB no destino serão truncadas para um quarto do tamanho especificado no campo Limitar tamanho do LOB a, enquanto as colunas CLOB serão truncadas para metade do tamanho especificado.
- Se você precisar replicar caracteres emoji de 4 bytes, use uma transformação para converter o tipo de dados de WSTRING(n ) em WSTRING ( n*2 ).
Tipos de dados
As informações do tipo de dados nativo são preservadas e exibidas na coluna Tipo de dados nativo nas visualizações do conjunto de dados. Se a coluna não estiver visível, será necessário abrir o seletor de colunas da visualização do conjunto de dados e selecionar a coluna Tipo de dados nativo.
Tipos de dados do Qlik Cloud | Tipos de dados do Microsoft SQL Server |
---|---|
BOOLEAN |
TINYINT |
BYTES |
VARBINARY(length) |
DATE |
DATE |
TIME |
TIME(0) |
DATETIME |
DATETIME2(escala) |
INT1 |
SMALLINT |
INT2 |
SMALLINT |
INT4 |
INT |
INT8 |
BIGINT |
NUMERIC |
NUMERIC(p,s) |
REAL4 |
REAL |
REAL8 |
FLOAT |
STRING |
Se a coluna for de data ou hora: DATETIME2 Se a coluna não for de data ou hora: VARCHAR(comprimento) |
UINT1 |
INT2 |
UINT2 |
INT4 |
UINT4 |
INT8 |
UINT8 |
NUMERIC(20) |
WSTRING |
NVARCHAR(comprimento) |
BLOB |
VARBINARY(máx) IMAGE |
CLOB |
VARCHAR(máx) TEXT |
NCLOB |
NVARCHAR(máx) NTEXT |
Os seguintes tipos de dados do SQL Server não são compatíveis. Os dados não serão lidos.
-
CURSOR
-
SQL_VARIANT
-
TABLE
Os seguintes tipos de dados são convertidos em VARCHAR (MAX):
-
XML
-
GEOGRAPHY
-
GEOMETRY