Introdução ao Azure Synapse Link para Banco de Dados SQL do Azure

Este artigo apresenta um guia passo a passo para começar a usar o Link do Azure Synapse para o Banco de Dados SQL do Azure. Para uma visão geral desse recurso, confira Link do Azure Synapse para Banco de Dados SQL do Azure.

Pré-requisitos

  • Para obter o Link do Azure Synapse para SQL, confira Criar um novo workspace do Azure Synapse. O tutorial atual é para criar o Link do Azure Synapse para SQL em uma rede pública. Este artigo pressupõe que você selecionou Desabilitar rede virtual gerenciada e Permitir conexões de todos os endereços IP ao criar um workspace do Azure Synapse. Se você quiser configurar o Link do Azure Synapse para Banco de Dados SQL do Azure com segurança de rede, confira também Configurar Link do Azure Synapse para Banco de Dados SQL do Azure com segurança de rede.

  • Para provisionamento baseado em DTU (unidade de transação do banco de dados), verifique se o serviço de Banco de Dados SQL do Azure é, pelo menos, a camada Standard com um mínimo de 100 DTUs. Não há suporte para camadas Gratuito, Básico ou Standard com menos de 100 DTUs provisionadas.

Configurar o Banco de Dados SQL do Azure de origem

  1. Entre no portal do Azure.

  2. Vá para o servidor lógico do SQL do Azure, selecione Identidade e defina a Identidade gerenciada atribuída pelo sistema como Ativada.

    Captura de tela da ativação da identidade gerenciada atribuída pelo sistema.

  3. Acesse Sistema de Rede e marque a caixa de seleção Permitir que os serviços e recursos do Azure acessem este servidor.

    Captura de tela que mostra como configurar firewalls para o banco de dados SQL usando o portal do Azure.

  4. Usando o SSMS (Microsoft SQL Server Management Studio) ou o Azure Data Studio, conecte-se ao servidor lógico. Se você quiser que seu workspace do Azure Synapse se conecte ao Banco de Dados SQL do Azure usando uma identidade gerenciada, defina as permissões de administrador do Microsoft Entra no servidor lógico. Para aplicar os privilégios na etapa 6, use o mesmo nome de administrador para se conectar ao servidor lógico com privilégios administrativos.

  5. Expanda Bancos de Dados, clique com o botão direito do mouse no banco de dados que você criou e selecione Nova Consulta.

    Captura de tela que mostra como selecionar seu banco de dados e criar uma nova consulta.

  6. Se quiser que seu workspace do Azure Synapse se conecte ao seu Banco de Dados SQL do Azure de origem usando uma identidade gerenciada, execute o script a seguir para fornecer a permissão de identidade gerenciada ao banco de dados de origem.

    Você poderá ignorar esta etapa se quiser que seu workspace do Azure Synapse se conecte ao seu Banco de Dados SQL do Azure de origem por meio da autenticação SQL.

    CREATE USER <workspace name> FROM EXTERNAL PROVIDER;
    ALTER ROLE [db_owner] ADD MEMBER <workspace name>;
    
  7. Você pode criar uma tabela com um esquema próprio. O código a seguir é apenas um exemplo de uma consulta CREATE TABLE. Você também pode inserir algumas linhas nessa tabela para garantir que haja dados a serem replicados.

    CREATE TABLE myTestTable1 (c1 int primary key, c2 int, c3 nvarchar(50)) 
    

Criar o pool de SQL do Azure Synapse de destino

  1. Abra o Synapse Studio.

  2. Vá para o hub Gerenciar e selecione Pools de SQL e Novo.

    Captura de tela que mostra como criar um pool dedicado do SQL do Synapse Studio.

  3. Insira um nome de pool exclusivo, use as configurações padrão e crie o pool dedicado.

  4. É necessário criar um esquema se o esquema esperado não estiver disponível no banco de dados SQL do Azure Synapse de destino. Se o esquema for dbo (proprietário do banco de dados), você poderá ignorar esta etapa.

  1. No painel esquerdo do portal do Azure, selecione Integrar.

  2. No painel Integrar, selecione o sinal de adição (+) e depois Conexão de link.

    Captura de tela que mostra como selecionar uma nova conexão de link do Synapse Studio.

  3. Em Serviço vinculado de origem, selecione Novo.

    Captura de tela que mostra como selecionar um novo serviço vinculado.

  4. Insira as informações de seu Banco de Dados SQL do Azure de origem.

    • Selecione a assinatura, o servidor e o banco de dados correspondentes ao seu Banco de Dados SQL do Azure.
    • Execute um destes procedimentos:
      • Para conectar seu workspace do Azure Synapse ao banco de dados de origem usando a identidade gerenciada do workspace, defina o Tipo de autenticação como Identidade Gerenciada.
      • Para usar a autenticação SQL, se você souber o nome de usuário e a senha a serem usados, selecione Autenticação do SQL.

    Captura de tela que mostra como inserir os detalhes do servidor e do banco de dados para criar um novo serviço vinculado.

    Observação

    Há suporte apenas para o Serviço Vinculado na versão Herdada.

  5. Selecione Testar conectividade para garantir que as regras de firewall estejam configuradas corretamente e que o workspace possa se conectar com êxito ao Banco de Dados SQL do Azure de origem.

  6. Selecione Criar.

    Observação

    O serviço vinculado criado aqui não é dedicado ao Link do Azure Synapse para SQL. Ele pode ser usado por qualquer usuário do workspace que tenha as permissões apropriadas. Dedique algum tempo a entender o escopo dos usuários que podem ter acesso a esse serviço vinculado e suas credenciais. Para obter mais informações sobre permissões em workspaces do Azure Synapse, consulte Visão geral do controle de acesso do workspace do Azure Synapse – Azure Synapse Analytics.

  7. Selecione uma ou mais tabelas de origem para replicar no workspace do Azure Synapse e selecione Continuar.

    Observação

    Uma tabela de origem especificada pode ser habilitada apenas em uma conexão de link por vez.

  8. Selecione um banco de dados SQL do Azure Synapse e um pool de destino.

  9. Forneça um nome para sua conexão de Link do Azure Synapse e selecione o número de núcleos para a computação de conexão de link. Esses núcleos serão usados para a movimentação de dados da origem para o destino.

    Observação

    • O número de núcleos selecionados aqui é alocado para o serviço de ingestão a fim de processar o carregamento e as alterações de dados. Eles não afetam a configuração do Banco de Dados SQL do Azure de origem ou a configuração do pool de SQL dedicado de destino.
    • É recomendável começar aos poucos e aumentar o número de núcleos conforme necessário.
  10. Selecione OK.

  11. Com a nova conexão aberta do Link do Azure Synapse, você pode atualizar o nome da tabela de destino, o tipo de distribuição e o tipo de estrutura.

    Observação

    • Considere usar a tabela de heap com o tipo de estrutura quando seus dados contiverem varchar(max), varchar(max) e varbinary(max).
    • Verifique se o esquema no pool dedicado de SQL do Azure Synapse já foi criado antes de iniciar a conexão de link. O Link do Azure Synapse para SQL criará tabelas automaticamente em seu esquema no pool de SQL do Azure Synapse dedicado.

    Captura de tela que mostra em que local editar a conexão Azure Synapse Link do Synapse Studio.

  12. Na lista suspensa Ação envolvendo uma tabela de destino existente, escolha a opção mais apropriada para o seu cenário se a tabela já existir no destino.

    • Descartar e recriar a tabela: a tabela de destino existente será descartada e recriada.
    • Falha em tabela não vazia: se a tabela existente contiver dados, a conexão por link para a tabela determinada irá falhar.
    • Mesclar com dados existentes: os dados serão mesclados na tabela existente.

    Observação

    Se você quiser mesclar várias fontes no mesmo destino escolhendo "Mesclar com dados existentes", certifique-se de que as fontes contenham dados diferentes para evitar conflitos e resultados inesperados.

  13. Especifique se você quer habilitar a consistência de transações nas diversas tabelas.

    • Quando essa opção está habilitada, uma transação que se estende por várias tabelas no banco de dados de origem sempre é replicada para o banco de dados de destino em uma única transação. Isso, no entanto, criará sobrecarga na taxa de transferência de replicação geral.
    • Quando a opção está desabilitada, cada tabela replicará as alterações em seu próprio limite de transação para o destino em conexões paralelas, melhorando assim a taxa de transferência de replicação geral.

    Observação

    Quando você quiser habilitar a consistência da transação entre tabelas, verifique também se os níveis de isolamento da transação no pool de SQL dedicado do Synapse são READ COMMITTED SNAPSHOT ISOLATION.

  14. Selecione Publicar tudo para salvar a nova conexão de link com o serviço.

Selecione Iniciar e aguarde alguns minutos para que os dados sejam replicados.

Observação

Uma conexão de link começará com uma carga inicial completa do banco de dados de origem, seguida por feeds de alterações incrementais por meio do recurso de feed de alterações no Banco de Dados SQL do Azure. Para saber mais, confira Gerenciar o feed de alterações do Azure Synapse Link para SQL.

Você pode monitorar o status da conexão Azure Synapse Link, ver quais tabelas estão sendo inicialmente copiadas (snapshotting) e ver quais tabelas estão no modo de replicação contínua (replicating).

  1. Vá para o hub Monitor e selecione Conexões de link.

    Captura de tela que mostra como monitorar o status da conexão do Link do Azure Synapse do hub do monitor.

  2. Abra a conexão do Link do Azure Synapse iniciada e visualize o status de cada tabela.

  3. Selecione Atualizar na exibição de monitoramento da conexão para observar as atualizações do status.

Consultar os dados replicados

Aguarde alguns minutos e verifique se o banco de dados de destino tem a tabela e os dados esperados. Agora você também pode explorar as tabelas replicadas no pool dedicado de SQL do Azure Synapse de destino.

  1. No hub de Dados, em Workspace, abra o banco de dados de destino.

  2. Em Tabelas, clique com o botão direito do mouse em uma das tabelas de destino.

  3. Escolha Novo script SQL e selecione Primeiras 100 linhas.

  4. Execute essa consulta para exibir os dados replicados no pool dedicado de SQL do Azure Synapse de destino.

  5. Você também pode consultar o banco de dados de destino usando o SSMS ou outras ferramentas. Use o ponto de extremidade dedicado de SQL para seu workspace como o nome do servidor. O nome normalmente é <workspacename>.sql.azuresynapse.net. Adicione Database=databasename@poolname como um parâmetro de cadeia de conexão extra ao se conectar por meio de SSMS ou outras ferramentas.

Para adicionar ou remover tabelas no Synapse Studio, faça o seguinte:

  1. Abra o hub Integrar.

  2. Selecione a conexão de link que deseja editar e abra-a.

  3. Siga um destes procedimentos:

    • Para adicionar uma tabela, selecione Nova tabela.
    • Para remover uma tabela, selecione o ícone de lixeira ao lado dela.

    Captura de tela do painel de conexão de link para adicionar ou remover tabelas.

    Observação

    Você pode adicionar ou remover tabelas diretamente quando uma conexão de link estiver em execução.

Para interromper a conexão do Link do Azure Synapse no Synapse Studio, faça o seguinte:

  1. No workspace do Azure Synapse, abra o hub Integrar.

  2. Selecione a conexão de link que deseja editar e abra-a.

  3. Selecione Parar para interromper a conexão de link e ela deixará de replicar seus dados.

    Captura de tela do painel para interromper uma conexão de link.

    Observação

    • Se você reiniciar uma conexão de link depois de interrompê-la, ela iniciará com uma carga inicial completa do banco de dados de origem seguida por feeds de alterações incrementais.
    • Se escolher a ação "Mesclar com dados existentes" na tabela de destino existente, quando você interromper a conexão por link e reiniciá-la as exclusões de registros na fonte durante esse período não serão excluídas no destino. Nesse caso, para garantir a consistência dos dados, pense em usar pausar/retomar em vez de parar/iniciar, ou limpar as tabelas de destino antes de reiniciar a conexão por link.