Partilhar via


Tutorial: Configurar bases de dados espelhadas Microsoft Fabric a partir do Azure SQL Managed Instance

O espelhamento no Fabric é uma tecnologia SaaS empresarial, baseada na nuvem e sem necessidade de ETL. Nesta secção, aprende a criar uma base de dados espelhada Azure SQL Managed Instance, que representa uma cópia apenas de leitura e replicada continuamente da base de dados escolhida a partir da sua Azure SQL Managed Instance no OneLake.

Pré-requisitos

Ative a identidade gerida atribuída pelo sistema (SAMI) da sua Azure SQL Managed Instance

A Identidade Gerida Atribuída ao Sistema (SAMI) da sua Azure SQL Managed Instance deve estar ativada, e deve ser a identidade principal, para publicar dados no Fabric OneLake.

  1. Para configurar ou verificar se o SAMI está ativado, aceda à sua SQL Managed Instance no portal do Azure. Em Segurança no menu de recursos, selecione Identidade.
  2. Em Identidade gerenciada atribuída ao sistema, selecione Status para Ativado.
  3. O SAMI deve ser a identidade principal. Verifique se o SAMI é a identidade principal com a seguinte consulta T-SQL: SELECT * FROM sys.dm_server_managed_identities;

Principal de base de dados para Fabric

De seguida, precisa de criar uma forma de o serviço Fabric se ligar à sua Azure SQL Managed Instance.

Você pode fazer isso com um login e utilizador mapeado de base de dados. Seguindo o princípio de menor privilégio para segurança, você só deve conceder permissão CONTROL DATABASE no banco de dados que você pretende espelhar.

Utilizar um utilizador de login e base de dados mapeada

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

  2. Crie um login de servidor e atribua as permissões apropriadas.

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

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

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

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

    USE [<mirroring_source_database>];
    
  4. Crie um usuário de banco de dados conectado ao login. Substitua o nome de um novo usuário do 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 login 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];
    

Crie uma base de dados com espelhamento no Azure SQL Managed Instance

  1. Abra o portal do Fabric.
  2. Use um espaço de trabalho existente ou crie um novo espaço de trabalho.
  3. Navegue até o painel Criar . Selecione o ícone Criar .
  4. Desloca-te até à secção Data Warehouse e depois seleciona Espelhado Azure SQL Managed Instance.

Ligue-se à sua Azure SQL Managed Instance

Para ativar o Mirroring, é necessário ligar-se à Azure SQL Managed Instance do Fabric para iniciar a ligação entre o SQL Managed Instance e o Fabric. Os passos seguintes guiam-no no processo de criação da ligação à sua Azure SQL Managed Instance:

  1. Em Novas fontes, selecione Azure SQL Managed Instance. Ou selecione uma ligação existente de Azure SQL Managed Instance no catálogo OneLake.
    1. Não podes usar ligações existentes do Azure SQL Managed Instance com o tipo "SQL Server" (tipo genérico de ligação). Apenas são suportadas ligações com o tipo de ligação "SQL Managed Instance" para espelhamento de dados do Azure SQL Managed Instance.
  2. Se selecionou Nova ligação, introduza os detalhes da ligação no 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 SQL e todos os seus bancos de dados.
    • Server: Pode encontrar o nome Server navegando até à página Azure SQL Managed Instance Networking no portal Azure (no menu Segurança) e consultando o campo Public Endpoint. 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á-lo para facilitar a localização dessa conexão de banco de dados de instância gerenciada 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 da entidade de serviço, a ID do cliente e o segredo do cliente.
  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 início do espelhamento serão espelhadas.

    • Opcionalmente, escolha apenas determinados 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 refletir com limitações, é apresentado um ícone de aviso 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 ou dois minutos para que o Fabric provisione 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 Executando, 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 estiver concluída, uma data aparecerá na coluna Última atualização .

  6. Agora que os 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 na base de dados de origem deve ser reconfigurada na base de dados espelhada no Microsoft Fabric.

Espelhamento de malha do monitor

Assim que o espelhamento estiver configurado, você será direcionado para a página de Status de Espelhamento. Aqui, você pode monitorar o estado atual da replicaçã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 no momento, trazendo instantâneos e dados de alteração para o OneLake.
    • Executando com aviso: A replicação está em execução, com erros transitórios
    • Parar/Parar – A replicação é interrompida.
    • Erro – Erro fatal na replicação que não pode ser recuperado.
  • Para monitorização ao nível da tabela:

    • Em execução – Os dados da tabela estão a ser replicados com êxito para o armazém.
    • Execução com aviso – Aviso de um erro não fatal com a replicação dos dados da tabela
    • Parar/Parar - A replicação foi interrompida
    • Erro – Erro fatal na replicação para essa tabela.

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

Além disso, observe a coluna Linhas replicadas . O programa 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, replicará para o Fabric novamente e a contagem de linhas aumentará em um, mesmo que seja a mesma linha replicada novamente. A estrutura conta todas as replicações que ocorreram na linha, incluindo inserções, exclusões e atualizações.

A tela de replicação do Monitor também reflete quaisquer erros e avisos com tabelas sendo espelhadas. Se a tabela tiver tipos de coluna sem suporte ou se a tabela inteira não for suportada (por exemplo, em índices de memória ou columnstore), 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 Replicação de banco de dados espelhado do Monitor Fabric.