Compartilhar via


Tutorial: Configurar bancos de dados espelhados no Microsoft Fabric a partir do Azure SQL Managed Instance

Espelhamento no Fabric é uma tecnologia SaaS corporativa, baseada em nuvem, sem ETL. Nesta seção, você aprenderá a criar um banco de dados Azure SQL Managed Instance espelhado, que representa uma cópia somente leitura e replicada continuamente do banco de dados escolhido de seu Azure SQL Managed Instance no OneLake.

Pré-requisitos

Habilitar o SAMI (Identidade Gerenciada Atribuída pelo Sistema) do seu Azure SQL Managed Instance

O SAMI (Identidade Gerenciada Atribuída pelo Sistema) de seu Azure SQL Managed Instance deve ser habilitado e deve ser a identidade primária para publicar dados no Fabric OneLake.

  1. Para configurar ou verificar se o SAMI está habilitado, vá para o SQL Managed Instance no portal Azure. Em Segurança, no meu de recursos, selecione Identidade.
  2. Em seguida, em Identidade gerenciada atribuída pelo sistema, selecione a opção Status como Ativado.
  3. A SAMI deve ser a identidade primária. Verifique se o SAMI é a identidade primária com a seguinte consulta T-SQL: SELECT * FROM sys.dm_server_managed_identities;

Principal do banco de dados para o Fabric

Em seguida, você precisa criar uma maneira para que o serviço fabric se conecte ao seu Azure SQL Managed Instance.

Você pode fazer isso com um login e um usuário de banco de dados mapeado. Seguindo o princípio do privilégio mínimo de segurança, você só deve conceder permissão CONTROL DATABASE no banco de dados que pretende espelhar.

Usar um login e um usuário mapeado do banco de dados

  1. Conecte-se ao seu Azure SQL Managed Instance usando SQL Server Management Studio (SSMS) ou a extensão MSSQL para Visual Studio Code. Conecte-se ao banco de dados master.

  2. Crie um logon de servidor e atribua permissões corretas.

    As permissões necessárias para o logon do Fabric são:

    • As seguintes permissões no banco de dados do usuário:

      • SELECT
      • ALTERAR QUALQUER ESPELHO EXTERNO
      • EXIBIR O ESTADO DE DESEMPENHO DO BANCO DE DADOS
      • EXIBIR O ESTADO DE SEGURANÇA DO BANCO DE DADOS
    • Crie um logon autenticado do SQL. Você pode escolher qualquer nome para esse logon, substituí-lo no script a seguir.<fabric_login> Forneça sua própria senha forte. Execute o seguinte script T-SQL no banco de dados master:

    CREATE LOGIN <fabric_login> WITH PASSWORD = '<strong password>';
    
    • Ou crie um login autenticado do Microsoft Entra ID a partir de uma conta existente. Execute o seguinte script T-SQL no banco de dados master:
    CREATE LOGIN [bob@contoso.com] FROM EXTERNAL PROVIDER;
    
  3. Alterne o escopo da consulta para o banco de dados que você deseja espelhar. Substitua pelo nome do seu banco de dados em <mirroring_source_database> e execute o seguinte T-SQL:

    USE [<mirroring_source_database>];
    
  4. Crie um usuário de banco de dados conectado ao logon. Substitua o nome de um novo usuário de banco de dados para esta finalidade por <fabric_user>:

    CREATE USER [fabric_user] FOR LOGIN [fabric_login];
    GRANT SELECT, ALTER ANY EXTERNAL MIRROR, VIEW DATABASE PERFORMANCE STATE, VIEW DATABASE SECURITY STATE TO [fabric_user];
    
    • Ou, para um logon autenticado Microsoft Entra:
    CREATE USER [bob@contoso.com] FOR LOGIN [bob@contoso.com];
    GRANT SELECT, ALTER ANY EXTERNAL MIRROR, VIEW DATABASE PERFORMANCE STATE, VIEW DATABASE SECURITY STATE TO [bob@contoso.com];
    

Criar um banco de dados espelhado no Azure SQL Managed Instance

  1. Abra o portal do Fabric.
  2. Crie um novo espaço de trabalho ou use um existente.
  3. Navegue até o painel Criar. Selecione o ícone Criar.
  4. Role até a seção Data Warehouse e selecione Mirrored Azure SQL Managed Instance.

Conecte-se ao seu Azure SQL Managed Instance

Para habilitar o Espelhamento, você precisa se conectar ao Azure SQL Managed Instance do Fabric para iniciar a conexão entre o SQL Managed Instance e o Fabric. As etapas a seguir orientam você pelo processo de criação da conexão com seu Azure SQL Managed Instance:

  1. Em As novas fontes, selecione Azure SQL Managed Instance. Ou selecione uma conexão Azure SQL Managed Instance existente no catálogo do OneLake.
    1. Você não pode usar conexões de Azure SQL Managed Instance existentes com o tipo "SQL Server" (tipo de conexão genérica). Apenas conexões do tipo "SQL Managed Instance" são suportadas para o espelhamento de dados do Azure SQL Managed Instance.
  2. Se você selecionou A nova conexão, insira os detalhes da conexão para o Azure SQL Managed Instance. Você precisa se conectar a um banco de dados específico, não é possível configurar o espelhamento para toda a instância gerenciada de SQL e todos os seus bancos de dados.
    • Server: você pode encontrar o nome Server navegando até a página Azure SQL Managed Instance Networking no portal do Azure (no menu Segurança) e examinando o campo Ponto de Extremidade Público. Por exemplo, <managed_instance_name>.public.<dns_zone>.database.windows.net,3342.
    • Banco de dados: insira o nome do banco de dados que você deseja espelhar.
    • Conexão: crie uma nova conexão.
    • Nome da conexão: um nome automático é fornecido. Você pode alterá-la para facilitar a localização dessa conexão de banco de dados da instância gerenciada de SQL em um momento futuro, se necessário.
    • Gateway de dados: selecione o padrão (Nenhum) ou o nome do gateway de dados de rede virtual/gateway de dados local que você configurou de acordo com seu cenário.
    • Tipo de autenticação:
      • Básico (Autenticação sql): especifique o nome de usuário e a senha.
      • Conta da organização (Microsoft Entra ID)
      • Entidade de serviço: especifique a ID do locatário, a ID do cliente e o segredo do cliente da entidade de serviço.
  3. Selecione Conectar.

Iniciar o processo de espelhamento

  1. A tela Configurar espelhamento permite espelhar todos os dados no banco de dados, por padrão.

    • Espelhar todos os dados significa que todas as novas tabelas criadas após o Espelhamento ser iniciado serão espelhadas.

    • Opcionalmente, escolha apenas alguns objetos para espelhar. Desative a opção Espelhar todos os dados e selecione tabelas individuais do banco de dados.

    • Se as tabelas não puderem ser espelhadas, elas mostrarão um ícone de erro e um texto de explicação relevante. Da mesma forma, se as tabelas só puderem espelhar com limitações, um ícone de aviso será mostrado com texto explicativo relevante.

    Para este tutorial, selecionamos a opção Espelhar todos os dados.

  2. Na próxima tela, dê um nome ao item de destino e selecione Criar banco de dados espelhado. Agora aguarde um minuto ou dois para o Fabric provisionar tudo para você.

  3. Após 2 a 5 minutos, selecione Monitorar replicação para ver o status.

  4. Após alguns minutos, o status deve mudar para Em execução, o que significa que as tabelas estão sendo sincronizadas.

    Se você não vir as tabelas e o status de replicação correspondente, aguarde alguns segundos e atualize o painel.

  5. Quando a cópia inicial das tabelas for concluída, uma data será exibida na última coluna de atualização .

  6. Agora que seus dados estão em funcionamento, há vários cenários de análise disponíveis em todo o Fabric.

Importante

Qualquer segurança granular estabelecida no banco de dados de origem deve ser configurada novamente no banco de dados espelhado em Microsoft Fabric.

Monitorar o espelhamento do Fabric

Depois que o espelhamento estiver configurado, você será direcionado para a página Status do espelhamento. Aqui, é possível monitorar o estado atual da duplicação.

Estes são os estados de replicação:

  • Para monitoramento geral no nível do banco de dados:

    • Em execução – a replicação está em execução trazendo instantâneos e dados de alterações ao OneLake.
    • Execução com aviso: a replicação está em execução, com erros transitórios
    • Parando/Parado – A replicação é interrompida.
    • Erro – erro fatal na replicação que não pode ser recuperado.
  • Para monitoramento em nível de tabela:

    • Execução – os dados da tabela estão sendo replicados com êxito no warehouse.
    • Execução com aviso – Aviso de erro não fatal com replicação dos dados da tabela
    • Parando/Interrompido - A replicação foi interrompida
    • Erro – erro fatal na replicação dessa tabela.

Se a sincronização inicial for concluída, um carimbo de data/hora da última conclusão será mostrado ao lado do nome da tabela. Esse carimbo de data/hora indica a hora em que o Fabric verificou a tabela pela última vez em busca de alterações.

Além disso, observe a coluna Linhas replicadas. Ele conta todas as linhas que foram replicadas para a tabela. Cada vez que uma linha é replicada, ela é contada novamente. Isso significa que, por exemplo, inserir uma linha com chave primária =1 na origem aumenta a contagem de "Linhas replicadas" em um. Se você atualizar a linha com a mesma chave primária, será replicada novamente para o Fabric e a contagem de linhas aumentará em um, mesmo que seja a mesma linha replicada novamente. O Fabric conta todas as replicações ocorridas na linha de dados, incluindo inserções, exclusões e atualizações.

A tela de replicação do Monitor também reflete erros e avisos com tabelas sendo espelhadas. Se a tabela tiver tipos de coluna sem suporte ou se a tabela inteira não tiver suporte (por exemplo, em índices columnstore ou memória), uma notificação sobre a limitação será mostrada nesta tela. Para obter mais informações e detalhes sobre os estados de replicação, consulte Monitorar a replicação espelhada do banco de dados Fabric.