Sobre a Cópia de Segurança do SQL Server em VMs do Azure
Azure Backup oferece uma solução especializada e baseada em fluxo para criar cópias de segurança SQL Server em execução em VMs do Azure. Esta solução está alinhada com os benefícios do Azure Backup de cópias de segurança de infraestrutura zero, retenção de longo prazo e gestão central. Além disso, fornece as seguintes vantagens especificamente para SQL Server:
- Cópias de segurança com suporte para cargas de trabalho que suportam todos os tipos de cópia de segurança – completo, diferencial e registo
- RPO de 15 minutos (objetivo do ponto de recuperação) com cópias de segurança de registo frequentes
- Recuperação para um ponto anterior no tempo até um segundo
- Cópia de segurança e restauro ao nível da base de dados individual
Nota
A cópia de segurança baseada em instantâneos para bases de dados SQL na VM do Azure está agora em pré-visualização. Esta oferta exclusiva combina a bondade dos instantâneos, o que leva a um rtO melhor e um baixo impacto no servidor, juntamente com os benefícios das cópias de segurança de registo frequentes para um RPO baixo. Para quaisquer consultas/acesso, escreva-nos em AskAzureBackupTeam@microsoft.com.
Para ver os cenários de cópia de segurança e restauro que suportamos atualmente, veja a matriz de suporte.
Processo de cópia de segurança
Esta solução tira partido das APIs nativas do SQL para fazer cópias de segurança das bases de dados SQL.
Depois de especificar o SQL Server VM que pretende proteger e consultar para as bases de dados na mesma, Azure Backup serviço irá instalar uma extensão de cópia de segurança de carga de trabalho na VM através da extensão de nome
AzureBackupWindowsWorkload
.Esta extensão consiste num coordenador e num plug-in SQL. Embora o coordenador seja responsável por acionar fluxos de trabalho para várias operações, como configurar a cópia de segurança, a cópia de segurança e o restauro, o plug-in é responsável pelo fluxo de dados real.
Para poder detetar bases de dados nesta VM, Azure Backup cria a conta
NT SERVICE\AzureWLBackupPluginSvc
. Esta conta é utilizada para cópia de segurança e restauro e requer permissões de sysadmin do SQL. ANT SERVICE\AzureWLBackupPluginSvc
conta é uma Conta de Serviço Virtual, pelo que não requer qualquer gestão de palavras-passe. Azure Backup utiliza aNT AUTHORITY\SYSTEM
conta para deteção/investigação de bases de dados, pelo que esta conta tem de ser um início de sessão público no SQL. Se não criou a VM do SQL Server a partir do Azure Marketplace, pode receber um erro UserErrorSQLNoSysadminMembership. Se ocorrer essa situação, siga estas instruções.Depois de acionar a configuração da proteção nas bases de dados selecionadas, o serviço de cópia de segurança configura o coordenador com os agendamentos de cópias de segurança e outros detalhes da política, que a extensão coloca em cache localmente na VM.
Na hora agendada, o coordenador comunica com o plug-in e começa a transmitir os dados de cópia de segurança do SQL Server com a VDI.
O plug-in envia os dados diretamente para o cofre dos Serviços de Recuperação, eliminando assim a necessidade de uma localização de teste. Os dados são encriptados e armazenados pelo serviço Azure Backup em contas de armazenamento.
Quando a transferência de dados estiver concluída, o coordenador confirma a consolidação com o serviço de cópia de segurança.
Antes de começar
Antes de começar, verifique os seguintes requisitos:
- Certifique-se de que tem uma instância SQL Server em execução no Azure. Pode criar rapidamente uma instância SQL Server no marketplace.
- Reveja as considerações de funcionalidades e o suporte de cenários.
- Veja as perguntas comuns sobre este cenário.
Definir permissões da VM
Quando executa a deteção numa SQL Server, Azure Backup faz o seguinte:
- Adiciona a extensão AzureBackupWindowsWorkload.
- Cria uma conta NT SERVICE\AzureWLBackupPluginSvc para detetar bases de dados na máquina virtual. Esta conta é utilizada para uma cópia de segurança e restauro e requer permissões de sysadmin do SQL.
- Detetar bases de dados em execução numa VM, Azure Backup utiliza a conta NT AUTHORITY\SYSTEM. Esta conta tem de ser um início de sessão público no SQL.
Se não tiver criado a VM SQL Server no Azure Marketplace ou se estiver no SQL 2008 ou 2008 R2, poderá receber um erro UserErrorSQLNoSysadminMembership.
Para conceder permissões no caso do SQL 2008 e 2008 R2 em execução no Windows 2008 R2, veja aqui.
Para todas as outras versões, corrija as permissões com os seguintes passos:
Utilize uma conta com permissões de SQL Server sysadmin para iniciar sessão no SQL Server Management Studio (SSMS). A menos que precise de permissões especiais, a autenticação do Windows deve funcionar.
No SQL Server, abra a pasta Segurança/Inícios de Sessão.
Clique com o botão direito do rato na pasta Inícios de Sessão e selecione Novo Início de Sessão. Em Início de Sessão - Novo, selecione Procurar.
A conta de serviço virtual do Windows NT SERVICE\AzureWLBackupPluginSvc foi criada durante a fase de registo da máquina virtual e deteção de SQL. Introduza o nome da conta conforme mostrado em Introduzir o nome do objeto a selecionar. Selecione Verificar Nomes para resolver o nome. Selecione OK.
Em Funções de Servidor, certifique-se de que a função sysadmin está selecionada. Selecione OK. As permissões necessárias devem existir agora.
Agora, associe a base de dados ao cofre dos Serviços de Recuperação. No portal do Azure, na lista Servidores Protegidos, clique com o botão direito do rato no servidor que está no estado > de erro Redescobrir DBs.
Verifique o progresso na área Notificações . Quando as bases de dados selecionadas são encontradas, é apresentada uma mensagem de êxito.
Nota
Se o seu SQL Server tiver várias instâncias de SQL Server instaladas, tem de adicionar permissão sysadmin para a conta NT Service\AzureWLBackupPluginSvc a todas as instâncias do SQL.
Conceder permissões de sysadmin do SQL para SQL 2008 e SQL 2008 R2
Adicione inícios de sessão NT AUTHORITY\SYSTEM e NT Service\AzureWLBackupPluginSvc à Instância do SQL Server:
Aceda à Instância do SQL Server no Explorador de objetos.
Navegar para Segurança -> Inícios de sessão
Clique com o botão direito do rato nos inícios de sessão e selecione Novo Início de Sessão...
Aceda ao separador Geral e introduza NT AUTHORITY\SYSTEM como o Nome de Início de Sessão.
Aceda a Funções de Servidor e escolha funções públicas e sysadmin .
Aceda a Estado. Conceda a Permissão para ligar ao motor de base de dados e Iniciar sessão como Ativado.
Selecione OK.
Repita a mesma sequência de passos (1-7 acima) para adicionar o início de sessão NT Service\AzureWLBackupPluginSvc à instância do SQL Server. Se o início de sessão já existir, certifique-se de que tem a função de servidor sysadmin e, em Estado, tem a opção Conceder permissão para ligar ao motor de base de dados e Iniciar sessão como Ativado.
Depois de conceder permissão, redescobrir DBs no portal: Cofre –> Infraestrutura de Cópia de Segurança –> Carga de trabalho na VM do Azure:
Em alternativa, pode automatizar a atribuição das permissões ao executar os seguintes comandos do PowerShell no modo de administração. O nome da instância está definido como MSSQLSERVER por predefinição. Altere o argumento nome da instância no script, se necessário.
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
}
Configurar cópias de segurança simultâneas
Agora, pode configurar cópias de segurança para guardar os pontos de recuperação e os registos do SQL Server num cofre dos Serviços de Recuperação e armazenamento local em simultâneo.
Para configurar cópias de segurança simultâneas, siga estes passos:
Aceda à
C:\Program Files\Azure Workload Backup\bin\plugins
localização e, em seguida, crie o ficheiro PluginConfigSettings.json, se não estiver presente.Adicione as entidades de valor de chave separadas por vírgulas, com chaves
EnableLocalDiskBackupForBackupTypes
eLocalDiskBackupFolderPath
ao ficheiro JSON.Em
EnableLocalDiskBackupForBackupTypes
, liste os tipos de cópia de segurança que pretende armazenar localmente.Por exemplo, se quiser armazenar as cópias de segurança Completas e de Registo , mencione
["Full", "Log"]
. Para armazenar apenas as cópias de segurança de registo, mencione["Log"]
.Em
LocalDiskBackupFolderPath
, mencione o caminho para a pasta local. Certifique-se de que utiliza a barra dupla para a frente ao mencionar o caminho no ficheiro JSON.Por exemplo, se o caminho preferencial para a cópia de segurança local for
E:\LocalBackup
, mencione o caminho em JSON comoE:\\LocalBackup
.O JSON final deve aparecer como:
{ "EnableLocalDiskBackupForBackupTypes": ["Log"], "LocalDiskBackupFolderPath": "E:\\LocalBackup", }
Se existirem outras entradas pré-preenchidas no ficheiro JSON, adicione as duas entradas acima na parte inferior do ficheiro JSON imediatamente antes do parêntese curvo de fecho.
Para que as alterações entrem em vigor imediatamente em vez de uma hora normal, aceda a Serviços TaskManager>, clique com o botão direito do rato em AzureWLbackupPluginSvc e selecione Parar.
Atenção
Esta ação cancelará todas as tarefas de cópia de segurança em curso.
A convenção de nomenclatura do ficheiro de cópia de segurança armazenado e da estrutura de pastas do mesmo será
{LocalDiskBackupFolderPath}\{SQLInstanceName}\{DatabaseName}
.Por exemplo, se tiver uma base de dados
Contoso
na instânciaMSSQLSERVER
do SQL, os ficheiros estarão localizados emE:\LocalBackup\MSSQLSERVER\Contoso
.O nome do ficheiro é ,
VDI device set guid
que é utilizado para a operação de cópia de segurança.Verifique se a localização de destino em
LocalDiskBackupFolderPath
tem permissões de leitura e escrita paraNT Service\AzureWLBackupPluginSvc
.Nota
Para uma pasta nos discos da VM local, clique com o botão direito do rato na pasta e configure as permissões necessárias para
NT Service\AzureWLBackupPluginSvc
no separador Segurança .Se estiver a utilizar uma partilha de rede ou SMB, configure as permissões ao executar os cmdlets do PowerShell abaixo a partir de uma consola de utilizador que já tenha permissão para aceder à partilha:
$cred = Get-Credential New-SmbGlobalMapping -RemotePath <FileSharePath> -Credential $cred -LocalPath <LocalDrive>: -FullAccess @("<Comma Separated list of accounts>") -Persistent $true
Exemplo:
$cred = Get-Credential New-SmbGlobalMapping -RemotePath \\i00601p1imsa01.file.core.windows.net\rsvshare -Credential $cred -LocalPath Y: -FullAccess @("NT AUTHORITY\SYSTEM","NT Service\AzureWLBackupPluginSvc") -Persistent $true
Passos seguintes
- Saiba mais sobre como criar cópias de segurança SQL Server bases de dados.
- Saiba mais sobre o restauro de bases de dados SQL Server.
- Saiba mais sobre a gestão de bases de dados de SQL Server.
Comentários
https://aka.ms/ContentUserFeedback.
Brevemente: Ao longo de 2024, vamos descontinuar progressivamente o GitHub Issues como mecanismo de feedback para conteúdos e substituí-lo por um novo sistema de feedback. Para obter mais informações, veja:Submeter e ver comentários