Visão geral da continuidade dos negócios com o Banco de Dados SQL do AzureOverview of business continuity with Azure SQL Database

Continuidade dos negócios no Banco de Dados SQL do Azure refere-se aos mecanismos, políticas e procedimentos que permitem que seu negócio continue operando em caso de interrupção, particularmente em sua infraestrutura de computação.Business continuity in Azure SQL Database refers to the mechanisms, policies, and procedures that enable your business to continue operating in the face of disruption, particularly to its computing infrastructure. Na maioria dos casos, o Banco de Dados SQL do Azure lidará com os eventos de interrupção que podem acontecer no ambiente de nuvem e manterá seus aplicativos e processos empresariais em execução.In the most of the cases, Azure SQL Database will handle the disruptive events that might happen in the cloud environment and keep your applications and business processes running. No entanto, há alguns eventos de interrupção que não podem ser manipulados pelo Banco de Dados SQL como:However, there are some disruptive events that cannot be handled by SQL Database such as:

  • O usuário excluiu ou atualizou acidentalmente uma linha de uma tabela.User accidentally deleted or updated a row in a table.
  • Um invasor mal-intencionado conseguiu excluir dados ou remover um banco de dados.Malicious attacker succeeded to delete data or drop a database.
  • Terremoto causou uma interrupção de energia e datacenter temporário desabilitado.Earthquake caused a power outage and temporary disabled data-center.

Esses casos não podem ser controlados pelo Banco de Dados SQL do Azure, portanto, você precisaria usar os recursos de continuidade de negócios no Banco de Dados SQL que permite recuperar seus dados e manter seus aplicativos em execução.These cases cannot be controlled by Azure SQL Database, so you would need to use the business continuity features in SQL Database that enables you to recover your data and keep your applications running.

Esta visão geral descreve os recursos que o Banco de Dados SQL do Azure fornece para a continuidade dos negócios e a recuperação de desastre.This overview describes the capabilities that Azure SQL Database provides for business continuity and disaster recovery. Saiba mais sobre as opções, recomendações e tutoriais para recuperação de eventos com interrupção que poderiam causar a perda dos dados ou fazer com que o banco de dados e o aplicativo se tornassem indisponíveis.Learn about options, recommendations, and tutorials for recovering from disruptive events that could cause data loss or cause your database and application to become unavailable. Aprenda o que fazer quando um erro de usuário ou de aplicativo afeta a integridade dos dados, quando uma região do Azure tem uma interrupção ou quando seu aplicativo necessita de manutenção.Learn what to do when a user or application error affects data integrity, an Azure region has an outage, or your application requires maintenance.

Recursos do Banco de Dados SQL que você pode usar para proporcionar a continuidade dos negóciosSQL Database features that you can use to provide business continuity

De uma perspectiva de banco de dados, há quatro cenários principais de interrupção em potencial:From a database perspective, there are four major potential disruption scenarios:

  • Falhas locais de hardware ou software que afetam o nó do banco de dados, como uma falha na unidade de disco.Local hardware or software failures affecting the database node such as a disk-drive failure.
  • Corrupção ou exclusão de dados geralmente causada por um erro de aplicativo ou erro humano.Data corruption or deletion typically caused by an application bug or human error. Essas falhas são intrinsecamente específicas do aplicativo e, em geral, não podem ser detectadas ou atenuadas automaticamente pela infraestrutura.Such failures are intrinsically application-specific and cannot as a rule be detected or mitigated automatically by the infrastructure.
  • Interrupção do datacenter, possivelmente causada por um desastre natural.Datacenter outage, possibly caused by a natural disaster. Esse cenário requer algum nível de redundância geográfica com failover de aplicativo para um datacenter alternativo.This scenario requires some level of geo-redundancy with application failover to an alternate datacenter.
  • Erros de atualização ou manutenção, problemas imprevistos que ocorrem durante atualizações planejadas ou manutenção em um aplicativo ou banco de dados podem exigir a rápida reversão de um estado anterior do banco de dados.Upgrade or maintenance errors, unanticipated issues that occur during planned upgrades or maintenance to an application or database may require rapid rollback to a prior database state.

O Banco de Dados SQL fornece vários recursos de continuidade de negócios, incluindo backups automatizados e replicação de banco de dados opcional que podem atenuar esses cenários.SQL Database provides several business continuity features, including automated backups and optional database replication that can mitigate these scenarios. Primeiro, é necessário compreender como a arquitetura de alta disponibilidade do Banco de Dados SQL fornece 99,99% de disponibilidade e resiliência a alguns eventos de interrupção que podem afetar o processo empresarial.First, you need to understand how SQL Database high availability architecture provides 99.99% availability and resiliency to some disruptive events that might affect your business process. Em seguida, você pode aprender sobre os mecanismos adicionais que podem ser usados para recuperar-se dos eventos de interrupção que não podem ser manipulados pela arquitetura de alta disponibilidade do Banco de Dados SQL, como:Then, you can learn about the additional mechanisms that you can use to recover from the disruptive events that cannot be handled by SQL Database high availability architecture, such as:

Cada um deles tem características diferentes para o ERT (tempo de recuperação estimado) e para a perda potencial de dados em transações recentes.Each has different characteristics for estimated recovery time (ERT) and potential data loss for recent transactions. Depois de compreender essas opções, você poderá escolher entre elas e, na maioria dos cenários, usá-las simultaneamente em cenários diferentes.Once you understand these options, you can choose among them - and, in most scenarios, use them together for different scenarios. Na medida em que você desenvolve o plano de continuidade dos negócios, será necessário compreender qual é o tempo máximo aceitável antes que o aplicativo recupere-se completamente após o evento de interrupção.As you develop your business continuity plan, you need to understand the maximum acceptable time before the application fully recovers after the disruptive event. O tempo necessário para o aplicativo recuperar totalmente é conhecido como RTO (objetivo de tempo de recuperação).The time required for application to fully recover is known as recovery time objective (RTO). Também é necessário reconhecer o período máximo de atualizações de dados recentes (intervalo de tempo) que o aplicativo pode tolerar perder durante a recuperação após o evento de interrupção.You also need to understand the maximum period of recent data updates (time interval) the application can tolerate losing when recovering after the disruptive event. O período de tempo de atualizações que você pode perder é conhecido como RPO (objetivo de ponto de recuperação).The time period of updates that you might afford to lose is known as recovery point objective (RPO).

A tabela a seguir compara o ERT e RPO para cada camada de serviço para os cenários mais comuns.The following table compares the ERT and RPO for each service tier for the most common scenarios.

RecursoCapability BasicBasic StandardStandard PremiumPremium Uso geralGeneral Purpose Comercialmente CríticoBusiness Critical
Recuperação Pontual do backupPoint in Time Restore from backup Qualquer ponto de restauração no prazo de sete diasAny restore point within seven days Qualquer ponto de restauração dentro de 35 diasAny restore point within 35 days Qualquer ponto de restauração dentro de 35 diasAny restore point within 35 days Qualquer ponto de restauração dentro do período configurado (até 35 dias)Any restore point within configured period (up to 35 days) Qualquer ponto de restauração dentro do período configurado (até 35 dias)Any restore point within configured period (up to 35 days)
Restauração geográfica de backups replicados geograficamenteGeo-restore from geo-replicated backups ERT < 12 hERT < 12 h
RPO < 1 hRPO < 1 h
ERT < 12 hERT < 12 h
RPO < 1 hRPO < 1 h
ERT < 12 hERT < 12 h
RPO < 1 hRPO < 1 h
ERT < 12 hERT < 12 h
RPO < 1 hRPO < 1 h
ERT < 12 hERT < 12 h
RPO < 1 hRPO < 1 h
Grupos de failover automáticoAuto-failover groups RTO = 1 hRTO = 1 h
RPO < 5 sRPO < 5s
RTO = 1 hRTO = 1 h
RPO < 5 sRPO < 5 s
RTO = 1 hRTO = 1 h
RPO < 5 sRPO < 5 s
RTO = 1 hRTO = 1 h
RPO < 5 sRPO < 5 s
RTO = 1 hRTO = 1 h
RPO < 5 sRPO < 5 s
Failover manual do banco de dadosManual database failover ERT = 30 sERT = 30 s
RPO < 5 sRPO < 5s
ERT = 30 sERT = 30 s
RPO < 5 sRPO < 5 s
ERT = 30 sERT = 30 s
RPO < 5 sRPO < 5 s
ERT = 30 sERT = 30 s
RPO < 5 sRPO < 5 s
ERT = 30 sERT = 30 s
RPO < 5 sRPO < 5 s

Observação

Failover manual do banco de dados refere-se ao failover de um banco de dados para seu com replicação geográfica secundário usando o modo planejado.Manual database failover refers to failover of a single database to its geo-replicated secondary using the unplanned mode.

Recuperar um banco de dados para o servidor existenteRecover a database to the existing server

O Banco de Dados SQL executa automaticamente uma combinação de backups de banco de dados completos semanais, backups de bancos de dados diferenciais geralmente a cada 12 horas e backups de logs de transações a cada 5 a 10 minutos para proteger sua empresa contra perda de dados.SQL Database automatically performs a combination of full database backups weekly, differential database backups generally taken every 12 hours, and transaction log backups every 5 - 10 minutes to protect your business from data loss. Os backups são armazenados no armazenamento RA-GRS por 35 dias para todas as camadas de serviço, exceto camadas de serviço de DTU Básicas, nas quais os backups são armazenados por 7 dias.The backups are stored in RA-GRS storage for 35 days for all service tiers except Basic DTU service tiers where the backups are stored for 7 days. Para saber mais, consulte backups de banco de dados automáticos.For more information, see automatic database backups. É possível restaurar um formulário do banco de dados existente, backups automatizados para um ponto anterior no tempo, como um novo banco de dados no mesmo servidor do Banco de Dados SQL, usando o portal do Azure, o PowerShell ou a API REST.You can restore an existing database form the automated backups to an earlier point in time as a new database on the same SQL Database server using the Azure portal, PowerShell, or the REST API. Para obter mais informações, consulte Recuperação pontual.For more information, see Point-in-time restore.

Se o período máximo de retenção de PITR com suporte não for suficiente para o aplicativo, será possível estendê-lo configurando uma política LTR (retenção de longo prazo) para o(s) banco(s) de dados.If the maximum supported point-in-time restore (PITR) retention period is not sufficient for your application, you can extend it by configuring a long-term retention (LTR) policy for the database(s). Para obter mais informações, confira Retenção de backup de longo prazo.For more information, see Long-term backup retention.

Você pode usar esses backups automáticos do banco de dados para recuperar um banco de dados de diversos eventos de interrupção, tanto em seu data center quanto em outro.You can use these automatic database backups to recover a database from various disruptive events, both within your data center and to another data center. Normalmente, o tempo de recuperação é menor do que 12 horas.The recovery time is usually less than 12 hours. Pode levar mais tempo para recuperar um banco de dados muito grande ou ativo.It may take longer to recover a very large or active database. Ao usar os backups automáticos de banco de dados, o tempo estimado de recuperação dependerá de vários fatores, incluindo o número total de bancos de dados de recuperação na mesma região e ao mesmo tempo, o tamanho do banco de dados, o tamanho do log de transações e a largura de banda da rede.Using automatic database backups, the estimated time of recovery depends on several factors including the total number of databases recovering in the same region at the same time, the database size, the transaction log size, and network bandwidth. Para obter mais informações sobre tempo de recuperação, consulte tempo de recuperação do banco de dados.For more information about recovery time, see database recovery time. Ao recuperar em outra região de dados, a possível perda de dados é limitada a uma hora com o uso dos backups com redundância geográfica.When recovering to another data region, the potential data loss is limited to 1 hour with use of geo-redundant backups.

Utilize backups automatizados e recuperação pontual como mecanismo de recuperação e continuidade dos negócios, se o aplicativo:Use automated backups and point-in-time restore as your business continuity and recovery mechanism if your application:

  • Não for considerado crítico.Is not considered mission critical.
  • Não tem um SLA associado - um tempo de inatividade de 24 horas ou mais não resulta em responsabilidade financeira.Doesn't have a binding SLA - a downtime of 24 hours or longer does not result in financial liability.
  • Tiver uma taxa baixa de alteração de dados (poucas transações por hora), uma vez que perder até uma hora de alterações é uma perda de dados aceitável.Has a low rate of data change (low transactions per hour) and losing up to an hour of change is an acceptable data loss.
  • Seja suscetível aos custos.Is cost sensitive.

Se você precisar de uma recuperação mais rápida, use replicação geográfica ativa ou grupos de failover automático.If you need faster recovery, use active geo-replication or auto-failover groups. Se for necessário recuperar dados de um período anterior a 35 dias, use Retenção de longo prazo.If you need to be able to recover data from a period older than 35 days, use Long-term retention.

Recuperar um banco de dados para outra regiãoRecover a database to another region

Embora seja raro, um data center do Azure pode ter uma interrupção.Although rare, an Azure data center can have an outage. Quando uma interrupção ocorre, ela causa uma parada nos negócios, que pode durar alguns minutos ou horas.When an outage occurs, it causes a business disruption that might only last a few minutes or might last for hours.

  • Uma opção é esperar que seu banco de dados volte a ficar online quando a interrupção do data center terminar.One option is to wait for your database to come back online when the data center outage is over. Isso funciona para aplicativos que podem manter o banco de dados offline.This works for applications that can afford to have the database offline. Por exemplo, um projeto de desenvolvimento ou uma avaliação gratuita não precisam funcionar constantemente.For example, a development project or free trial you don't need to work on constantly. Quando um data center tiver uma interrupção, você não saberá quanto tempo ela durará. Portanto, essa opção só funcionará se o banco de dados não for necessário por um tempo.When a data center has an outage, you do not know how long the outage might last, so this option only works if you don't need your database for a while.
  • Outra opção é restaurar um banco de dados em qualquer servidor em qualquer região do Azure usando backups de banco de dados com redundância geográfica (restauração geográfica).Another option is to restore a database on any server in any Azure region using geo-redundant database backups (geo-restore). A restauração geográfica usa um backup com redundância geográfica como sua fonte e pode ser usada para recuperar um banco de dados, mesmo se o banco de dados ou o datacenter está inacessível devido a uma interrupção.Geo-restore uses a geo-redundant backup as its source and can be used to recover a database even if the database or datacenter is inaccessible due to an outage.
  • Por fim, você pode se recuperar rapidamente de uma interrupção se você tiver configurado o secundário geográfico usando replicação geográfica ativa ou um grupo de failover automático para seu banco de dados ou bancos de dados.Finally, you can quickly recover from an outage if you have configured either geo-secondary using active geo-replication or an auto-failover group for your database or databases. Dependendo de sua escolha dessas tecnologias, você pode usar o failover manual ou automático.Depending on your choice of these technologies, you can use either manual or automatic failover. Enquanto o próprio failover leva apenas alguns segundos, o serviço levará pelo menos 1 hora para ativá-lo.While failover itself takes only a few seconds, the service will take at least 1 hour to activate it. Isso é necessário para garantir que o failover seja justificado pela escala da interrupção.This is necessary to ensure that the failover is justified by the scale of the outage. Além disso, o failover pode resultar em pequena perda de dados devido à natureza da replicação assíncrona.Also, the failover may result in small data loss due to the nature of asynchronous replication. Consulte a tabela no início deste artigo para obter detalhes sobre RTO e RPO de failover automático.See the table earlier in this article for details of the auto-failover RTO and RPO.

Importante

Para usar a replicação geográfica ativa e grupos de failover automático, você deverá ser o proprietário da assinatura ou ter permissões administrativas no SQL Server.To use active geo-replication and auto-failover groups, you must either be the subscription owner or have administrative permissions in SQL Server. Você pode configurar e fazer failover usando o Portal do Azure, o PowerShell ou a API REST utilizando permissões da assinatura do Azure, ou utilizando o Transact-SQL com permissões no SQL Server.You can configure and fail over using the Azure portal, PowerShell, or the REST API using Azure subscription permissions or using Transact-SQL with SQL Server permissions.

Use grupos de failover automático se o aplicativo atender a algum desses critérios:Use auto-failover groups if your application meets any of these criteria:

  • Seja crítico.Is mission critical.
  • Tenha um SLA (Contrato de Nível de Serviço) que não permita um tempo de inatividade de 12 horas ou superior.Has a service level agreement (SLA) that does not allow for 12 hours or more of downtime.
  • O tempo de inatividade pode resultar em responsabilidade financeira.Downtime may result in financial liability.
  • Ter uma alta taxa de alteração de dados e 1 hora de perda de dados não é aceitável.Has a high rate of data change and 1 hour of data loss is not acceptable.
  • Que o custo adicional da replicação geográfica ativa seja menor que a responsabilidade financeira potencial e das perdas associadas do negócio.The additional cost of active geo-replication is lower than the potential financial liability and associated loss of business.

Ao executar uma ação, o tempo que levará para você recuperar e a quantidade de dados perdidos dependerá de como você decide usar os recursos de continuidade dos negócios em seu aplicativo.When you take action, how long it takes you to recover, and how much data loss you incur depends upon how you decide to use these business continuity features in your application. Na verdade, você poderá escolher por usar uma combinação de backups de banco de dados e a replicação geográfica ativa dependendo dos requisitos do seus aplicativo.Indeed, you may choose to use a combination of database backups and active geo-replication depending upon your application requirements. Para obter uma discussão sobre as considerações de design do aplicativo para bancos de dados independentes e pools elásticos que usam esses recursos de continuidade de negócios, confira Criar um aplicativo para recuperação de desastre na nuvem e Estratégias de recuperação de desastre para pool elástico.For a discussion of application design considerations for stand-alone databases and for elastic pools using these business continuity features, see Design an application for cloud disaster recovery and Elastic pool disaster recovery strategies.

As seções a seguir fornecem uma visão geral das etapas para recuperar usando os backups de banco de dados ou a replicação geográfica ativa.The following sections provide an overview of the steps to recover using either database backups or active geo-replication. Para obter as etapas detalhadas, incluindo os requisitos de planejamento, as etapas pós-recuperação e as informações sobre como simular uma interrupção para executar uma análise de recuperação de desastre, confira Recover a SQL Database from an outage (Recuperar um Banco de Dados SQL de uma interrupção).For detailed steps including planning requirements, post recovery steps, and information about how to simulate an outage to perform a disaster recovery drill, see Recover a SQL Database from an outage.

Prepare-se para uma interrupçãoPrepare for an outage

Independentemente do recurso de continuidade de negócios usados, você deve:Regardless of the business continuity feature you use, you must:

  • Identificar e preparar o servidor de destino, incluindo as regras de firewall de IP no nível do servidor, logons e permissões de nível de banco de dados mestre.Identify and prepare the target server, including server-level IP firewall rules, logins, and master database level permissions.
  • Determinar como redirecionar os clientes e aplicativos de cliente para o novo servidorDetermine how to redirect clients and client applications to the new server
  • Documentar outras dependências, como as configurações e alertas de auditoriaDocument other dependencies, such as auditing settings and alerts

Se você não se preparar corretamente, colocar seus aplicativos online após um failover ou uma recuperação de banco de dados exigirá um tempo adicional e, provavelmente, a solução de problemas também será exigida em um momento de estresse, ou seja, uma combinação ruim.If you do not prepare properly, bringing your applications online after a failover or a database recovery takes additional time and likely also require troubleshooting at a time of stress - a bad combination.

Fazer failover em um banco de dados secundário com replicação geográficaFail over to a geo-replicated secondary database

Se você estiver usando replicação geográfica ativa ou grupos de failover automático como mecanismos de recuperação, você pode configurar uma política de failover automático ou usar manual failover não planejado.If you are using active geo-replication or auto-failover groups as your recovery mechanism, you can configure an automatic failover policy or use manual unplanned failover. Depois de iniciado, o failover faz com que o secundário se torne o novo primário e fique pronto para registrar novas transações e responder à consultas, com perda mínima de dados, para os dados que ainda não foram replicados.Once initiated, the failover causes the secondary to become the new primary and ready to record new transactions and respond to queries - with minimal data loss for the data not yet replicated. Para obter informações sobre como criar o processo de failover, confira Criar um aplicativo para recuperação de desastre na nuvem.For information on designing the failover process, see Design an application for cloud disaster recovery.

Observação

Quando o data center volta a ficar online, os primários antigos reconectam-se automaticamente ao novo primário e se tornam bancos de dados secundários.When the data center comes back online the old primaries automatically reconnect to the new primary and become secondary databases. Se você precisar realocar o primário de volta para a região original, poderá iniciar um failover planejado manualmente (failback).If you need to relocate the primary back to the original region, you can initiate a planned failover manually (failback).

Executar uma restauração geográficaPerform a geo-restore

Se estiver usando backups automatizados com o armazenamento com redundância geográfica (habilitado por padrão), você poderá recuperar o banco de dados usando a restauração geográfica.If you are using the automated backups with geo-redundant storage (enabled by default), you can recover the database using geo-restore. A recuperação normalmente ocorre após 12 horas, com perda de dados de até uma hora determinada pelo momento em que o último backup de log ocorreu e foi replicado.Recovery usually takes place within 12 hours - with data loss of up to one hour determined by when the last log backup was taken and replicated. Até que a recuperação seja concluída, o banco de dados não poderá registrar nenhuma transação ou responder a qualquer consulta.Until the recovery completes, the database is unable to record any transactions or respond to any queries. Observe que a restauração geográfica só restaura o banco de dados para o último momento disponível.Note, geo-restore only restores the database to the last available point in time.

Observação

Se o data center voltar a ficar online antes de você transferir seu aplicativo para o banco de dados recuperado, você poderá cancelar a recuperação.If the data center comes back online before you switch your application over to the recovered database, you can cancel the recovery.

Executar pós-failover / tarefas de recuperaçãoPerform post failover / recovery tasks

Após recuperar de um dos mecanismos de recuperação, você deverá executar as seguintes tarefas adicionais antes que os usuários e aplicativos entrem em funcionamento novamente:After recovery from either recovery mechanism, you must perform the following additional tasks before your users and applications are back up and running:

  • Redirecionar clientes e aplicativos de cliente para o novo servidor e banco de dados restauradoRedirect clients and client applications to the new server and restored database
  • Verificar se as regras de firewall de IP do nível de servidor apropriadas estão em vigor para que os usuários se conectem ou use os firewalls de nível de banco de dados para habilitar as regras apropriadas.Ensure appropriate server-level IP firewall rules are in place for users to connect or use database-level firewalls to enable appropriate rules.
  • Verificar se os logons apropriados e as permissões nível de banco de dados mestre estão em vigor (ou usar os usuários independentes)Ensure appropriate logins and master database level permissions are in place (or use contained users)
  • Configurar a auditoria, conforme apropriadoConfigure auditing, as appropriate
  • Configurar os alertas, conforme apropriadoConfigure alerts, as appropriate

Observação

Se você estiver usando um grupo de failover e se conectar aos bancos de dados usando o lstener de leitura / gravação, o redirecionamento após o failover ocorrerá de maneira automática e transparente no aplicativo.If you are using a failover group and connect to the databases using the read-write lstener, the redirection after failover will happen automatically and transparently to the application.

Atualize um aplicativo com tempo de inatividade mínimoUpgrade an application with minimal downtime

Às vezes, um aplicativo deve ser colocado offline devido à manutenção planejada, como uma atualização do aplicativo.Sometimes an application must be taken offline because of planned maintenance such as an application upgrade. Gerenciar atualizações de aplicativos descreve como usar a replicação geográfica ativa para habilitar as atualizações sem interrupção do seu aplicativo em nuvem para minimizar o tempo de inatividade durante as atualizações e fornecer um caminho de recuperação caso algo saia errado.Manage application upgrades describes how to use active geo-replication to enable rolling upgrades of your cloud application to minimize downtime during upgrades and provide a recovery path if something goes wrong.

Próximos passosNext steps

Para obter uma discussão sobre as considerações de design de aplicativo para bancos de dados independentes e para pools elásticos, confira Criar um aplicativo para recuperação de desastre na nuvem e Estratégias de recuperação de desastre para pool elástico.For a discussion of application design considerations for stand-alone databases and for elastic pools, see Design an application for cloud disaster recovery and Elastic pool disaster recovery strategies.