Migrar logons e grupos do SQL
Para uma transição perfeita e segura de seus bancos de dados do SQL Server para o SQL do Azure, é essencial entender e gerenciar efetivamente a migração de informações de segurança.
Decidir quando migrar logons e grupos do SQL
Imagine uma grande organização com uma infraestrutura de SQL Server local substancial que atende a várias unidades de negócios. Cada unidade de negócios tem seu próprio conjunto de logons do SQL, funções de usuário e permissões personalizadas para suas necessidades específicas. A organização decide migrar esses bancos de dados para Banco de Dados SQL do Azure para usar os benefícios de escalabilidade da nuvem.
Nesse cenário, migrar os logons antecipadamente, antes da migração do banco de dados, pode introduzir complexidade desnecessária à fase de teste.
A migração de logons no final de um projeto de migração de banco de dados pode facilitar o teste, especialmente em cenários complexos. Se os logons forem migrados antecipadamente, isso poderá levar a atrasos de teste devido à evolução dos esquemas de banco de dados. Aguardar para migrar logons permite que as configurações de segurança se alinhem com a estrutura final, simplificando o processo de migração, especialmente quando a segurança dependente de tabela é crucial para a proteção de dados.
Desafios | Explicação |
---|---|
Estrutura de permissões complexas | Migrar logons posteriormente permite a adaptação de permissões à medida que a estrutura do banco de dados evolui durante a migração. |
Atrasos de teste | Migrar logons antecipadamente pode retardar o teste, complicando a validação de segurança junto com as alterações de esquema. |
Segurança dependente de tabela | Atrasar a migração de logon permite ajustar as configurações de segurança para corresponder às estruturas finais do banco de dados se elas forem alteradas durante a migração. |
Em nosso cenário, essa abordagem permite que você se concentre em garantir que as medidas de segurança se alinhem perfeitamente com a estrutura de banco de dados finalizada, reduzindo possíveis complicações e tornando o projeto de migração mais gerenciável.
Usando a extensão de Migração do Azure
Como parte das tarefas pós-migração, você pode usar a extensão de migração do Azure no Azure Data Studio para migrar logons e funções de servidor do SQL Server local para o destino SQL do Azure. Essa experiência de migração de logon automatiza tarefas manuais, como a sincronização de logons com seus mapeamentos de usuário correspondentes e a replicação de permissões de servidor e funções de servidor.
Atualmente, a extensão de migração dá suporte a uma Instância Gerenciada de SQL do Azure ou SQL Server somente em destinos de VM do Azure.
- Instância Gerenciada de SQL do Azure – contas do Windows e logons do SQL.
- SQL Server na VM do Azure – somente logons do SQL
Se você ainda não concluiu a migração de banco de dados e o processo de migração de logon for iniciado, a migração de logons e funções de servidor ainda ocorrerá, mas os mapeamentos de logon/função não serão executados corretamente. Esse processo de migração de logon automatiza tarefas manuais, incluindo sincronizar logons com seus mapeamentos de usuário associados e replicar permissões e funções de servidor.
Você pode usar a extensão de migração SQL do Azure para Azure Data Studio, o PowerShell ou a CLI do Azure para iniciar o processo de migração de logon.
Siga estas etapas para migrar logons usando a extensão de migração no Azure Data Studio:
Inicie a extensão de migração do SQL do Azure a partir do Azure Data Studio e inicie o assistente de migração de logon do SQL Server.
Na Etapa 1: destino do SQL do Azure, conecte-se ao seu destino do SQL do Azure.
Na Etapa 2: selecione logons para migrar, selecione seus logons na instância de SQL Server de origem.
Na Etapa 3: Status da Migração, monitore o processo de migração de logon. Quando a migração de logon for concluída (ou se houver falhas), a página exibirá as atualizações relevantes.
Uso do AMD
Como parte da migração de logon, o Assistente de Migração de Dados atribui as permissões aos protegíveis no SQL Server de destino, pois eles existem no SQL Server de origem. Se o logon já existir no SQL Server de destino, o Assistente de Migração de Dados migrará apenas as permissões atribuídas aos protegíveis e não recriará todo o logon. O Assistente de Migração de Dados fará o melhor esforço para mapear o logon para usuários de banco de dados se o logon já existir no servidor de destino.
O Assistente de Migração de Dados atualmente não dá suporte a:
- Logons associados a um certificado de segurança autônomo (logons mapeados para certificado)
- Uma chave assimétrica autônoma (logons mapeados para chave assimétrica)
- Logons mapeados para credenciais.
- Por padrão, Assistente de Migração de Dados seleciona todos os logons qualificados a serem migrados. Opcionalmente, você pode selecionar logons específicos para migrate1.
Observação
Embora o Assistente de Migração de Banco de Dados seja uma ferramenta útil disponível, é recomendável usar o Serviço de Migração de Banco de Dados do Azure para grandes migrações e uma experiência geral avançada, que está disponível como extensão de Migração de SQL do Azure para o Azure Data Studio por meio do Portal do Azure ou do Azure PowerShell e da CLI do Azure.
Script MoveLogins
O script MoveLogins auxilia na transferência de informações de logon de SQL Servers locais para Banco de Dados SQL do Azure ou outras ofertas de PaaS.
Embora o Assistente de Migração de Dados (DMA) tenha a capacidade de transferir informações de segurança e faça um grafo de dependência completo para garantir que as permissões sejam transferidas corretamente, o script MoveLogins fornece uma opção extra. Ele permite uma pesquisa do Active Directory para os usuários, permitindo que você obtenha o nome UPN, um recurso atualmente incompatível com o Assistente de Migração de Dados da Microsoft.
O script, escrito no PowerShell, gera um script T-SQL que pode ser aplicado ao ambiente SQL de destino para transferir logons, usuários de banco de dados, funções e permissões. Ele não executa os comandos no ambiente de destino. Você precisa examinar cuidadosamente a saída de script gerada antes de aplicá-la ao ambiente de destino.
O script gera resultados diferentes dependendo se você estiver usando Banco de Dados SQL do Azure ou Instância Gerenciada de SQL do Azure. No Banco de Dados SQL do Azure, você não pode criar logons do Microsoft Entra e usuários de banco de dados relacionados; em vez disso, os usuários do Microsoft Entra são criados no nível do banco de dados. Para a Instância Gerenciada de SQL do Azure, é semelhante ao SQL Server local com logons no nível do servidor e usuários de banco de dados.
Observação
Sugerimos começar com uma ferramenta de migração dedicada, como a extensão de Migração do Azure, para transferir logons. Se você encontrar problemas com essas ferramentas recomendadas, poderá considerar métodos alternativos, como usar o script MoveLogins.