Replicação para o Banco de Dados SQL do Azure
Aplica-se a: Banco de Dados SQL do Azure Banco de Dados SQL no Microsoft Fabric
Você pode configurar o Banco de Dados SQL do Azure ou o Banco de Dados SQL do Fabric como o assinante push em uma topologia de replicação transacional ou de instantâneo unidirecional do SQL Server e da Instância Gerenciada de SQL do Azure.
Observação
Este artigo descreve o uso da replicação transacional para enviar dados por push para o Banco de Dados SQL do Azure ou o Banco de Dados SQL do Fabric. Este artigo aplica-se igualmente ao Banco de Dados SQL do Azure e ao Banco de Dados SQL do Fabric, salvo indicação em contrário.
Ele não está relacionado à replicação geográfica ativa, um recurso de Banco de Dados SQL do Azure que permite criar réplicas legíveis completas de bancos de dados individuais.
Configurações com suporte
- O Banco de Dados SQL do Azure ou o Banco de Dados SQL do Fabric só podem ser o assinante push de um publicador e distribuidor do SQL Server.
- A instância de SQL Server atuando como editor e/ou distribuidor pode ser uma instância do SQL Server em execução local, uma Instância Gerenciada de SQL do Azure ou uma instância do SQL Server em execução em uma máquina virtual do Azure na nuvem.
- O banco de dados de distribuição e os agentes de replicação não podem ser colocados em um banco de dados no Banco de Dados SQL do Azure.
- Há suporte para instantâneo e replicação transacional unidirecional. Não há suporte para replicação transacional ponto a ponto nem e replicação de mesclagem.
Versões
Para replicar com êxito para um banco de dados no Banco de Dados SQL do Azure, editores do SQL Server e distribuidores devem estar usando (pelo menos) uma das seguintes versões:
A publicação de um Banco de Dados SQL do Azure de um banco de dados SQL Server é uma ação compatível com as seguintes versões do SQL Server:
- SQL Server 2016 e superiores
- SQL Server 2014 RTM CU10 (12.0.4427.24) ou SP1 CU3 (12.0.2556.4)
- SQL Server 2012 SP2 CU8 (11.0.5634.1) ou SP3 (11.0.6020.0)
Observação
A tentativa de configurar a replicação usando uma versão incompatível pode resultar no erro número MSSQL_REPL20084 (o processo não pôde se conectar ao assinante) e MSSQL_REPL40532 (Não é possível abrir o servidor <name> solicitado pelo logon. O logon falhou.).
Para usar todos os recursos do Banco de Dados SQL do Azure, você deve estar usando as versões mais recentes do SQL Server Management Studio (SSMS) e do SQL Server Data Tools.
Tipos de replicação
Existem diferentes tipos de replicação:
Replicação | Banco de Dados SQL do Azure | Instância Gerenciada do SQL do Azure |
---|---|---|
Transacional Padrão | Sim (somente como assinante) | Sim |
Instantâneo | Sim (somente como assinante) | Sim |
Replicação de mesclagem | Não | No |
Ponto a ponto | Não | Não |
Bidirecional | Não | Sim |
Assinaturas atualizáveis | Não | Número |
Comentários
- Há suporte apenas para assinaturas push no Banco de Dados SQL do Azure.
- Replicação pode ser configurada usando o SQL Server Management Studio ou executando instruções Transact-SQL no editor. Você não pode configurar a replicação usando o portal do Azure.
- Para autenticar:
- A replicação só pode usar logons de autenticação do SQL Server para se conectar ao Banco de Dados SQL do Azure.
- A replicação só pode usar a autenticação do Microsoft Entra ID com uma entidade de serviço para se conectar ao banco de dados SQL do Fabric.
- Tabelas replicadas devem ter uma chave primária.
- Você deve ter uma assinatura do Azure existente.
- O assinante de Banco de Dados SQL do Azure pode estar em qualquer região.
- Uma única publicação no SQL Server pode dar suporte a assinantes do Banco de Dados SQL do Azure e do SQL Server (local e SQL Server em uma máquina virtual do Azure).
- O gerenciamento de replicação, o monitoramento e a solução de problemas devem ser realizados por meio do SQL Server, em vez do Banco de Dados SQL do Azure.
- Há suporte apenas para
@subscriber_type = 0
nosp_addsubscription
Banco de Dados SQL. - O Banco de Dados SQL do Azure não oferece suporte para replicação bidirecional, imediata, atualizável ou ponto a ponto.
Arquitetura de replicação
Cenários
Cenário típico de replicação
- Crie uma publicação de replicação transacional em um banco de dados do SQL Server.
- No SQL Server, use o Assistente para Nova Assinatura ou instruções Transact-SQL para criar um push para assinatura para o Banco de Dados SQL do Azure.
- Com bancos de dados individuais e em pool no Banco de Dados SQL do Azure, o conjunto de dados inicial é um instantâneo criado pelo Agente de Instantâneo e distribuído e aplicado pelo Agente de Distribuição. Com um editor de Instância Gerenciada de SQL, você também pode usar um backup de banco de dados para propagar o assinante do Banco de Dados SQL do Azure.
Cenário de migração de dados
- Use a replicação transacional para replicar dados de um Banco de Dados SQL Server para o Banco de Dados SQL do Azure.
- Redirecione os aplicativos cliente ou de camada intermediária para atualizar a cópia do banco de dados.
- Interrompa a atualização da versão do SQL Server da tabela e remova a publicação.
Limitações
Replicação com as seguintes opções não tem suporte no Banco de Dados SQL do Azure:
- Copiar associação de grupos de arquivos
- Copiar esquemas de particionamento de tabela
- Copiar esquemas de particionamento de índice
- Copiar estatísticas definidas pelo usuário
- Copiar associações padrão
- Copiar associações de regra
- Copiar índices de texto completo
- Copiar XML XSD
- Copiar índices XML
- Permissões de cópia
- Copiar índices espaciais
- Copiar índices filtrados
- Copiar atributo de compactação de dados
- Copiar atributo de coluna esparsa
- Converter fluxo de arquivos em tipos de dados MAX
- Converter hierarchyid em tipos de dados MAX
- Converter espacial em tipos de dados MAX
- Copiar propriedades estendidas
Limitações a serem determinadas
- Copiar ordenação
- Execução em uma transação serializável do SP
Exemplos
Crie uma publicação e uma assinatura push. Para obter mais informações, consulte:
- Criar uma publicação
- Criar uma Assinatura Push usando o nome do servidor como assinante (por exemplo N'azuresqldbdns.database.windows.net' ) e o nome do Banco de Dados SQL do Azure como o banco de dados de destino (por exemplo, AdventureWorks).