Introdução ao Link do Azure Synapse para SQL Server 2022

Este artigo é um guia passo a passo para começar a usar Link do Azure Synapse para SQL Server 2022. Para obter uma visão geral, consulte Link do Azure Synapse para SQL Server 2022.

Pré-requisitos

  • Antes de começar, consulte Criar um workspace do Azure Synapse para obter o Link do Azure Synapse para SQL. 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ê quer configurar o Link do Azure Synapse para SQL Server 2022 com segurança de rede, confira também Configurar o Link do Azure Synapse para SQL Server 2022 com segurança de rede.

  • Crie uma conta do Azure Data Lake Storage Gen2, que é diferente da conta que você cria com o workspace do Azure Synapse Analytics. Você usará essa conta como zona de destino para preparar os dados enviados pelo SQL Server 2022. Para obter mais informações, consulte Criar uma conta do Azure Data Lake Storage Gen2.

  • Verifique se o banco de dados do SQL Server 2022 tem uma chave mestra criada.

    CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<a new password>'
    

Criar o pool dedicado do SQL do Azure Synapse de destino

  1. Abra o Synapse Studio.

  2. Abra o hub Gerenciar, vá até pools de SQL e selecione Novo.

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

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

  4. No hub de Dados, no Workspace, seu novo banco de dados SQL do Azure Synapse deverá estar listado em Bancos de Dados. No novo banco de dados SQL do Azure Synapse, selecione Novo script SQL e, em seguida, Script vazio.

    Captura de tela que mostra como criar um script SQL vazio no Synapse Studio.

  5. Para criar a chave mestra para o banco de dados SQL do Azure Synapse de destino, cole o script a seguir e selecione Executar.

    CREATE MASTER KEY
    

Criar um serviço vinculado para o banco de dados do SQL Server 2022 de origem

  1. Selecione o botão Gerenciar do hub e selecione Serviços vinculados.

    Vá até os serviços vinculados do Synapse Studio.

  2. Pressione Novo, selecione SQL Server e selecione Continuar.

    Captura de tela que mostra como criar um serviço vinculado do SQL Server.

  3. Na caixa Nome, insira o nome do serviço vinculado do SQL Server 2022.

    Captura de tela que mostra onde inserir os nomes do servidor e do banco de dados para se conectar.

    Observação

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

  4. Ao escolher o runtime de integração, selecione o runtime de integração auto-hospedada. Se o workspace do Azure Synapse não tiver um runtime de integração auto-hospedada, crie um.

  5. (Opcional) Para criar um runtime de integração auto-hospedada para conectar ao SQL Server 2022 de origem, faça o seguinte:

    a. Selecione Novo.

    Captura de tela que mostra como criar um runtime de integração auto-hospedada.

    b. Selecione Auto-hospedada e Continuar.

    c. Na caixa Nome, insira o nome do runtime de integração auto-hospedada e selecione Criar.

    Captura de tela que mostra onde inserir um nome para o runtime de integração auto-hospedada.

    Agora, um runtime de integração auto-hospedada está disponível no seu workspace do Azure Synapse.

    d. Siga os prompts para baixar, instalar e usar a chave para registrar o agente do runtime de integração em seu computador Windows, que tem acesso direto à instância do SQL Server 2022. Para obter mais informações, consulte Criar um runtime de integração auto-hospedada – Azure Data Factory e Azure Synapse.

    Captura de tela que mostra onde baixar, instalar e registrar o runtime de integração.

    e. Selecione Fechar.

    Obter o status do runtime de integração.

    f. Vá para a página de monitoramento e verifique se o runtime de integração auto-hospedada está em execução selecionando Atualizar para obter o status mais recente do runtime de integração.

  6. Continue inserindo as informações restantes no serviço vinculado, incluindo Nome do SQL Server, Nome de banco de dados, Tipo de autenticação, Nome de usuário e Senha para se conectar sua instância do SQL Server 2022.

    Observação

    Recomendamos que você habilite a criptografia nessa conexão. Para fazer isso, adicione a propriedade Encrypt com um valor de true como uma propriedade de conexão adicional. Defina também a propriedade Trust Server Certificate como true ou false, dependendo da configuração do servidor. Para obter mais informações, confira Habilitar conexões criptografadas para o mecanismo de banco de dados.

  7. Selecione Testar Conexão para garantir que o runtime de integração auto-hospedada possa ser acessado na instância do SQL Server.

  8. Selecione Criar.

    Seu novo serviço vinculado será conectado à instância do SQL Server 2022 que está disponível no workspace.

    Captura de tela que mostra onde exibir a conexão do serviço vinculado.

    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.

Criar um serviço vinculado para se conectar à zona de destino no Azure Data Lake Storage Gen2

  1. Acesse sua conta recém-criada do Azure Data Lake Storage Gen2, selecione Controle de Acesso (IAM), +Adicionar e Adicionar atribuição de função.

    Captura de tela do painel 'Controle de Acesso (IAM)' da conta do Data Lake Storage Gen2.

  2. Selecione Colaborador de Dados do Blob de Armazenamento para a função escolhida, selecione Identidade gerenciada e, em Membros, selecione o workspace do Azure Synapse. Adicionar essa atribuição de função pode levar alguns minutos.

    Captura de tela que mostra como adicionar uma atribuição de função.

    Observação

    Verifique se você concedeu à identidade gerenciada do workspace do Azure Synapse permissões para a conta de armazenamento do Azure Data Lake Storage Gen2 usada como zona de destino. Para saber mais, consulte Conceder permissões a uma identidade gerenciada no workspace do Azure Synapse – Azure Synapse Analytics.

  3. Abra o hub Gerenciar no workspace do Azure Synapse e navegue até Serviços vinculados.

    Captura de tela que mostra como ir para o serviço vinculado.

  4. Selecione Novo e, em seguida, selecione Azure Data Lake Storage Gen2.

  5. Faça o seguinte:

    a. Na caixa Nome, insira o nome do serviço vinculado de sua zona de destino.

    b. Para Método de autenticação, insira Identidade Gerenciada.

    c. Selecione o Nome da conta de armazenamento, que já foi criada.

  6. Selecione Testar Conexão para garantir que você possa acessar sua conta do Azure Data Lake Storage Gen2.

  7. Selecione Criar.

    Seu novo serviço vinculado será conectado à conta do Azure Data Lake Storage Gen2.

    Captura de tela que mostra o novo serviço vinculado ao Azure Data Lake Storage Gen2.

    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.

  1. No Synapse Studio, abra o hub Integrar.

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

    Captura de tela que mostra o botão 'Conexão de link'.

  3. Insira o banco de dados de origem:

    a. Para Tipo de origem, selecione SQL Server.

    b, Para o Serviço vinculado de origem, selecione o serviço que se conecta à sua instância do SQL Server 2022.

    c. Para Nomes de tabela, selecione os nomes da instância do SQL Server a serem replicados para o pool de SQL do Azure Synapse.

    d. Selecione Continuar.

    Captura de tela que mostra onde inserir os detalhes do banco de dados de origem.

  4. Em Pools Dedicados de SQL do Synapse, selecione o nome de um banco de dados de destino.

  5. Selecione Continuar.

  6. Insira as configurações da conexão de link:

    a. Em Nome da conexão de link, insira o nome.

    b. Para Contagem de núcleos para a computação da conexão de link, insira o número de núcleos. Esses núcleos serão usados para a movimentação de dados da origem para o destino. Recomendamos que você comece com um número pequeno e aumente a contagem conforme necessário.

    c. Para Serviço vinculado, selecione o serviço que se conectará à zona de destino.

    d. Insira o nome do contêiner ou o nome do contêiner/pasta do Azure Data Lake Storage Gen2 como o caminho da pasta da zona de destino para preparar os dados. O contêiner precisa ser criado primeiro.

    e. Insira o token da assinatura de acesso compartilhado do Azure Data Lake Storage Gen2. O token é necessário para que o feed de alterações de SQL acesse a zona de destino. Se sua conta do Azure Data Lake Storage Gen2 não tiver um token de assinatura de acesso compartilhado, você poderá criar um selecionando Gerar token.

    f. Selecione OK.

    Captura de tela que mostra onde inserir as configurações de conexão de link.

    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 pool de SQL dedicado de destino. Caso você não consiga se conectar à zona de destino usando o token SAS gerado devido à limitação do armazenamento, tente também usar o token SAS de delegação para se conectar à zona de destino.

  7. Com a nova conexão do Link do Azure Synapse aberta, 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 para o tipo de estrutura quando os dados contiverem varchar(max), nvarchar(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.
  8. Na lista suspensa Ação na tabela de destino existente, escolha a opção mais apropriada para 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.

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

  10. 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 SQL Server 2022. 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. Acesse o Hub do monitor do workspace do Azure Synapse e selecione Vincular conexões.

  2. Abra a conexão de link iniciada e veja o status de cada tabela.

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

    Monitorar a conexão vinculada.

Consultar os dados replicados

Aguarde alguns minutos e verifique se o banco de dados de destino tem a tabela e os dados esperados. Observe os dados disponíveis no armazenamento de destino do pool dedicado de SQL do Azure Synapse. 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 (Microsoft SQL Server Management Studio) 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 conectar por meio de SSMS ou outras ferramentas.

Para adicionar ou remover tabelas 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. 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, considere usar pausa/retomada em vez de parar/iniciar ou limpar as tabelas de destino antes de reiniciar a conexão de link.

Girar o token de assinatura de acesso compartilhado para a zona de destino

Um token de assinatura de acesso compartilhado é necessário para que o feed de alterações do SQL obtenha acesso à zona de destino e efetue push de dados lá. Ele tem uma data de validade, portanto, você precisa girar o token antes dessa data. Caso contrário, o Link do Azure Synapse falhará ao replicar os dados da instância do SQL Server para o pool dedicado de SQL do Azure Synapse.

  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 Alternar token.

    Captura de tela que mostra onde girar um token de assinatura de acesso compartilhado.

  4. Para obter o novo token de assinatura de acesso compartilhado, selecione Gerar automaticamente ou Inserir manualmente e, em seguida, selecione OK.

    Captura de tela que mostra como obter um novo token de assinatura de acesso compartilhado.

    Observação

    Caso você não consiga se conectar à zona de destino usando o token SAS gerado devido à limitação do armazenamento, tente também usar o token SAS de delegação para se conectar à zona de destino.

Próximas etapas

Se você estiver usando um banco de dados diferente do SQL Server 2022, confira: