backup SQL Server banco de dados com nosso guia completo de 2025. Instruções passo a passo e melhores práticas para todos os níveis de habilidade.
1. Introdução a SQL Server backup
1.1 O que é SQL Server Cópia de segurança?
SQL Server Backup é o processo de criação de cópias dos arquivos do seu banco de dados para proteção contra perda de dados. Um backup captura o estado do seu banco de dados em um momento específico, permitindo a restauração dos dados em caso de falhas de hardware, erros humanos ou desastres.
SQL Server armazena backups em arquivos .bak por padrão, que contêm todos os objetos de banco de dados, incluindo tabelas, procedimentos armazenados, visualizações, índices e logs de transações.
1.2 Why SQL Server O backup é crítico
Os backups de banco de dados servem como sua última linha de defesa contra a perda de dados. Sem backups adequados, sua organização corre o risco de:
- Perda permanente de dados de falhas de hardware ou corrupção
- Tempo de inatividade prolongado durante tentativas de recuperação
- Interrupção dos negócios e perda de receita
- Violações de conformidade se os dados não puderem ser recuperados
- Danos à reputação de interrupções de serviço
Regular SQL Server Os backups garantem a continuidade dos negócios e atendem aos requisitos regulatórios de proteção de dados.
1.3 Cenários comuns de perda de dados
Entender quando ocorre a perda de dados ajuda você a desenvolver uma estratégia de backup eficaz:
- Falhas de hardware: Falhas de disco, mau funcionamento do servidor ou falhas no sistema de armazenamento
- Erros humanos: Exclusões acidentais, atualizações incorretas ou tabelas descartadas
- Problemas de software: Erros de aplicativos, atualizações corrompidas ou travamentos do sistema
- Brechas de segurança: Ataques de ransomware, exclusões maliciosas ou acesso não autorizado
- Desastres naturais: Incêndios, inundações ou cortes de energia que afetam data centers
2. Compreensão SQL Server Tipos de backup
SQL Server suporta vários tipos de backup, cada um atendendo a diferentes necessidades de recuperação e requisitos de armazenamento.
2.1 Backup completo
Um backup completo cria uma cópia completa de todo o seu banco de dados, incluindo todos os arquivos de dados e parte do log de transações necessários para recuperação.
2.1.1 Quando usar o backup completo
Backups completos são ideais para:
- Estabelecendo uma linha de base para outros tipos de backup
- Bancos de dados pequenos e médios onde o tempo de backup é aceitável
- Agendamentos de backup semanais ou mensais
- Bancos de dados com alterações pouco frequentes
2.1.2 Vantagens e limitações do backup completo
Vantagens:
- Processo de restauração mais simples – um único arquivo contém tudo
- Autocontido e independente de outros backups
- Tempo de recuperação mais rápido para restauração completa do banco de dados
Limitações:
- Requer espaço de armazenamento significativo
- Maior tempo de backup para bancos de dados grandes
- Maior consumo de recursos durante operações de backup
2.2 Backup diferencial
Um backup diferencial captura apenas as alterações de dados desde o último backup completo, reduzindo o tempo de backup e os requisitos de armazenamento.
2.2.1 Como funciona o backup diferencial
Os backups diferenciais rastreiam modificações usando extensões alteradas. Ao restaurar, SQL Server aplica primeiro o último backup completo e depois aplica o most backup diferencial recente.
2.2.2 Backup completo vs. diferencial
| Aspecto | Backup completo | Backup diferencial |
|---|---|---|
| Tamanho | Banco de dados completo | Apenas alterações desde o último backup completo |
| Tempo de reserva | Longest | Mais rápido que cheio |
| Processo de Restauração | Restauração de arquivo único | Requer completo + diferencial |
| Armazenamento necessário | Most espaço | Menos espaço inicialmente, cresce com o tempo |
2.3 Backup do Log de Transações
Os backups de log de transações capturam todas as transações desde o último backup de log, permitindo a recuperação em um determinado momento.
2.3.1 Compreendendo os logs de transações
O log de transações registra todas as modificações no seu banco de dados. Os backups de log truncam a parte inativa do log, impedindo que ele cresça indefinidamente e ocupe seu disco.
2.3.2 Recuperação pontual
Os backups de log de transações permitem restaurar seu banco de dados para qualquer momento específico dentro de um backup de log. Isso é crucial para a recuperação de modificações ou exclusões acidentais de dados.
Para executar a recuperação de ponto no tempo, você precisa:
- O último backup completo
- O most backup diferencial recente (opcional)
- Todos os backups de log de transações do backup completo/diferencial para o seu tarter tempo
2.4 Backup de log de cauda
Os backups de log de cauda capturam registros de log que ainda não foram copiados, evitando a perda de dados e mantendo uma cadeia de logs intacta. Antes de recuperar um SQL Server Para restaurar o banco de dados para o seu último ponto no tempo, você deve fazer backup da parte final do log de transações. O backup da parte final do log é o último backup de interesse no plano de recuperação do banco de dados.

Nota: Nem todos os cenários de restauração exigem um backup de log final. Você não precisa de um se o ponto de recuperação estiver contido em um backup de log anterior. Um backup de log final também é desnecessário se você estiver movendo ou substituindo (sobrescrevendo) um banco de dados e não precisar restaurá-lo para um ponto no tempo posterior à sua data de expiração.ost backup recente.
2.4.1 Quando backups de log de cauda são necessários
Os cenários a seguir descrevem quando você deve fazer um backup do log final:
Restauração de banco de dados on-line: Se o banco de dados estiver online e você planeja executar uma operação de restauração no banco de dados, comece fazendo backup do final do log. Para evitar um erro em um banco de dados online, você deve usar a opção WITH NORECOVERY da instrução BACKUP Transact-SQL ao fazer o backup. SQL Server base de dados.
Recuperação de banco de dados offline: Se um banco de dados estiver offline e não conseguir starSe você precisar restaurar o banco de dados, primeiro faça um backup do final do log. Como nenhuma transação pode ocorrer neste momento, o uso da opção WITH NORECOVERY é opcional. NORECOVERY é efetivamente o mesmo que um backup de log de transações somente cópia neste cenário.
Backup de banco de dados danificado: Se um banco de dados estiver danificado, tente fazer um backup do log final usando a opção WITH CONTINUE_AFTER_ERROR da instrução BACKUP. Em um banco de dados danificado, o backup do log final só será bem-sucedido se os arquivos de log não estiverem danificados, o banco de dados estiver em um estado que suporte backups do log final e não contiver nenhuma alteração registrada em massa. Se um backup do log final não puder ser criado, todas as transações confirmadas após o último MS SQL Server banco de dados de backup são lost.
2.4.2 Principais opções para backups de log de cauda
COM NORECOVERY: Use WITH NORECOVERY se estiver fazendo backup de um trecho de log de um banco de dados online que você planeja restaurar posteriormente. NORECOVERY coloca o banco de dados offline. Você também pode fazer backup SQL Server Log de cauda de um banco de dados offline. Se quiser deixar o banco de dados offline, use WITH NORECOVERY. Observe que o log será truncado, a menos que você especifique a opção COPY_ONLY ou NO_TRUNCATE.
COM CONTINUE_AFTER_ERROR: Use CONTINUE_AFTER_ERROR somente se estiver fazendo backup do final de um banco de dados danificado. Ao fazer backup do final de um log em um banco de dados danificado, alguns dos metadados normalmente capturados em backups de log podem estar indisponíveis.
2.5 Backup somente cópia
Os backups somente cópia criam um backup independente sem afetar a sequência normal de backup. Eles não interrompem as cadeias de backup diferencial nem a continuidade do log de transações.
Use backups somente de cópia para:
- Criação de cópias de banco de dados de teste ou desenvolvimento
- Backups ad-hoc sem afetar os backups agendados
- Backup antes de grandes mudanças ou testes
2.6 Backup de arquivos e grupos de arquivos
Backups de arquivos e grupos de arquivos tarObtenha arquivos ou grupos de arquivos específicos do banco de dados, em vez de todo o banco de dados. Essa abordagem funciona bem para bancos de dados muito grandes, onde o backup de tudo demora muito.
Os benefícios incluem:
- Operações de backup mais rápidas para grandes bancos de dados
- Backup paralelo de vários grupos de arquivos
- Opções de recuperação granular
- Agendamentos de backup otimizados para grupos de arquivos somente leitura
2.7 Backup parcial
Backups parciais incluem todos os dados do grupo de arquivos primário e quaisquer grupos de arquivos de leitura e gravação, excluindo grupos de arquivos somente leitura. Isso reduz o tamanho e o tempo de backup para bancos de dados com dados históricos estáticos armazenados em grupos de arquivos somente leitura.
3. SQL Server Modelos de Recuperação
SQL Server Os modelos de recuperação determinam quais tipos de backup estão disponíveis e como os logs de transações são gerenciados.
3.1 Modelo de Recuperação Simples
3.1.1 Características e Casos de Uso
A recuperação simples trunca automaticamente o log de transações após cada ponto de verificação, recuperando espaço sem exigir backups de log.
Melhor para:
- Bancos de dados de desenvolvimento e teste
- Bancos de dados onde a perda de dados entre backups é aceitável
- Data warehouses com processos ETL que podem ser executados novamente
- Bancos de dados somente leitura ou de relatórios
3.1.2 Opções de backup disponíveis
Suporte de recuperação simples:
- Backups completos
- Backups diferenciais
- Backups de arquivos e grupos de arquivos
- Backups somente para cópia
Os backups de log de transações são não disponível no modelo de recuperação simples.
3.2 Modelo de Recuperação Total
3.2.1 Recursos e Benefícios
A recuperação completa registra todas as transações e preserva os registros até que você faça o backup. Isso permite a recuperação completa dos dados em qualquer ponto no tempo dentro de um backup de log de transações.
Principais benefícios:
- Potencial mínimo de perda de dados
- Capacidade de restauração pontual
- Suporta envio de logs e espelhamento de banco de dados
- Máxima flexibilidade de recuperação
3.2.2 Gerenciamento de Log de Transações
Na recuperação total, você deve executar backups regulares do log de transações para:
- Impedir que o log de transações preencha o espaço em disco
- Manter uma cadeia de backup contínua
- Habilitar recuperação de ponto no tempo
- Crescimento do arquivo de log de controle
Cronograma típico de backup: backups completos semanais, backups diferenciais diários, backups de log a cada 15-30 minutos.
3.3 Modelo de recuperação de log em massa
3.3.1 Quando usar o Bulk-Logged
A recuperação em massa registra minimamente operações em massa como BULK INSERT, SELECT INTO e reconstruções de índice, mantendo o registro completo para transações regulares.
Use a recuperação de log em massa quando:
- Realização de grandes operações de importação em massa
- Reconstruindo índices em tabelas grandes
- Executar operações que se beneficiam do registro mínimo
- Necessidade de reduzir o tamanho do log de transações durante operações específicas
3.3.2 Limitações e Considerações
Limitações importantes:
- Restauração pontual não disponível durante operações em massa
- Os backups de log são maiores quando ocorrem operações em massa
- É necessário alternar entre registro completo e registro em massa conforme necessário
3.4 Escolhendo o modelo de recuperação correto
Selecione seu modelo de recuperação com base nos requisitos de negócios:
| Modelo de recuperação | Risco de perda de dados | Recuperação pontual | Mais Adequada Para |
|---|---|---|---|
| simples | Alterações desde o último backup | Não | Desenvolvimento/teste, perda de dados aceitável |
| completo | Mínimo (normalmente minutos) | Sim | Bancos de dados de produção, dados críticos |
| Registrado em massa | Alterações desde o último backup de log | Limitado durante operações em massa | Temporary uso durante operações em massa |
4. Cópia de segurança SQL Server Banco de dados usando SSMS
4.1 Pré-requisitos e Preparação
Antes de fazer backup do seu SQL Server banco de dados, garanta:
- Você tem permissões apropriadas (permissão db_owner ou BACKUP DATABASE)
- Espaço em disco suficiente para o arquivo de backup
- SQL Server Management Studio (SSMS) instalado
- Caminhos de rede acessíveis se estiver fazendo backup em locais de rede
4.2 Passo a passo: Backup completo com SSMS
Siga estas etapas para criar um backup completo do seu SQL Server banco de dados usando SSMS.
4.2.1 Abertura SQL Server Estúdio de Gestão
- Lançamento SQL Server Estúdio de Gestão
- Digite o nome do seu servidor no Nome do servidor campo
- Selecione seu método de autenticação
- Clique Conecte-se
4.2.2 Selecionando opções de banco de dados e backup
- In Explorador de Objetos, Expandir o Bases de dados nó
- Clique com o botão direito do mouse no banco de dados que deseja fazer backup
- Selecionar tarefas -> Back Up
- De acordo com o relatório Banco de dados de backup janela, verifique o nome do banco de dados
- Selecionar completo como o Tipo de backup
4.2.3 Configurando o destino do backup
- Debaixo Destino, clique em Eliminar para limpar o caminho padrão (se necessário)
- Clique Adicione para especificar um novo local de backup
- Digite o caminho e o nome do arquivo com bak extensão
- Clique OK para confirmar o destino
4.2.4 Advanced Backup Configurações
- Clique Opções de mídia no painel esquerdo
- Escolha as opções de backup:
- Substituir todos os conjuntos de backup existentes – Substitui backups existentes
- Adicionar ao conjunto de backup existente – Adiciona ao arquivo de backup existente
- Clique Opções de backup no painel esquerdo
- Configurar configurações opcionais:
- Compactar backup – Reduz o tamanho do arquivo de backup
- Criptografar backup – Protege dados sensíveis
- Verifique o backup quando terminar – Verifica a integridade do backup
4.2.5 Executando o Backup
- Revise todas as configurações no Banco de dados de backup janela
- Clique OK a staro processo de backup
- Aguarde a conclusão do backup
- Uma mensagem de sucesso aparece quando o backup termina
- Clique OK para fechar a caixa de diálogo de confirmação
4.3 Criando backup diferencial com SSMS
Para criar um backup diferencial, siga os mesmos passos de um backup completo, mas selecione Diferencial como o tipo de backup na etapa 4.2.2. Lembre-se de que backups diferenciais exigem um backup completo prévio como base.
4.4 Criando backup de log de transações com SSMS
Os backups de log de transações estão disponíveis somente para bancos de dados que usam modelos de recuperação Full ou Bulk-Logged.
- Clique com o botão direito do mouse no banco de dados em Explorador de Objetos
- Selecionar tarefas -> Back Up
- Escolha Log de transações como o tipo de backup
- Configure o destino e as opções conforme necessário
- Clique OK para criar o backup do log
4.5 Criando backup somente cópia com SSMS
Os backups somente de cópia não interferem na sua sequência regular de backup.
- Siga as etapas para criar um backup completo
- De acordo com o relatório Opções de backup página
- Verifique o Backup somente cópia opção
- Conclua o processo de backup normalmente
5. Cópia de segurança SQL Server Banco de dados usando T-SQL
5.1 Sintaxe básica do BACKUP DATABASE
O comando T-SQL BACKUP DATABASE fornece controle programático sobre SQL Server cópias de segurança.
BACKUP DATABASE database_name
TO DISK = 'backup_file_path'
WITH options;
5.2 Comandos T-SQL de backup completo
5.2.1 Script de backup completo simples
Crie um backup completo básico com opções mínimas:
BACKUP DATABASE AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks.bak'
GO
5.2.2 Backup completo com opções
Adicione informações descritivas e opções de formatação:
BACKUP DATABASE AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks.bak'
WITH FORMAT,
INIT,
NAME = 'AdventureWorks-Full Database Backup',
DESCRIPTION = 'Full backup of AdventureWorks database',
STATS = 10
GO
Opções explicadas:
- FORMATO – Cria novo conjunto de backup
- INIT – Substitui o arquivo de backup existente
- NOME – Atribui nome ao conjunto de backup
- DESCRIÇÃO – Adiciona texto descritivo
- ESTATÍSTICAS – Mostra o progresso a cada 10%
5.3 Comandos T-SQL de backup diferencial
Os backups diferenciais usam a opção DIFERENCIAL:
BACKUP DATABASE AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks_Diff.bak'
WITH DIFFERENTIAL,
INIT,
NAME = 'AdventureWorks-Differential Backup',
STATS = 10
GO
5.4 Comandos T-SQL de backup de log de transações
Use BACKUP LOG para backups de log de transações:
BACKUP LOG AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks_Log.trn'
WITH INIT,
NAME = 'AdventureWorks-Transaction Log Backup',
STATS = 10
GO
5.5 Opções avançadas de backup T-SQL
5.5.1 Backup para vários arquivos
Distribua o backup entre vários arquivos para um desempenho mais rápido:
BACKUP DATABASE AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks_1.bak',
DISK = 'D:\Backups\AdventureWorks_2.bak',
DISK = 'E:\Backups\AdventureWorks_3.bak'
WITH FORMAT, INIT
GO
5.5.2 Backup com compactação
Reduza o tamanho do arquivo de backup e a largura de banda da rede:
BACKUP DATABASE AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks_Compressed.bak'
WITH COMPRESSION,
INIT,
STATS = 10
GO
5.5.3 Backup com criptografia
Proteja dados confidenciais com criptografia:
BACKUP DATABASE AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks_Encrypted.bak'
WITH COMPRESSION,
ENCRYPTION (
ALGORITHM = AES_256,
SERVER CERTIFICATE = BackupCertificate
),
STATS = 10
GO
5.5.4 Backup com proteção por senha
Adicione proteção por senha (obsoleto, use criptografia em vez disso):
BACKUP DATABASE AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks.bak'
WITH PASSWORD = 'StrongPassword123!',
INIT
GO
5.5.5 Backups espelhados
Crie cópias simultâneas para diferentes locais:
BACKUP DATABASE AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks.bak'
MIRROR TO DISK = 'D:\Backups\AdventureWorks_Mirror.bak'
WITH FORMAT, INIT
GO
5.6 Exemplos e scripts de backup T-SQL
Script de backup completo com tratamento de erros:
DECLARE @BackupPath NVARCHAR(500);
DECLARE @DatabaseName NVARCHAR(128) = 'AdventureWorks';
DECLARE @BackupDate NVARCHAR(20);
SET @BackupDate = CONVERT(NVARCHAR(20), GETDATE(), 112);
SET @BackupPath = 'C:\Backups\' + @DatabaseName + '_' + @BackupDate + '.bak';
BEGIN TRY
BACKUP DATABASE @DatabaseName
TO DISK = @BackupPath
WITH COMPRESSION,
INIT,
NAME = @DatabaseName + '-Full Backup',
STATS = 10;
PRINT 'Backup completed successfully: ' + @BackupPath;
END TRY
BEGIN CATCH
PRINT 'Backup failed: ' + ERROR_MESSAGE();
END CATCH
GO
6. Cópia de segurança SQL Server Banco de dados usando PowerShell
6.1 Cmdlets de backup do PowerShell
SQL Server O módulo PowerShell fornece cmdlets para automação de backup:
- Backup-SqlDatabase – Cria backups de banco de dados
- Restaurar-SqlDatabase – Restaura backups de banco de dados
- Obter-SqlDatabase – Recupera informações do banco de dados
Importe o SQL Server módulo:
Import-Module SqlServer
6.2 Criando scripts de backup com o PowerShell
Comando básico de backup do PowerShell:
Backup-SqlDatabase -ServerInstance "localhost" `
-Database "AdventureWorks" `
-BackupFile "C:\Backups\AdventureWorks.bak" `
-BackupAction Database `
-CompressionOption On
Exemplo de backup diferencial:
Backup-SqlDatabase -ServerInstance "localhost" `
-Database "AdventureWorks" `
-BackupFile "C:\Backups\AdventureWorks_Diff.bak" `
-BackupAction Database `
-Incremental
Backup do log de transações:
Backup-SqlDatabase -ServerInstance "localhost" `
-Database "AdventureWorks" `
-BackupFile "C:\Backups\AdventureWorks_Log.trn" `
-BackupAction Log
6.3 Automatizando backups com o PowerShell
Crie um script de backup automatizado para vários bancos de dados:
# Configuration
$ServerInstance = "localhost"
$BackupPath = "C:\Backups"
$Databases = @("AdventureWorks", "TestDB", "ProductionDB")
$Timestamp = Get-Date -Format "yyyyMMdd_HHmmss"
# Create backup directory if not exists
if (-not (Test-Path $BackupPath)) {
New-Item -ItemType Directory -Path $BackupPath
}
# Backup each database
foreach ($Database in $Databases) {
$BackupFile = Join-Path $BackupPath "$Database`_$Timestamp.bak"
try {
Backup-SqlDatabase -ServerInstance $ServerInstance `
-Database $Database `
-BackupFile $BackupFile `
-BackupAction Database `
-CompressionOption On
Write-Host "Successfully backed up $Database to $BackupFile" -ForegroundColor Green
}
catch {
Write-Host "Failed to backup $Database : $_" -ForegroundColor Red
}
}
7. Cópia de segurança SQL Server Banco de dados usando linha de comando
SQL Server fornece utilitários de linha de comando que permitem fazer backup SQL Server banco de dados sem usar SSMS ou interfaces gráficas. Essas ferramentas são essenciais para cenários de automação, scripts e administração remota.
7.1 Usar o banco de dados de backup SQLCMD
SQLCMD é o utilitário de linha de comando moderno para SQL Server que substituiu o OSQL. Ele oferece funcionalidade aprimorada e é a ferramenta recomendada para executar comandos T-SQL a partir do prompt de comando.
7.1.1 Sintaxe básica do SQLCMD
sqlcmd -S ServerName -d DatabaseName -Q "BACKUP DATABASE statement"
- -S: Especifica o SQL Server nome da instância
- -d: Especifica o nome do banco de dados
- -P: Executa uma consulta e sai
- -E: Usa autenticação do Windows
- -U: Especifica SQL Server Nome de usuário de login
- -P: Especifica a senha para SQL Server entrar
7.1.2 Criando backup com SQLCMD
Para fazer backup SQL Server usando SQLCMD, siga estas etapas:
- Abra Prompt de comando or PowerShell
- Navegue até a SQL Server diretório de ferramentas (normalmente adicionado ao PATH durante a instalação)
- Execute o comando de backup do banco de dados SQLCMD com os parâmetros apropriados
- Verifique se o arquivo de backup foi criado com sucesso
Exemplo de comando de backup completo usando autenticação do Windows:
sqlcmd -S localhost -E -Q "BACKUP DATABASE AdventureWorks TO DISK='C:\Backups\AdventureWorks.bak' WITH COMPRESSION, INIT"
Exemplo usando SQL Server Autenticação:
sqlcmd -S localhost -U sa -P YourPassword -Q "BACKUP DATABASE AdventureWorks TO DISK='C:\Backups\AdventureWorks.bak' WITH COMPRESSION, INIT"
Criando backup diferencial com SQLCMD
sqlcmd -S localhost -E -Q "BACKUP DATABASE AdventureWorks TO DISK='C:\Backups\AdventureWorks_Diff.bak' WITH DIFFERENTIAL, COMPRESSION, INIT"
Criando backup de log de transações com SQLCMD
sqlcmd -S localhost -E -Q "BACKUP LOG AdventureWorks TO DISK='C:\Backups\AdventureWorks_Log.trn' WITH COMPRESSION, INIT"
7.2 Usar banco de dados de backup OSQL
OSQL é um utilitário de linha de comando legado para SQL Server. Embora a Microsoft recomende o uso do SQLCMD, o OSQL permanece disponível para compatibilidade com scripts e sistemas mais antigos.
7.2.1 Sintaxe básica do OSQL
A sintaxe do OSQL é semelhante ao SQLCMD:
osql -S ServerName -d DatabaseName -Q "BACKUP DATABASE statement"
- -S: SQL Server nome da instância
- -d: Nome do banco de dados
- -P: Executa a consulta e sai
- -E: Usa conexão confiável (Autenticação do Windows)
- -U: Nome de usuário de login
- -P: Senha de login
7.2.2 Criando backup com OSQL
Para executar operações de backup do banco de dados OSQL:
- Abra Prompt de comando
- Verifique se o OSQL está disponível em seu SQL Server instalação
- Execute o comando de backup OSQL
Exemplo de backup completo:
osql -S localhost -E -Q "BACKUP DATABASE AdventureWorks TO DISK='C:\Backups\AdventureWorks.bak' WITH INIT"
Exemplo de backup diferencial:
osql -S localhost -E -Q "BACKUP DATABASE AdventureWorks TO DISK='C:\Backups\AdventureWorks_Diff.bak' WITH DIFFERENTIAL, INIT"
8. Terceiros SQL Server Ferramentas de backup
Embora SQL Server Inclui recursos nativos de backup. Ferramentas de terceiros oferecem recursos aprimorados, automação e gerenciamento de nível empresarial para organizações com requisitos complexos. Essas soluções oferecem compactação avançada, gerenciamento centralizado e fluxos de trabalho otimizados para backup. SQL Server bancos de dados em vários ambientes.
8.1 Veeam Backup para SQL Server
A Veeam oferece soluções abrangentes de proteção de dados projetadas especificamente para fazer backup SQL Server bancos de dados com impacto mínimo nos sistemas de produção.
Principais Recursos:
- Processamento com reconhecimento de aplicativo para SQL Server consistência de backup
- Backup e gerenciamento de log de transações
- Recuperação pontual com opções de restauração granulares
- Integração com Veeam Backup & Replication para proteção unificada de dados
- Verificação e validação automatizadas de backup
- Suporte para grupos de disponibilidade Always On
- Nível de VM e nível de aplicativo SQL Server opções de backup
8.2 Barracuda Backup para SQL Server
A Barracuda fornece soluções de backup integradas à nuvem com gerenciamento simplificado para MS SQL Server operações de backup do banco de dados.
Principais Recursos:
- Respostas SQL Server agendamento de backup
- Replicação de nuvem integrada ao Barracuda Cloud Storage
- Desduplicação e compactação globais
- Capacidades de recuperação local instantânea
- Console de gerenciamento baseado na Web
- Suporte para backups completos, diferenciais e de log de transações
- Proteção contra ransomware com backups imutáveis
8.3 Veritas NetBackup para SQL Server
O Veritas NetBackup é uma plataforma de backup de nível empresarial que fornece proteção abrangente para SQL Server bancos de dados em ambientes de TI complexos.
Principais Recursos:
- Gerenciamento de backup em escala empresarial para milhares de SQL Server instâncias
- Algoritmos avançados de desduplicação e compressão
- Políticas e agendamento de backup flexíveis
- Suporte para todos SQL Server modelos de recuperação
- Integração com biblioteca de fitasraries e armazenamento em nuvem
- Recuperação granular de bancos de dados, tabelas e objetos
- Suporte multiplataforma (Windows, Linux SQL Server)
- Gerenciamento automatizado do ciclo de vida do backup
8.4 Commvault Complete Backup & Recovery para SQL Server
A Commvault oferece gerenciamento inteligente de dados com backup abrangente SQL Server capacidades e recursos avançados de automação.
Principais Recursos:
- Otimização de backup e detecção de anomalias orientada por IA
- Plataforma unificada para backup, recuperação e arquivamento
- Avançado SQL Server compressão de backup (redução de até 90%)
- Orquestração automatizada de recuperação de desastres
- Sincronização ao vivo para proteção de RPO quase zero
- Suporte para SQL Server implantações locais, em nuvem e híbridas
- IntelliSnap para backups baseados em snapshots
- Capacidades abrangentes de conformidade e descoberta eletrônica
8.5 Cohesity DataProtect para SQL Server
A Cohesity fornece gerenciamento de dados de última geração com infraestrutura hiperconvergente para ambientes modernos SQL Server operações de backup.
Principais Recursos:
- Arquitetura em escala web para gerenciamento simplificado
- Capacidades de restauração em massa instantânea para SQL Server bases de dados
- Instantâneos consistentes com o aplicativo
- Desduplicação global em todos os backups
- Integração nativa em nuvem (AWS, Azure, Google Cloud)
- Painéis de análise e monitoramento integrados
- Clonar e testar recursos de banco de dados
- Proteção contra ransomware com snapshots imutáveis
8.6 Red Gate SQL Backup Pro
O Red Gate SQL Backup Pro é uma ferramenta especializada focada exclusivamente na otimização SQL Server operações de backup e restauração com compressão e desempenho superiores.
Principais Recursos:
- Taxas de compressão líderes do setor (até 95%)
- Resiliência de rede para backup SQL Server através de conexões não confiáveis
- Criptografia de backup com AES de 256 bits
- Verificação de cópia de segurança e verificação de integridade
- Histórico de backup detalhado e relatórios
- Integração com SQL Server Estúdio de Gestão
- Suporte para backup em locais de rede e armazenamento em nuvem
- Backup e restauração paralelos para operações mais rápidas
9. Como restaurar SQL Server banco de dados
9.1 Compreendendo o processo de restauração
Restaurando um SQL Server O banco de dados recria o banco de dados a partir de arquivos de backup. O processo de restauração lê o arquivo de backup e reconstrói o banco de dados para o estado em que foi feito o backup.
Considerações importantes:
- A restauração substitui o banco de dados existente
- Os usuários são desconectados durante a restauração
- A restauração deve seguir a sequência de backup (completo, depois diferencial e depois logs)
- O banco de dados não está disponível durante a operação de restauração
9.2 Restaurando backup completo usando SSMS
Siga estas etapas para restaurar um backup completo do banco de dados.
9.2.1 Processo de restauração passo a passo
- Abra SQL Server Estúdio de Gestão e conecte-se ao seu servidor
- In Explorador de Objetos, clique com o botão direito Bases de dados
- Selecionar Restaurar banco de dados
- De acordo com o relatório fonte seção, selecione dispositivo
- Clique na ... botão para procurar arquivos de backup
- Clique Adicione e navegue até seu arquivo .bak
- Selecione o arquivo de backup e clique em OK
- De acordo com o relatório Destino seção, insira o nome do banco de dados
- Revise os conjuntos de backup a serem restaurados
- Clique OK a starpara a restauração
9.2.2 Opções e configurações de restauração
Clique Opções no painel esquerdo para configurar:
- Sobrescrever o banco de dados existente (WITH REPLACE) – Permite restaurar sobre banco de dados existente
- Preservar as configurações de replicação (WITH KEEP_REPLICATION) – Mantém a configuração de replicação
- Restringir o acesso ao banco de dados restaurado (WITH RESTRICTED_USER) – Limites post-restaurar acesso
- Estado de recuperação – Escolha entre RESTAURAR COM RECUPERAÇÃO ou NORECOVERY
9.3 Restaurando o backup diferencial
A restauração diferencial requer backups completos e diferenciais:
- Primeiro, restaure o backup completo com NORECUPAÇÃO opção
- Em seguida, restaure o backup diferencial com RECOVERY opção
Exemplo de T-SQL:
-- Restore full backup (NORECOVERY to allow differential)
RESTORE DATABASE AdventureWorks
FROM DISK = 'C:\Backups\AdventureWorks_Full.bak'
WITH NORECOVERY, REPLACE;
-- Restore differential backup (RECOVERY to complete)
RESTORE DATABASE AdventureWorks
FROM DISK = 'C:\Backups\AdventureWorks_Diff.bak'
WITH RECOVERY;
GO
9.4 Restaurando com backups de log de transações
Para recuperação pontual, restaure em sequência:
- Restaurar backup completo com NORECOVERY
- Restaurar backup diferencial com NORECOVERY (se disponível)
- Restaurar backups de log de transações em ordem com NORECOVERY
- Restaurar backup de log final com RECOVERY
-- Restore full backup
RESTORE DATABASE AdventureWorks
FROM DISK = 'C:\Backups\AdventureWorks_Full.bak'
WITH NORECOVERY, REPLACE;
-- Restore first log backup
RESTORE LOG AdventureWorks
FROM DISK = 'C:\Backups\AdventureWorks_Log1.trn'
WITH NORECOVERY;
-- Restore second log backup with recovery
RESTORE LOG AdventureWorks
FROM DISK = 'C:\Backups\AdventureWorks_Log2.trn'
WITH RECOVERY;
GO
9.5 Restauração de ponto no tempo
Restaure o banco de dados para um ponto específico no tempo usando a opção STOPAT:
-- Restore to specific time: January 15, 2025 at 2:30 PM
RESTORE DATABASE AdventureWorks
FROM DISK = 'C:\Backups\AdventureWorks_Full.bak'
WITH NORECOVERY, REPLACE;
RESTORE LOG AdventureWorks
FROM DISK = 'C:\Backups\AdventureWorks_Log.trn'
WITH RECOVERY, STOPAT = '2025-01-15 14:30:00';
GO
9.6 Restaurando usando comandos T-SQL
Script de restauração completo com realocação de arquivos:
RESTORE DATABASE AdventureWorks
FROM DISK = 'C:\Backups\AdventureWorks.bak'
WITH MOVE 'AdventureWorks_Data' TO 'D:\Data\AdventureWorks.mdf',
MOVE 'AdventureWorks_Log' TO 'E:\Logs\AdventureWorks.ldf',
REPLACE,
STATS = 10;
GO
9.7 Verificando a integridade do backup antes da restauração
Verifique a validade do backup sem restaurar:
RESTORE VERIFYONLY
FROM DISK = 'C:\Backups\AdventureWorks.bak';
GO
Este comando verifica se o conjunto de backup está completo e legível sem realmente restaurar o banco de dados.
10. SQL Server Práticas recomendadas de backup
10.1 Desenvolvendo uma estratégia de backup
10.1.1 Avaliação de Requisitos de Negócios
Antes de implementar backups, avalie:
- Criticidade dos dados: Qual a importância desses dados para as operações?
- Mudar a frequência: Com que frequência os dados mudam?
- Tamanho do banco de dados: Qual é o tamanho do banco de dados?
- Recursos disponíveis: Qual armazenamento e largura de banda estão disponíveis?
- Necessidades de conformidade: Quais regulamentos você deve seguir?
10.1.2 Definindo RTO e RPO
Objetivo de Tempo de Recuperação (RTO): Tempo máximo de inatividade aceitável. Determina a rapidez com que você precisa restaurar as operações.
Objetivo do Ponto de Recuperação (RPO): Perda máxima de dados aceitável. Determina a frequência de backup.
| Requisito RTO/RPO | Estratégia de backup recomendada |
|---|---|
| RPO: Horas, RTO: Horas | Registro diário completo + registro de transações a cada 1-2 horas |
| RPO: Minutos, RTO: Horas | Backups diários completos + de log a cada 15-30 minutos |
| RPO: Quase zero, RTO: Minutos | Grupos de disponibilidade sempre ativos + backups de log frequentes |
| RPO: Dias, RTO: Dias | Semanal completo + diferencial diário |
10.2 Criando um agendamento de backup
10.2.1 Recomendações de frequência
Cronograma típico de backup para bancos de dados de produção:
- Backups completos: Semanalmente (domingo à noite durante baixa atividade)
- Backups diferenciais: Diariamente (todas as noites)
- Backups de log de transações: A cada 15-30 minutos durante o horário comercial
- Backups somente para cópia: Conforme necessário para teste ou desenvolvimento
10.2.2 Equilibrando desempenho e proteção
Considere estes fatores ao agendar:
- Fora do horário de pico: Execute backups completos durante períodos de baixa atividade
- Impacto dos recursos: A compressão reduz a E/S, mas aumenta o uso da CPU
- Largura de banda da rede: Agende backups de rede quando o tráfego estiver baixo
- Janelas de backup: Garanta que os backups sejam concluídos antes do horário comercial
10.3 Melhores práticas de armazenamento de backup
10.3.1 Armazenamento no local vs. armazenamento externo
Backups no local:
- Tempos de backup e restauração mais rápidos
- C inferiorost para acesso de alta frequência
- Vulnerável a desastres locais
- Melhor para cenários de recuperação rápida
Backups externos:
- Proteção contra desastres específicos do local
- Conformidade com os requisitos de redundância geográfica
- Tempos de restauração mais lentos
- Essencial para recuperação de desastres
10.3.2 Opções de backup em nuvem
Vantagens do armazenamento em nuvem:
- Armazenamento de Blobs do Azure: Nativo SQL Server integração, cost-eficaz para acesso pouco frequente
- Amazon S3: Camadas de armazenamento flexíveis e altamente duráveis
- Armazenamento em nuvem do Google: Preços competitivos, disponibilidade global
10.3.3 Políticas de retenção de backup
Exemplo de política de retenção:
- Mantenha backups diários por 7 dias
- Mantenha backups semanais por 4 semanas
- Mantenha backups mensais por 12 meses
- Mantenha backups anuais por 7 anos (conformidade)
10.4 Compressão e criptografia de backup
Benefícios da compressão:
- Reduz o tamanho do arquivo de backup em 50-70%
- Diminui o tempo de backup
- Reduz o armazenamento costs
- Reduz a largura de banda da rede para backups remotos
Melhores práticas de criptografia:
- Sempre criptografe backups que contenham dados confidenciais
- Use criptografia AES de 256 bits
- Certificado seguro ou gerenciamento de chaves
- Documente as chaves de criptografia e armazene-as separadamente
10.5 Testando e verificando backups
10.5.1 Teste de restauração regular
Procedimentos de restauração de teste trimestral ou mensalmente:
- Restaurar backups para um ambiente de teste
- Verifique a integridade e a integridade dos dados
- Verifique a funcionalidade do aplicativo
- Tempo de restauração do documento (validar RTO)
- Identificar e resolver quaisquer problemas
10.5.2 Usando RESTORE VERIFYONLY
Automatize a validação de backup:
-- Verify backup integrity
RESTORE VERIFYONLY
FROM DISK = 'C:\Backups\AdventureWorks.bak'
WITH CHECKSUM;
GO
Execute a verificação imediatamente após a conclusão do backup ou como parte da manutenção programada.
10.6 Automação e monitoramento de backup
10.6.1 SQL Server Trabalhos de agente
Crie tarefas de backup automatizadas:
- Expandir SQL Server Agente
em SSMS
- Botão direito do mouse Empregos e selecione Novo emprego
- Nomeie o trabalho (por exemplo, “Backup completo diário”)
- Adicionar uma Passo com comandos de backup T-SQL
- Crie uma Programação do dia para tempo de execução
- configurar Notificações para sucesso/fracasso
10.6.2 Planos de Manutenção
SQL Server Os Planos de Manutenção fornecem uma interface visual para automação de backup:
- Acessar Gestão de Sistemas -> Planos de manutenção
- Clique com o botão direito e selecione Assistente de plano de manutenção
- Selecione tarefas de backup para automatizar
- Configurar agendamento e opções de backup
- Configurar relatórios e registros
10.6.3 Alertas e notificações de backup
Configurar notificações por e-mail:
- Configurar o Database Mail em SQL Server
- Crie alertas para falhas de backup
- Monitorar o histórico de tarefas de backup
- Enviar relatórios resumidos aos administradores
10.7 Documentação e Planejamento de Recuperação de Desastres
Mantenha documentação abrangente:
- Agendamento de backup: Quando e o que é feito backup
- Políticas de retenção: Por quanto tempo os backups são mantidos
- Locais de armazenamento: Onde os backups são armazenados
- Procedimentos de restauração: Instruções de recuperação passo a passo
- Informações para contato: Pessoal-chave e fornecedores
- Resultados dos testes de recuperação: Resultados de testes documentados
11. avançado SQL Server Cenários de backup
11.1 Fazendo backup de bancos de dados muito grandes (VLDB)
11.1.1 Estratégias de arquivo e grupo de arquivos
Para bancos de dados que excedem várias centenas de gigabytes:
- Separe dados somente leitura e somente leitura em diferentes grupos de arquivos
- Faça backup de grupos de arquivos somente leitura com pouca frequência
- Concentre backups frequentes em grupos de arquivos ativos
- Use backups em nível de arquivo para controle granular
Exemplo de backup de arquivo:
-- Back up specific file
BACKUP DATABASE LargeDB
FILE = 'LargeDB_Data1'
TO DISK = 'C:\Backups\LargeDB_File1.bak'
WITH COMPRESSION;
GO
11.1.2 Otimização do desempenho de backup
Melhore o desempenho do backup VLDB:
- Backups distribuídos: Gravar em vários arquivos simultaneamente
- Compressão: Reduza os requisitos de E/S e armazenamento
- Vários dispositivos de backup: Paralelizar operações de backup
- Armazenamento rápido: Use SSDs para preparação de backup
- Contagem de buffer: Aumentar a opção BUFFERCOUNT
- Tamanho máximo de transferência: Otimizar a configuração MAXTRANSFERSIZE
-- Optimized VLDB backup
BACKUP DATABASE LargeDB
TO DISK = 'C:\Backups\LargeDB_1.bak',
DISK = 'D:\Backups\LargeDB_2.bak',
DISK = 'E:\Backups\LargeDB_3.bak'
WITH COMPRESSION,
BUFFERCOUNT = 100,
MAXTRANSFERSIZE = 4194304;
GO
11.2 Backup em grupos de disponibilidade Always On
Os grupos de disponibilidade Always On distribuem a carga de backup entre as réplicas:
- Configurar preferências de backup (primário, secundário ou qualquer réplica)
- Descarregue backups para réplicas secundárias para reduzir a carga de trabalho primária
- Use backups COPY_ONLY em réplicas secundárias
- Monitorar configurações de prioridade de backup
-- Check backup preferences
SELECT
ag.name AS AvailabilityGroup,
ar.replica_server_name,
ar.backup_priority
FROM sys.availability_replicas ar
INNER JOIN sys.availability_groups ag ON ar.group_id = ag.group_id;
GO
11.3 Backup para espelhamento de banco de dados
Em cenários de espelhamento de banco de dados:
- Faça backup do banco de dados principal regularmente
- Os backups de log de transações são essenciais para espelhamento
- O banco de dados espelhado está em estado de RESTAURAÇÃO (não pode ser feito backup diretamente)
- Considere fazer backup do espelho após o failover
11.4 Backup no Armazenamento de Blobs do Azure
SQL Server pode fazer backup diretamente no Armazenamento de Blobs do Azure:
- Criar conta de armazenamento do Azure
- Crie SQL Server credencial para autenticação do Azure
- Use a sintaxe de URL para o destino do backup
-- Create credential for Azure
CREATE CREDENTIAL [https://mystorageaccount.blob.core.windows.net/backups]
WITH IDENTITY = 'SHARED ACCESS SIGNATURE',
SECRET = 'your_SAS_token';
GO
-- Backup to Azure
BACKUP DATABASE AdventureWorks
TO URL = 'https://mystorageaccount.blob.core.windows.net/backups/AdventureWorks.bak'
WITH COMPRESSION,
STATS = 10;
GO
11.5 Backup para URL
Benefícios do backup para URL:
- Capacidade ilimitada de armazenamento em nuvem
- Redundância geográfica tratada automaticamente
- Modelo de preços pré-pago
- Não é necessário espaço em disco local
- Suporta até 64 URLs por backup (striping)
11.6 Backups distribuídos para desempenho
Os backups segmentados dividem os dados em vários arquivos para E/S mais rápida:
-- Striped backup to 4 files
BACKUP DATABASE AdventureWorks
TO DISK = 'C:\Backups\AW_Stripe1.bak',
DISK = 'D:\Backups\AW_Stripe2.bak',
DISK = 'E:\Backups\AW_Stripe3.bak',
DISK = 'F:\Backups\AW_Stripe4.bak'
WITH COMPRESSION, FORMAT;
GO
Observação: todos os arquivos de distribuição são necessários para a restauração. A ausência de qualquer arquivo torna o backup inutilizável.
12. Solução De Problemas SQL Server Problemas de backup
12.1 Erros comuns de backup e soluções
Erro: “Erro do sistema operacional 5: acesso negado”
- causa: SQL Server a conta de serviço não tem permissões
- Alternativa: Conceder permissões de gravação para SQL Server conta de serviço na pasta de backup
Erro: “Não é possível abrir o dispositivo de backup… Erro do dispositivo ou dispositivo off-line”
- causa: Caminho inválido ou compartilhamento de rede indisponível
- Alternativa: Verifique se o caminho existe, verifique a conectividade de rede e garanta espaço em disco suficiente
Erro: “Espaço insuficiente no disco”
- causa: Espaço em disco insuficiente para backup
- Alternativa: Libere espaço em disco, use compactação e faça backup em um local diferente
Erro: “Banco de dados em uso. O banco de dados está sendo usado por outros usuários”
- causa: Conexões ativas durante a restauração
- Alternativa: Use a opção WITH REPLACE ou desconecte os usuários primeiro
12.2 Problemas de desempenho de backup
Diagnosticar backups lentos:
- Verifique o desempenho de E/S do disco usando monitor de desempenho
- Monitore o progresso do backup com a opção STATS
- Revisão SQL Server log de erros para gargalos
- Considere a compressão para reduzir E/S
- Use backups distribuídos em vários discos
Consulta para monitorar o progresso do backup:
SELECT
session_id,
command,
percent_complete,
CAST(((DATEDIFF(s,start_time,GetDate()))/3600) as varchar) + ' hour(s), '
+ CAST((DATEDIFF(s,start_time,GetDate())%3600)/60 as varchar) + 'min, '
+ CAST((DATEDIFF(s,start_time,GetDate())%60) as varchar) + ' sec' as running_time,
CAST((estimated_completion_time/3600000) as varchar) + ' hour(s), '
+ CAST((estimated_completion_time %3600000)/60000 as varchar) + 'min, '
+ CAST((estimated_completion_time %60000)/1000 as varchar) + ' sec' as est_time_to_go,
dateadd(second,estimated_completion_time/1000, getdate()) as est_completion_time
FROM sys.dm_exec_requests
WHERE command LIKE 'BACKUP%';
GO
12.3 Problemas de espaço e armazenamento
Evite problemas de armazenamento:
- Implementar políticas de retenção: Excluir backups antigos automaticamente
- Usar compressão: Reduza o tamanho do arquivo de backup em 50-70%
- Arquivar para armazenamento mais barato: Mover backups antigos para armazenamento de arquivo
- Monitorar espaço em disco: Configurar alertas para pouco espaço em disco
- Estimar tamanho do backup: Calcule o tamanho esperado antes de fazer o backup
Estimar tamanho do backup:
-- Estimate full backup size
EXEC sp_spaceused;
GO
12.4 Problemas de permissão e acesso
Permissões necessárias para backups:
- BANCO DE DADOS DE BACKUP permissão
- db_backupoperator associação de função
- sysadmin função do servidor (para todas as operações de backup)
Conceder permissões de backup:
-- Grant backup permission to user
GRANT BACKUP DATABASE TO [BackupUser];
GRANT BACKUP LOG TO [BackupUser];
GO
-- Add user to backup operator role
ALTER ROLE db_backupoperator ADD MEMBER [BackupUser];
GO
12.5 Arquivos de backup corrompidos
Detecte e trate backups corrompidos:
Verifique a integridade do backup:
RESTORE VERIFYONLY
FROM DISK = 'C:\Backups\AdventureWorks.bak'
WITH CHECKSUM;
GO
Habilite CHECKSUM para backups futuros:
BACKUP DATABASE AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks.bak'
WITH CHECKSUM, INIT;
GO
Estratégias de prevenção:
- Sempre use a opção CHECKSUM durante o backup
- Verifique os backups imediatamente após a criação
- Teste restaurações regularmente
- Armazene backups em armazenamento confiável
- Manter várias cópias de segurança
12.6 Recuperar dados de arquivos de backup corrompidos
Se seus arquivos de backup estiverem corrompidos e você ainda quiser recuperar dados deles, você pode usar ferramentas de terceiros, como DataNumen SQL Recovery, como abaixo:
- Start DataNumen SQL Recovery.
- Selecione o arquivo de backup corrompido como arquivo de origem alterando o filtro para “Todos os arquivos (*.*)”:
- Defina o arquivo de saída .MDF, se necessário.
- Clique em “Star“Recuperação” e siga as instruções para recuperar o banco de dados.
- Após o processo de recuperação, um novo banco de dados de recuperação aparecerá em SQL Server que contém todos os dados recuperados.
13. SQL Server Segurança de backup
13.1 Protegendo arquivos de backup
Proteja os arquivos de backup contra acesso não autorizado:
- Permissões do sistema de arquivos: Restringir o acesso somente a administradores autorizados
- Segurança de rede: Use protocolos seguros para backups de rede
- Segurança física: Armazene a mídia de backup em locais seguros
- Registro de acesso: Auditar acesso ao arquivo de backup
13.2 Opções de criptografia
SQL Server suporta criptografia de backup transparente:
Criar certificado para criptografia:
-- Create master key
USE master;
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'StrongP@ssw0rd!';
GO
-- Create certificate
CREATE CERTIFICATE BackupCertificate
WITH SUBJECT = 'Database Backup Certificate',
EXPIRY_DATE = '2026-12-31';
GO
Backup criptografado:
BACKUP DATABASE AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks_Encrypted.bak'
WITH COMPRESSION,
ENCRYPTION (
ALGORITHM = AES_256,
SERVER CERTIFICATE = BackupCertificate
);
GO
Importante: Faça backup do certificado e da chave privada separadamente. Sem eles, os backups criptografados não poderão ser restaurados.
-- Backup certificate
BACKUP CERTIFICATE BackupCertificate
TO FILE = 'C:\Certificates\BackupCertificate.cer'
WITH PRIVATE KEY (
FILE = 'C:\Certificates\BackupCertificate.key',
ENCRYPTION BY PASSWORD = 'C3rt!f!c@t3P@ss'
);
GO
13.3 Controle de acesso e permissões
Implementar o princípio do menor privilégio:
- Conceda permissões de backup apenas para contas necessárias
- Use contas separadas para operações de backup e restauração
- Evite usar a conta sa para backups
- Auditar regularmente as permissões de backup
- Remova as permissões quando elas não forem mais necessárias
13.4 Considerações de Conformidade
Atender aos requisitos regulamentares:
- GDPR: Criptografar backups contendo dados pessoais e implementar políticas de retenção
- HIPAA: Criptografe PHI em backups, controle o acesso e mantenha trilhas de auditoria
- DSS PCI: Criptografe backups de dados do titular do cartão, armazenamento de backup seguro
- SOX: Manter a integridade do backup e as políticas de retenção de documentos
14. Monitoramento e manutenção de operações de backup
14.1 Rastreamento do histórico de backup
SQL Server armazena o histórico de backup no banco de dados msdb:
-- View recent backup history
SELECT
bks.database_name,
bks.backup_start_date,
bks.backup_finish_date,
CASE bks.type
WHEN 'D' THEN 'Full'
WHEN 'I' THEN 'Differential'
WHEN 'L' THEN 'Log'
ELSE 'Other'
END AS backup_type,
bks.backup_size / 1024 / 1024 AS backup_size_mb,
bkmf.physical_device_name
FROM msdb.dbo.backupset bks
INNER JOIN msdb.dbo.backupmediafamily bkmf ON bks.media_set_id = bkmf.media_set_id
WHERE bks.backup_start_date >= DATEADD(DAY, -7, GETDATE())
ORDER BY bks.backup_start_date DESC;
GO
Encontre bancos de dados sem backups recentes:
SELECT
d.name AS database_name,
MAX(bs.backup_finish_date) AS last_backup_date,
DATEDIFF(DAY, MAX(bs.backup_finish_date), GETDATE()) AS days_since_last_backup
FROM sys.databases d
LEFT JOIN msdb.dbo.backupset bs ON d.name = bs.database_name
WHERE d.database_id > 4 -- Exclude system databases
GROUP BY d.name
HAVING MAX(bs.backup_finish_date) < DATEADD(DAY, -7, GETDATE())
OR MAX(bs.backup_finish_date) IS NULL
ORDER BY last_backup_date;
GO
14.2 Usando SQL Server Relatórios
SQL Server O Management Studio inclui relatórios de backup integrados:
- Clique com o botão direito do mouse no banco de dados no Object Explorer
- Selecionar Relatórios -> Relatórios Padrão
- Escolha entre os relatórios disponíveis:
- Eventos de backup e restauração
- Todos os backups
- Status de envio do registro de transações
14.3 Ferramentas de monitoramento de terceiros
Soluções de monitoramento comercial:
- Sentinela SQL: Monitoramento e alerta abrangentes
- Monitor SQL Redgate: Monitoramento e diagnóstico em tempo realostics
- Analisador de desempenho do banco de dados SolarWinds: Monitoramento de desempenho e backup
- Diagnóstico Idera SQLostGerente de TI: Validação e alerta de backup
14.4 Verificações de integridade de backup
Crie um procedimento de verificação de saúde:
-- Backup health check procedure
CREATE PROCEDURE sp_BackupHealthCheck
AS
BEGIN
-- Check for databases without recent full backup
SELECT
'Missing Recent Full Backup' AS issue,
d.name AS database_name,
ISNULL(CAST(MAX(bs.backup_finish_date) AS VARCHAR), 'Never') AS last_backup
FROM sys.databases d
LEFT JOIN msdb.dbo.backupset bs
ON d.name = bs.database_name AND bs.type = 'D'
WHERE d.database_id > 4
GROUP BY d.name
HAVING MAX(bs.backup_finish_date) < DATEADD(DAY, -7, GETDATE()) OR MAX(bs.backup_finish_date) IS NULL; -- Check for failed backup jobs SELECT 'Failed Backup Job' AS issue, j.name AS job_name, jh.run_date, jh.run_time, jh.message FROM msdb.dbo.sysjobs j INNER JOIN msdb.dbo.sysjobhistory jh ON j.job_id = jh.job_id WHERE jh.run_status = 0 -- Failed AND jh.step_id = 0 AND jh.run_date >= CONVERT(INT, CONVERT(VARCHAR, GETDATE()-7, 112))
AND j.name LIKE '%backup%';
END
GO
15. SQL Server Perguntas frequentes sobre backup
15.1 Com que frequência devo fazer backup SQL Server?
A frequência de backup depende do seu Objetivo de Ponto de Recuperação (RPO):
- Bancos de dados de produção críticos: Semanal completo, diário diferencial, registro a cada 15-30 minutos
- Bancos de dados de produção padrão: Semanal completo, diário diferencial, registro a cada 1-2 horas
- Bancos de dados de desenvolvimento: Diário ou semanal completo
- Bancos de dados somente leitura: Completo após cada alteração de dados
15.2 Qual é a diferença entre backup completo e diferencial?
Um backup completo copia todo o banco de dados, enquanto um backup diferencial captura apenas as alterações desde o último backup completo. Os backups diferenciais são menores e mais rápidos, mas exigem o backup completo base para restauração.
15.3 Posso fazer backup SQL Server Enquanto está funcionando?
Sim, SQL Server Suporta backups online. Os usuários podem continuar trabalhando durante as operações de backup. SQL Server usa seu log de transações para manter a consistência, garantindo que os backups sejam válidos mesmo com modificações simultâneas.
15.4 Quanto tempo dura SQL Server Fazer backup?
A duração do backup varia com base em:
- Tamanho do banco de dados: Bancos de dados maiores demoram mais
- Tipo de backup: Os backups completos demoram mais
- Compressão: Pode aumentar o tempo da CPU, mas reduzir a duração geral
- Velocidade de armazenamento: SSDs significativamente mais rápidos que HDDs
- Carga do servidor: Maior atividade torna os backups mais lentos
Intervalos típicos: um banco de dados de 10 GB pode levar de 5 a 15 minutos para backup completo com compactação em hardware moderno.
15.5 Onde devo armazenar SQL Server Backups?
Melhor prática: siga a regra 3-2-1:
- 3 cópias dos seus dados
- 2 diferentes tipos de armazenamento (por exemplo, disco e fita/nuvem)
- 1 cópia externa
Locais recomendados:
- Disco local para recuperação rápida
- Armazenamento de rede para gerenciamento centralizado
- Armazenamento em nuvem (Azure, AWS) para recuperação de desastres
15.6 O que é a extensão de arquivo .bak?
A extensão .bak é a extensão de arquivo padrão para SQL Server arquivos de backup. É uma convenção, não uma exigência – SQL Server Os backups funcionam com qualquer extensão de arquivo. No entanto, usar .bak torna os arquivos de backup facilmente identificáveis e é uma prática padrão do setor.
15.7 Como fazer backup SQL Server para unidade de rede?
Para fazer backup em uma unidade de rede:
- Garantir SQL Server a conta de serviço tem permissões de gravação no compartilhamento de rede
- Use o caminho UNC no comando de backup:
\\ServerName\ShareName\BackupFile.bak - Teste a conectividade antes de agendar backups automatizados
BACKUP DATABASE AdventureWorks
TO DISK = '\\BackupServer\SQLBackups\AdventureWorks.bak'
WITH COMPRESSION, INIT;
GO
15.8 Posso compactar SQL Server Backups?
Sim, SQL Server suporta compressão de backup nativa (Enterprise Edition ou Standard Edition starting SQL Server 2016 SP1). A compactação normalmente reduz o tamanho do backup em 50-70% e, muitas vezes, diminui o tempo de backup, reduzindo a E/S, embora aumente o uso da CPU.
BACKUP DATABASE AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks.bak'
WITH COMPRESSION;
GO
16. Conclusão
16.1 principais tópicos
Eficaz SQL Server Estratégias de backup protegem seus dados e garantem a continuidade dos negócios. Lembre-se destes pontos essenciais:
- Entenda os tipos de backup: Escolha os tipos de backup apropriados (completo, diferencial, log de transações) com base em seus requisitos de recuperação
- Selecione o modelo de recuperação adequado: Recuperação completa de dados críticos, simples para bancos de dados de desenvolvimento
- Implementar agendamento de backup: Backups completos regulares combinados com backups diferenciais e de log minimizam a perda de dados
- Procedimentos de restauração de teste: Os backups só são valiosos se puderem ser restaurados com sucesso
- Automatizar e monitorar: Uso SQL Server Agente, planos de manutenção e ferramentas de monitoramento
- Backups seguros: Criptografe dados confidenciais e controle o acesso aos arquivos de backup
- Armazene cópias fora do local: Proteja-se contra desastres em todo o site com armazenamento remoto ou em nuvem
- Documente tudo: Manter documentação clara dos procedimentos de backup e recuperação
16.2 Próximos passos e recursos
Para melhorar seu SQL Server implementação de backup:
- Avalie sua estratégia de backup atual em relação às melhores práticas
- Calcule seus requisitos de RTO e RPO
- Procedimentos de restauração de teste em sistemas que não sejam de produção
- Revise e atualize os cronogramas de backup regularmente
- Implementar monitoramento e alertas automatizados
- Treinar os membros da equipe sobre procedimentos de restauração
Recursos adicionais:
- Microsoft SQL Server Documentação: Guia oficial de backup e restauração
- SQL Server fóruns da comunidade de backup: compartilhe experiências e soluções
- Certificações profissionais: Microsoft Certified: Azure Database Administrator Associate
16.3 Ferramentas e soluções recomendadas
Com base em diferentes cenários:
Pequenos negócios:
- Nativo SQL Server backup com agendamento SQL Server Empregos de agente
- SQLBackupAndFTP para integração em nuvem
- Backup do Azure para SQL Server
Médias empresas:
- SQL Server Planos de manutenção
- Ferramentas de terceiros como Redgate SQL Backup Pro
- Veeam Backup para SQL Server
Grandes empresas:
- Quest LiteSpeed para máxima compressão
- Commvault ou Veritas NetBackup para gerenciamento de backup empresarial
- Grupos de disponibilidade sempre ativos para alta disponibilidade
SQL Server O backup é fundamental para a administração de bancos de dados. Com planejamento, implementação e testes adequados, você pode garantir que seus dados permaneçam protegidos e recuperáveis quando necessário.tart implementando essas melhores práticas hoje para proteger seu SQL Server bases de dados.
Sobre o autor
Yuan Sheng é um administrador de banco de dados sênior (DBA) com mais de 10 anos de experiência em SQL Server ambientes e gerenciamento de bancos de dados corporativos. Ele solucionou com sucesso centenas de cenários de recuperação de bancos de dados em organizações de serviços financeiros, saúde e manufatura.
Yuan é especialista em SQL Server recuperação de banco de dados, soluções de alta disponibilidade e otimização de desempenho. Sua vasta experiência prática inclui gerenciamento de bancos de dados multiterabytes, implementação de Grupos de Disponibilidade Always On e desenvolvimento de estratégias automatizadas de backup e recuperação para sistemas empresariais de missão crítica.
Por meio de sua experiência técnica e abordagem prática, Yuan se concentra na criação de guias abrangentes que ajudam administradores de banco de dados e profissionais de TI a resolver problemas complexos. SQL Server desafios de forma eficiente. Ele se mantém atualizado com as últimas SQL Server lançamentos e as tecnologias de banco de dados em evolução da Microsoft, testando regularmente cenários de recuperação para garantir que suas recomendações reflitam as melhores práticas do mundo real.
Tem dúvidas sobre SQL Server recuperação ou precisa de orientação adicional para solução de problemas de banco de dados? Yuan dá as boas-vindas comentários e sugestões para melhorar esses recursos técnicos.











