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 automaticamente, como:However, there are some disruptive events that cannot be handled by SQL Database automatically 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.

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 específicas do aplicativo e normalmente não podem ser detectadas pelo serviço de banco de dados.Such failures are application-specific and typically cannot be detected by the database service.
  • 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 inesperados que ocorrem durante a manutenção de infraestrutura planejada ou atualizações podem exigir uma reversão rápida para um estado de banco de dados anterior.Upgrade or maintenance errors, unanticipated issues that occur during planned infrastructure maintenance or upgrades may require rapid rollback to a prior database state.

Para reduzir as falhas de hardware e software locais, o banco de dados SQL inclui uma arquitetura de alta disponibilidade, que garante a recuperação automática dessas falhas com um SLA de disponibilidade de até 99,995%.To mitigate the local hardware and software failures, SQL Database includes a high availability architecture, which guarantees automatic recovery from these failures with up to 99.995% availability SLA.

Para proteger seu negócio contra perda de dados, o banco de dados SQL cria automaticamente backups completos semanalmente, backups de banco de dado diferenciais a cada 12 horas e backups de log de transações a cada 5-10 minutos.To protect your business from data loss, SQL Database automatically creates full database backups weekly, differential database backups every 12 hours, and transaction log backups every 5 - 10 minutes . Os backups são armazenados no armazenamento RA-GRS por pelo menos 7 dias para todas as camadas de serviço.The backups are stored in RA-GRS storage for at least 7 days for all service tiers. Todas as camadas de serviço, exceto suporte Básico período de retenção de backup configurável para restauração pontual, até 35 dias.All service tiers except Basic support configurable backup retention period for point-in-time restore, up to 35 days.

O banco de dados SQL também fornece vários recursos de continuidade de negócios, que você pode usar para atenuar vários cenários não planejados.SQL Database also provides several business continuity features, that you can use to mitigate various unplanned scenarios.

Recuperar um banco de dados na mesma região do AzureRecover a database within the same Azure region

Você pode usar backups de banco de dados automáticos para restaurar um banco de dados para um ponto no tempo no passado.You can use automatic database backups to restore a database to a point in time in the past. Dessa forma, você pode se recuperar de corrompimentos de dados causados por erros humanos.This way you can recover from data corruptions caused by human errors. A restauração ponto-in-time permite que você crie um novo banco de dados no mesmo servidor que represente o estado dos dados antes do evento corrompido.The poin-in-time restore allows you to create a new database in the same server that represents the state of data prior to the corrupting event. Para a maioria dos bancos de dados, as operações de restauração levam menos de 12 horas.For most databases the restore operations takes less than 12 hours. Pode levar mais tempo para recuperar um banco de dados muito grande ou muito ativo.It may take longer to recover a very large or very active database. 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.

Se o período máximo de retenção de backup com suporte para a restauração pontual (PITR) não for suficiente para seu aplicativo, você poderá estendê-lo Configurando uma política de retenção de longo prazo (EPD) para os bancos de dados.If the maximum supported backup retention period for point-in-time restore (PITR) 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.

Comparar a replicação geográfica com grupos de failoverCompare geo-replication with failover groups

Os grupos de failover automático simplificam a implantação e o uso da replicação geográfica e adicionam os recursos adicionais, conforme descrito na tabela a seguir:Auto-failover groups simplify the deployment and usage of geo-replication and add the additional capabilities as described in the following table:

Replicação GeográficaGeo-replication Grupos de failoverFailover groups
Failover automáticoAutomatic failover NãoNo SimYes
Fazer failover de vários bancos de dados simultaneamenteFail over multiple databases simultaneously NãoNo SimYes
Atualizar cadeia de conexão após o failoverUpdate connection string after failover SimYes NãoNo
Instância gerenciada com suporteManaged instance supported NãoNo SimYes
Pode estar na mesma região que o primárioCan be in same region as primary SimYes NãoNo
Várias réplicasMultiple replicas SimYes NãoNo
Dá suporte à escala de leituraSupports read-scale SimYes SimYes
     

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

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 tiver configurado um secundário geográfico usando a 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.

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 a recuperação completa do aplicativo é conhecido como RTO (objetivo de tempo de recuperação).The time required for application to fully recover is known as Recovery time objective (RTO). Você também precisa entender o período máximo de atualizações de dados recentes (intervalo de tempo) que o aplicativo pode tolerar a perda ao recuperar-se de um evento de interrupção não planejado.You also need to understand the maximum period of recent data updates (time interval) the application can tolerate losing when recovering from an unplanned disruptive event. A possível perda de dados é conhecida como RPO (objetivo de ponto de recuperação).The potential data loss is known as Recovery point objective (RPO).

Métodos de recuperação diferentes oferecem níveis diferentes de RPO e RTO.Different recovery methods offer different levels of RPO and RTO. Você pode escolher um método de recuperação específico ou usar uma combinação de métodos para obter a recuperação completa do aplicativo.You can choose a specific recovery method, or use a combination of methods to achieve full application recovery. A tabela a seguir compara o RPO e o RTO de cada opção de recuperação.The following table compares RPO and RTO of each recovery option. Os grupos de failover automático simplificam a implantação e o uso da replicação geográfica e adicionam os recursos adicionais, conforme descrito na tabela a seguir.Auto-failover groups simplify the deployment and usage of geo-replication and adds the additional capabilities as described in the following table.

Método de recuperaçãoRecovery method RTORTO RPORPO
Restauração geográfica de backups replicados geograficamenteGeo-restore from geo-replicated backups 12 h12 h 1 h1 h
Grupos de failover automáticoAuto-failover groups 1 h1 h 5 s5 s
Failover manual de banco de dadosManual database failover 30 s30 s 5 s5 s

Observação

Failover de banco de dados manual refere-se ao failover de um banco de dados individual para seu secundário replicado geograficamente usando o modo não planejado.Manual database failover refers to failover of a single database to its geo-replicated secondary using the unplanned mode. 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.

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.

Você pode optar por usar uma combinação de backups de banco de dados e replicação geográfica ativa, dependendo dos requisitos do aplicativo.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 considerações de design para bancos de dados autônomos e pools elásticos usando esses recursos de continuidade de negócios, consulte criar um aplicativo para recuperação de desastre na nuvem e estratégias de recuperação de desastres do pool elástico.For a discussion of 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 a replicação geográfica ativa ou grupos de failover automático como seu mecanismo de recuperação, você poderá configurar uma política de failover automático ou usar o failover manual 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óximas etapasNext 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.