Sobre a Cópia de Segurança do SQL Server em VMs do AzureAbout SQL Server Backup in Azure VMs

O Azure Backup oferece uma solução especializada em stream para apoiar o SQL Server em funcionamento em VMs Azure.Azure Backup offers a stream-based, specialized solution to back up SQL Server running in Azure VMs. Esta solução alinha-se com os benefícios da Azure Backup de backup de infraestruturas zero, retenção a longo prazo e gestão central.This solution aligns with Azure Backup's benefits of zero-infrastructure backup, long-term retention, and central management. Além disso, fornece as seguintes vantagens especificamente para o SQL Server:It additionally provides the following advantages specifically for SQL Server:

  1. Backups de trabalho conscientes que suportam todos os tipos de backup - completo, diferencial e logWorkload aware backups that support all backup types - full, differential, and log
  2. RPO de 15 min (objetivo de ponto de recuperação) com backups frequentes de registo15-min RPO (recovery point objective) with frequent log backups
  3. Recuperação pontual até um segundoPoint-in-time recovery up to a second
  4. Backup e restauro do nível de base de dados individualIndividual database level backup and restore

Para ver o backup e restaurar os cenários que apoiamos hoje, consulte a matriz de suporte.To view the backup and restore scenarios that we support today, refer to the support matrix.

Processo de cópia de segurançaBackup process

Esta solução aproveita as APIs nativas do SQL para obter cópias de segurança das suas bases de dados SQL.This solution leverages the SQL native APIs to take backups of your SQL databases.

  • Assim que especificar o SQL Server VM que pretende proteger e consultar as bases de dados, o serviço Azure Backup instalará uma extensão de backup de carga de trabalho na extensão do VM pela extensão do AzureBackupWindowsWorkload nome.Once you specify the SQL Server VM that you want to protect and query for the databases in it, Azure Backup service will install a workload backup extension on the VM by the name AzureBackupWindowsWorkload extension.

  • Esta extensão é constituída por um coordenador e um plugin SQL.This extension consists of a coordinator and a SQL plugin. Enquanto o coordenador é responsável por desencadear fluxos de trabalho para várias operações como configurar backup, backup e restauro, o plugin é responsável pelo fluxo real de dados.While the coordinator is responsible for triggering workflows for various operations like configure backup, backup and restore, the plugin is responsible for actual data flow.

  • Para ser capaz de descobrir bases de dados neste VM, o Azure Backup cria a conta NT SERVICE\AzureWLBackupPluginSvc .To be able to discover databases on this VM, Azure Backup creates the account NT SERVICE\AzureWLBackupPluginSvc. Esta conta é usada para cópia de segurança e restauro e requer permissões de sysadmin SQL.This account is used for backup and restore and requires SQL sysadmin permissions. A NT SERVICE\AzureWLBackupPluginSvc conta é uma Conta de Serviço Virtual,pelo que não requer qualquer gestão de senha.The NT SERVICE\AzureWLBackupPluginSvc account is a Virtual Service Account, and therefore does not require any password management. O Azure Backup aproveita a NT AUTHORITY\SYSTEM conta para a descoberta/inquérito da base de dados, pelo que esta conta tem de ser um login público no SQL.Azure Backup leverages the NT AUTHORITY\SYSTEM account for database discovery/inquiry, so this account needs to be a public login on SQL. Se não criou o SQL Server VM a partir do Azure Marketplace, poderá receber um erro UserErrorSQLNoSysadminMemberbership.If you didn't create the SQL Server VM from the Azure Marketplace, you might receive an error UserErrorSQLNoSysadminMembership. Se isto ocorrer, siga estas instruções.If this occurs follow these instructions.

  • Assim que acionar a proteção de configuração nas bases de dados selecionadas, o serviço de cópia de segurança configura o coordenador com os horários de backup e outros detalhes da política, que a extensão cache localmente no VM.Once you trigger configure protection on the selected databases, the backup service sets up the coordinator with the backup schedules and other policy details, which the extension caches locally on the VM.

  • Na hora programada, o coordenador comunica com o plugin e começa a transmitir os dados de backup do servidor SQL utilizando O VDI.At the scheduled time, the coordinator communicates with the plugin and it starts streaming the backup data from the SQL server using VDI.

  • O plugin envia os dados diretamente para o cofre dos serviços de recuperação, eliminando assim a necessidade de um local de paragem.The plugin sends the data directly to the recovery services vault, thus eliminating the need for a staging location. Os dados são encriptados e armazenados pelo serviço Azure Backup em contas de armazenamento.The data is encrypted and stored by the Azure Backup service in storage accounts.

  • Quando a transferência de dados estiver concluída, o coordenador confirma o compromisso com o serviço de cópia de segurança.When the data transfer is complete, coordinator confirms the commit with the backup service.

    Arquitetura de backup SQL

Antes de começarBefore you start

Antes de começar, verifique o seguinte:Before you start, verify the below:

  1. Certifique-se de que tem uma instância SQL Server a decorrer em Azure.Make sure you have a SQL Server instance running in Azure. Pode criar rapidamente uma instância SQL Server no mercado.You can quickly create a SQL Server instance in the marketplace.
  2. Reveja a consideração de recursos e suporte ao cenário.Review the feature consideration and scenario support.
  3. Reveja questões comuns sobre este cenário.Review common questions about this scenario.

Definir permissões VMSet VM permissions

Quando executa a descoberta num servidor SQL, o Azure Backup faz o seguinte:When you run discovery on a SQL Server, Azure Backup does the following:

  • Adiciona a extensão AzureBackUpWindowsWorkload.Adds the AzureBackupWindowsWorkload extension.
  • Cria uma conta NT SERVICE\AzureWLBackupPluginSvc para descobrir bases de dados na máquina virtual.Creates an NT SERVICE\AzureWLBackupPluginSvc account to discover databases on the virtual machine. Esta conta é usada para uma cópia de segurança e restauro e requer permissões de sysadmin SQL.This account is used for a backup and restore and requires SQL sysadmin permissions.
  • Descobre bases de dados que estão a funcionar num VM, a Azure Backup utiliza a conta NT AUTHORITY\SYSTEM.Discovers databases that are running on a VM, Azure Backup uses the NT AUTHORITY\SYSTEM account. Esta conta deve ser uma súmia pública no SQL.This account must be a public sign-in on SQL.

Se não criou o SQL Server VM no Mercado Azure ou se estiver no SQL 2008 e 2008 R2, poderá receber um erro de nomeação userErrorSQLNoSysadminMembership.If you didn't create the SQL Server VM in the Azure Marketplace or if you are on SQL 2008 and 2008 R2, you might receive a UserErrorSQLNoSysadminMembership error.

Para obter permissões no caso de SQL 2008 e 2008 R2 em execução no Windows 2008 R2, consulte aqui.For giving permissions in case of SQL 2008 and 2008 R2 running on Windows 2008 R2, refer here.

Para todas as outras versões, corrija permissões com os seguintes passos:For all other versions, fix permissions with the following steps:

  1. Utilize uma conta com permissões sysadmin do SQL Server para iniciar sinscrição no SQL Server Management Studio (SSMS).Use an account with SQL Server sysadmin permissions to sign in to SQL Server Management Studio (SSMS). A menos que precise de permissões especiais, a autenticação do Windows deve funcionar.Unless you need special permissions, Windows authentication should work.

  2. No SQL Server, abra a pasta Segurança/Logins.On the SQL Server, open the Security/Logins folder.

    Abra a pasta Segurança/Logins para ver contas

  3. Clique com o botão direito na pasta 'Logins' e selecione Novo Início de Sessão.Right-click the Logins folder and select New Login. Em Login - Novo, selecione Search.In Login - New, select Search.

    No Início de Sessão - Nova caixa de diálogo, selecione Pesquisar

  4. A conta de serviço virtual windows NT SERVICE\AzureWLBackupPluginSvc foi criada durante a fase de registo de máquinas virtuais e fase de descoberta do SQL.The Windows virtual service account NT SERVICE\AzureWLBackupPluginSvc was created during the virtual machine registration and SQL discovery phase. Introduza o nome da conta como mostrado no Insira o nome do objeto para selecionar.Enter the account name as shown in Enter the object name to select. Selecione Verificar Nomes para resolver o nome.Select Check Names to resolve the name. Clique em OK.Click OK.

    Selecione Verificar Nomes para resolver o nome de serviço desconhecido

  5. Em Funções de Servidor, certifique-se de que a função sysadmin está selecionada.In Server Roles, make sure the sysadmin role is selected. Clique em OK.Click OK. As permissões necessárias devem agora existir.The required permissions should now exist.

    Certifique-se de que a função do servidor sysadmin está selecionada

  6. Agora associe a base de dados com o cofre dos Serviços de Recuperação.Now associate the database with the Recovery Services vault. No portal Azure, na lista de Servidores Protegidos, clique com o botão direito no servidor que está em estado de erro > Redescobrir DBs.In the Azure portal, in the Protected Servers list, right-click the server that's in an error state > Rediscover DBs.

    Verifique se o servidor tem permissões apropriadas

  7. Verifique os progressos na área de Notificações.Check progress in the Notifications area. Quando as bases de dados selecionadas são encontradas, aparece uma mensagem de sucesso.When the selected databases are found, a success message appears.

    Mensagem de sucesso de implantação

Nota

Se o seu SQL Server tiver várias instâncias de SQL Server instaladas, então deve adicionar permissão sysadmin para conta NT Service\AzureWLBackupPluginSvc a todas as instâncias SQL.If your SQL Server has multiple instances of SQL Server installed, then you must add sysadmin permission for NT Service\AzureWLBackupPluginSvc account to all SQL instances.

Dê permissões de sysadmin SQL para SQL 2008 e SQL 2008 R2Give SQL sysadmin permissions for SQL 2008 and SQL 2008 R2

Adicione NT AUTHORITY\SYSTEM e NT Service\AzureWLBackupPluginSvc para a sql Server Instance:Add NT AUTHORITY\SYSTEM and NT Service\AzureWLBackupPluginSvc logins to the SQL Server Instance:

  1. Vá à ocorrência do servidor SQL no explorador de objetos.Go the SQL Server Instance in the Object explorer.

  2. Navegue para Segurança -> LoginsNavigate to Security -> Logins

  3. Clique no direito nos Logins e clique em Novo Início de Sessão...Right click on the Logins and click New Login…

    Novo Login utilizando SSMS

  4. Aceda ao separador Geral e insira NT AUTHORITY\SYSTEM como o Nome de Login.Go to the General tab and enter NT AUTHORITY\SYSTEM as the Login Name.

    nome de login para SSMS

  5. Vá a Server Roles e escolha funções públicas e sysadmin.Go to Server Roles and choose public and sysadmin roles.

    escolher papéis em SSMS

  6. Ir para o Status.Go to Status. Conceda a Permissão para ligar ao motor de base de dados e ao Login conforme Ativado.Grant the Permission to connect to database engine and Login as Enabled.

    Concessão de permissões em SSMS

  7. Clique em OK.Click OK.

  8. Repita a mesma sequência de passos (1-7 acima) para adicionar o login NT Service\AzureWLBackupPluginSvc à instância do SQL Server.Repeat the same sequence of steps (1-7 above) to add NT Service\AzureWLBackupPluginSvc login to the SQL Server instance. Se o login já existir, certifique-se de que tem a função de servidor sysadmin e em Status tem a Permissão de Ligar ao motor de base de dados e ao Login como Ativado.If the login already exists, make sure it has the sysadmin server role and under Status it has Grant the Permission to connect to database engine and Login as Enabled.

  9. Após a concessão de permissão, redescubra os DBs no portal: Carga de Trabalho da Infraestrutura de Backup do Cofre -> -> em Azure VM:After granting permission, Rediscover DBs in the portal: Vault -> Backup Infrastructure -> Workload in Azure VM:

    Redescobrir DBs no portal Azure

Em alternativa, pode automatizar dando as permissões executando os seguintes comandos PowerShell no modo de administração.Alternatively, you can automate giving the permissions by running the following PowerShell commands in admin mode. O nome da instância é definido para MSSQLSERVER por padrão.The instance name is set to MSSQLSERVER by default. Altere o argumento do nome da instância no script, se necessário:Change the instance name argument in script if need be:

param(
    [Parameter(Mandatory=$false)]
    [string] $InstanceName = "MSSQLSERVER"
)
if ($InstanceName -eq "MSSQLSERVER")
{
    $fullInstance = $env:COMPUTERNAME   # In case it is the default SQL Server Instance
}
else
{
    $fullInstance = $env:COMPUTERNAME + "\" + $InstanceName   # In case of named instance
}
try
{
    sqlcmd.exe -S $fullInstance -Q "sp_addsrvrolemember 'NT Service\AzureWLBackupPluginSvc', 'sysadmin'" # Adds login with sysadmin permission if already not available
}
catch
{
    Write-Host "An error occurred:"
    Write-Host $_.Exception|format-list -force
}
try
{
    sqlcmd.exe -S $fullInstance -Q "sp_addsrvrolemember 'NT AUTHORITY\SYSTEM', 'sysadmin'" # Adds login with sysadmin permission if already not available
}
catch
{
    Write-Host "An error occurred:"
    Write-Host $_.Exception|format-list -force
}

Próximos passosNext steps