Adicionar SQL Server na fonte de VM DB (CDC) a um fluxo de eventos

Este artigo mostra-lhe como adicionar uma fonte SQL Server no VM DB Change Data Capture (CDC) a um fluxo de eventos.

O conector fonte SQL Server on VM DB (CDC) para fluxos de eventos Fabric permite capturar um instantâneo dos dados atuais numa base de dados SQL Server numa VM. Atualmente, o SQL Server em VM DB (CDC) é suportado pelos seguintes serviços onde as bases de dados podem ser acedidas publicamente:

Nota

O Amazon Web Services (AWS) RDS SQL Server, AWS RDS Custom SQL Server e Google Cloud SQL SQL Server não suportam a versão Express. Certifica-te de que estás a usar uma edição adequada do SQL Server para CDC.

Uma vez que o código-fonte do SQL Server no VM DB (CDC) é adicionado ao fluxo de eventos, monitoriza e regista futuras alterações ao nível da linha, que podem depois ser processadas em tempo real e enviadas para vários destinos para análise adicional.

Nota

Com o DeltaFlow (Pré-visualização), pode transformar eventos Debezium CDC brutos em fluxos prontos para análise que espelham a estrutura da sua tabela de fonte. O DeltaFlow automatiza o registo de esquemas, a gestão de tabelas de destino e o tratamento da evolução do esquema. Para usar o DeltaFlow, escolha eventos prontos para análises e esquema auto-atualizado durante a etapa de gestão do esquema.

Pré-requisitos

  • Acesso a um espaço de trabalho no modo de licença de capacidade Fabric ou no modo de licença de teste, com permissões de contribuidor ou superiores.
  • A executar SQL Server numa base de dados de máquina virtual.
  • O seu SQL Server na base de dados da VM deve estar configurado para permitir acesso público. Se residir numa rede protegida, conecte-se a ela usando a injeção virtual de rede do conector Eventstream.
  • Ative o CDC na sua base de dados SQL Server em VM executando o procedimento armazenado sys.sp_cdc_enable_db. Para obter detalhes, consulte Habilitar e desabilitar a captura de dados de alteração.

Ative o CDC no seu SQL Server na base de dados da VM

  1. Ativar o CDC para o banco de dados.

    EXEC sys.sp_cdc_enable_db; 
    
  2. Ative o CDC para uma tabela usando uma opção de função de controlo de acesso. Neste exemplo, MyTable é o nome da tabela SQL.

    EXEC sys.sp_cdc_enable_table 
       @source_schema = N'dbo', 
       @source_name   = N'MyTable', 
       @role_name     = NULL 
    GO 
    

    Depois de a consulta ser executada com sucesso, ativaste o CDC no teu SQL Server na base de dados VM.

    Uma captura de tela mostrando que o CDC está ativado.

Adicionar SQL Server à base de dados da VM como fonte

Se ainda não adicionaste nenhuma fonte ao teu event stream, seleciona o mosaico Connect data sources . Também pode selecionar Adicionar fonte>Conectar fontes de dados na fita.

Captura de ecrã que mostra a seleção do tile para usar uma fonte externa.

Se estiveres a adicionar a fonte a um fluxo de eventos já publicado, muda para o modo Editar. Na fita, selecione Adicionar fonte>Ligar fontes de dados.

Captura de ecrã que mostra seleções para adicionar fontes externas.

Na página Selecione uma fonte de dados, pesquise e selecione Connect no bloco SQL Server na base de dados VM (CDC).

Configurar e ligar ao SQL Server numa base de dados VM

Ingerir dados de alterações do SQL Server em bases de dados VM com registo automático de esquemas de tabela via CDC no Eventstream.

Nota

DeltaFlow (Visualização): Quando seleciona eventos prontos para análise e esquema auto-atualizado na etapa de gestão do esquema, o DeltaFlow transforma os eventos brutos do Debezium CDC em fluxos prontos para análise que espelham a estrutura da sua tabela de origem. A DeltaFlow também automatiza a criação de tabelas de destino e o tratamento da evolução de esquemas.

  1. Na página Conectar, selecione Nova conexão.

    Captura de tela que mostra a seleção do link Nova conexão na página Conectar.

  2. Na secção Definições de Ligação, introduza os seguintes valores para o seu SQL Server na VM:

    • Servidor: Introduza o endereço IP ou o nome de domínio da sua VM, e depois adicione dois pontos e a porta. Por exemplo, se o seu endereço IP é xx.xxx.xxx.xxx e a porta é 1433, então você deve entrar xx.xxx.xxx.xxx:1433 no campo Servidor . Se a porta não for especificada, o valor 1433 da porta padrão será usado.

    • Database: Introduza o nome da base de dados à qual quer ligar-se na sua SQL Server na VM.

      Captura de ecrã que mostra a secção Configurações de Conexão da página de Conexão.

  3. Role para baixo e, na seção Credenciais de conexão, siga estas etapas.

    • Em Nome da conexão, insira um nome para a conexão.

    • Em Tipo de autenticação, selecione Básico.

      Nota

      Atualmente, Fabric Eventstream suporta apenas autenticação Basic.

    • Introduza Username e Password para a SQL Server na VM.

      Nota

      Não selecione a opção: Usar conexão criptografada.

      Captura de ecrã que mostra a secção das Credenciais de ligação da página de ligação.

  4. Selecione Conectar na parte inferior da página.

  5. Agora, na página Conectar, selecione Todas as tabelas ou Digite o(s) nome(s) da(s) tabela(s). Se você selecionar o último, especifique tabelas usando uma lista separada por vírgulas de identificadores de tabela completos (schemaName.tableName) ou expressões regulares válidas. Por exemplo:

    • Use dbo.test.* para selecionar todas as tabelas cujos nomes comecem com dbo.test.
    • Use dbo\.(test1|test2) para selecionar dbo.test1 e dbo.test2.

    Você pode misturar ambos os formatos usando vírgulas. O limite total de caracteres para toda a entrada é de 102.400 caracteres.

  6. Você pode expandir Configurações avançadas para configurar o modo de manipulação decimal, que especifica como o conector manipula os valores das colunas DECIMAL e NUMERIC.

    • Precise: Representa valores usando tipos decimais exatos (por exemplo, Java BigDecimal) para garantir total precisão e exatidão na representação dos dados.
    • Double: Converte valores em números de vírgula flutuante de precisão dupla. Esta definição melhora a usabilidade e o desempenho, mas pode resultar numa perda de precisão.
    • String: Codifica valores como cadeias de caracteres formatadas. Esta configuração torna-os fáceis de consumir em sistemas a jusante, mas perde a informação semântica sobre o tipo numérico original.

Detalhes do fluxo ou da fonte

  1. Na página de Conectar , siga um destes passos consoante se está a usar o Eventstream ou Real-Time hub.

    • Eventstream:

      No painel de detalhes de origem à direita, siga estes passos:

      1. Para o nome da Fonte, selecione o botão Lápis para alterar o nome.

      2. Note que o nome do Eventstream e o nome do Stream são apenas de leitura.

    • Real-Time hub:

      Na seção Detalhes do fluxo à direita, siga estas etapas:

      1. Selecione o espaço de trabalho Fabric onde quer criar o fluxo de eventos.

      2. Para o nome do Eventostream, selecione o botão Pencil e insira um nome para o eventostream.

      3. O valor nome do Stream é gerado automaticamente ao adicionar -stream ao nome do eventstream. Este fluxo aparece na página Todos os fluxos de dados do hub em tempo real quando o assistente termina.

  2. Selecione Seguinte no final da página de Configurar .

Revise e conecte-se

No ecrã Revisão + ligar, reveja o resumo e selecione Adicionar (Eventstream) ou Ligar (Real-Time Hub).

Página de tratamento de esquemas

  1. No passo de tratamento do Esquema , escolha uma das seguintes opções:

    • Eventos prontos para análise e esquema atualizado automaticamente (DeltaFlow Preview): O conector transforma eventos CDC brutos em fluxos prontos para análise que espelham a estrutura da sua tabela de fonte. O DeltaFlow enriquece os eventos com metadados como tipo de alteração (inserir, atualizar ou eliminar) e carimbos temporais, e gere automaticamente tabelas de destino e evolução do esquema.
    • Eventos brutos do CDC: O conector ingere e disponibiliza os eventos brutos do CDC. Opcionalmente, o conector pode descobrir automaticamente esquemas de tabela e registá-los no registo de esquemas. Use esta opção quando quiser sensibilidade ao esquema sem transformação DeltaFlow.

    Nota

    A captura de ecrã seguinte mostra o Azure SQL Database CDC. As opções de tratamento de esquemas são as mesmas para todos os conectores de origem CDC suportados.

    Captura de ecrã que mostra o passo de manipulação de esquema com as opções de evento DeltaFlow e Raw CDC para um conector de origem CDC.

  2. Habilite a associação de esquema de eventos.

  3. Para Workspace, selecione um Fabric workspace para o conjunto de esquemas.

  4. Para Conjunto de esquemas, + Criar é selecionado por padrão, o que cria um novo conjunto de esquemas. Você pode alterá-lo para selecionar um conjunto de esquemas de eventos existente.

  5. Se você selecionou a opção + Criar na etapa anterior, insira um nome para o conjunto de esquemas.

  6. No ecrã Revisão + criar , reveja o resumo e selecione Adicionar (Eventstream) ou Conectar (Real-Time hub).

    Captura de tela que mostra a seleção do botão Adicionar.

    Para todas as tabelas ou tabelas selecionadas na base de dados do SQL Server na VM, o conector descobre e cria automaticamente esquemas, registando-os no registo de esquemas.

DeltaFlow: Transformação de eventos pronta para análises (Pré-visualização)

Quando ativa eventos prontos para análise e esquema atualizado automaticamente (DeltaFlow), o conector fornece as seguintes capacidades:

  • Forma de evento pronta para análise: Os eventos Debezium Raw CDC são transformados num formato tabular que espelha a estrutura da tabela de origem. Os eventos são enriquecidos com colunas de metadados incluindo o tipo de alteração (insert, update, ou delete) e o carimbo temporal do evento.
  • Gestão automática de tabelas de destino: Quando encaminha fluxos habilitados com DeltaFlow para um destino suportado, como uma casa de eventos, as tabelas de destino são criadas automaticamente para corresponder ao esquema da tabela de origem. Não precisas de criar ou configurar tabelas de destino manualmente.
  • Gestão da evolução do esquema: Quando as tabelas da base de dados de origem mudam (por exemplo, novas colunas são adicionadas ou criadas tabelas), a DeltaFlow deteta automaticamente as alterações, atualiza os esquemas registados e ajusta as tabelas de destino em conformidade. Esta funcionalidade minimiza a intervenção manual causada por alterações no esquema.

Nota

O DeltaFlow (Preview) é atualmente compatível com os conectores de fonte Azure SQL Database CDC, Azure SQL Managed Instance CDC, SQL Server on VM CDC e PostgreSQL CDC.

Para detalhes sobre como o DeltaFlow transforma eventos CDC brutos em resultados prontos para análise, incluindo tipos de operações e colunas de metadados, veja transformação de saída do DeltaFlow.

Ver fluxo de eventos atualizado

Pode ver a SQL Server na fonte CDC da base de dados VM adicionada ao seu fluxo de eventos no modo Edit.

Uma captura de ecrã da SQL Server adicionada na fonte CDC da base de dados VM em modo Editar com funcionalidades estendidas.

Para implementar esta SQL Server recentemente adicionada na fonte CDC da base de dados VM, selecione Publish. Depois de completares estes passos, o teu SQL Server na fonte CDC da base de dados VM fica disponível para visualização na vista Live.

Uma captura de ecrã do SQL Server adicionado na fonte CDC da base de dados VM em modo de visualização ao vivo com funcionalidades estendidas.

Configurar destinos Eventstream para usar esquemas

Atualmente, apenas o Eventhouse, endpoints personalizados e destinos de stream derivados são suportados para Eventstreams que possuem esquemas associados. Esta seção mostra como adicionar e configurar um destino Eventhouse quando recursos estendidos (como suporte a esquema) estão habilitados para o fluxo de eventos.

Nota

Quando utiliza DeltaFlow (Preview) com uma fonte de Captura de Dados de Alteração (CDC) suportada, as tabelas de destino no Eventhouse são automaticamente criadas e geridas para corresponder à estrutura da tabela de origem. Não precisas de configurar manualmente o esquema da tabela de destino. O DeltaFlow também gere automaticamente a evolução do esquema quando as tabelas de origem mudam.

Configure um esquema para um destino de endpoint personalizado

  1. Selecione Transformar eventos ou adicionar destino, e depois selecione CustomEndpoint.

  2. No painel Endpoint Personalizado, especifique um nome para o destino.

  3. Em Esquema de entrada, selecione o esquema para eventos. Faz uma seleção nesta caixa ao ativar o suporte para esquemas para um stream de eventos.

Captura de ecrã que mostra o painel para configurar um endpoint personalizado.

Para obter etapas detalhadas sobre como configurar um destino de ponto de extremidade personalizado, consulte Adicionar um ponto de extremidade personalizado ou um destino de aplicativo personalizado a um fluxo de eventos.

Configurar esquemas para um destino de eventos

  1. Selecione Transformar eventos ou adicionar destino e, em seguida, selecione Casa de eventos.

  2. No painel do Eventohouse , configure as seguintes definições relacionadas com o esquema:

    1. Para o esquema de entrada, selecione um ou mais esquemas da lista suspensa.

      Captura de ecrã que mostra o painel de configuração do Eventhouse com um esquema de entrada selecionado.

      Nota

      Se selecionou a opção Esquema Dinâmico via cabeçalhos ao configurar uma fonte de Event Hubs, pode ter configurado múltiplos esquemas para a fonte e mapeado-os para várias propriedades e seus valores.

    2. Para o método de criação de tabelas, selecione uma única tabela com todos os esquemas combinados ou tabelas separadas para cada esquema, dependendo das suas necessidades.

      Captura de ecrã que mostra o painel de configuração do Eventhouse com métodos de criação de tabelas.

    3. Em Gravar dados com, selecione uma das seguintes opções:

      • Payload apenas: Inserir os dados extraídos do payload na tabela. Se houver vários esquemas de entrada, os dados serão enviados para várias tabelas.
      • Metadados e carga útil: escreva metadados e dados de carga útil em uma única tabela. Colunas de exemplo incluem source , subject, type, e data.

      Captura de ecrã que mostra o painel de configuração da casa do evento com as opções para escrever dados.

Para passos detalhados na configuração de um destino de casa de eventos, consulte Adicionar um destino de casa de eventos a um fluxo de eventos.

Veja a saída pronta para análises do DeltaFlow (Pré-visualização)

Se ativaste eventos prontos para Analytics e esquema atualizado automaticamente (DeltaFlow), as tabelas de destino são automaticamente criadas numa forma que espelha as tabelas da tua base de dados de origem. Cada tabela inclui as colunas originais juntamente com colunas de metadados para o tipo de alteração e carimbo temporal.

Nota

A captura de ecrã seguinte mostra o Azure SQL Database CDC. A saída da tabela de destino DeltaFlow é a mesma para todos os conectores de fonte CDC suportados.

Captura de ecrã que mostra as tabelas de destinos Eventhouse criadas pela DeltaFlow em formato pronto para análise.

Pode consultar estas tabelas usando a Linguagem de Consulta Kusto (KQL) ou outras ferramentas de análise sem precisar de analisar cargas úteis Debezium CDC brutas.

Outros conectores: