Escolar Documentos
Profissional Documentos
Cultura Documentos
dados
Aplica-se a: SQL Server
Este tópico descreve como criar um backup de banco de dados completo no SQL Server
usando SQL Server Management Studio, Transact-SQL ou PowerShell.
Para obter mais informações, consulte SQL Server Backup and Restore with Azure Blob
Storage and SQL Server Backup to URL .
Limitações e restrições
A BACKUPinstrução não é permitida em uma transação explícita ou implícita.
Os backups criados por uma versão mais recente do SQL Server não podem ser
restaurados em versões anteriores do SQL Server.
Para obter uma visão geral e uma análise mais profunda dos conceitos e tarefas de
backup, consulte Visão geral do backup (SQL Server) antes de continuar.
Recomendações
À medida que um banco de dados aumenta de tamanho, os backups completos do
banco de dados levam mais tempo para serem concluídos e exigem mais espaço de
armazenamento. Para bancos de dados grandes, considere complementar os
backups de banco de dados completos com uma série de backups de banco de
dados diferenciais .
Estime o tamanho de um backup de banco de dados completo usando
o procedimento armazenado do sistema sp_spaceused .
Por padrão, toda operação de backup bem-sucedida adiciona uma entrada no log
de erros do SQL Server e no log de eventos do sistema. Se você fizer backup com
frequência, as mensagens de sucesso se acumularão rapidamente, resultando em
enormes logs de erros, dificultando a localização de outras mensagens. Nesses
casos, você pode suprimir essas entradas de log de backup usando o sinalizador de
rastreamento 3226 se nenhum de seus scripts depender dessas entradas. Para obter
mais informações, consulte Sinalizadores de rastreamento (Transact-SQL) .
Segurança
TRUSTWORTHY está definido como OFF em um backup de banco de dados. Para obter
informações sobre como definir TRUSTWORTHY como ON, consulte Opções de ALTER
DATABASE SET (Transact-SQL) .
Permissões
BACKUP DATABASEe BACKUP LOGas permissões padrão para membros da função de servidor
fixa sysadmin e as funções de banco de dados fixas db_owner e db_backupoperator .
Ao especificar uma tarefa de backup usando o SQL Server Management Studio, você pode
gerar o script Transact-SQL BACKUP correspondente clicando no botão Script e
selecionando um destino de script.
Importante
Você deve executar pelo menos um backup completo do banco de dados antes de
executar um diferencial ou um backup de log de transação.
Você pode usar a lista suspensa Fazer backup em para selecionar um dispositivo
diferente. Selecione Adicionar para adicionar objetos de backup e/ou
destinos. Você pode distribuir o conjunto de backup em vários arquivos para maior
velocidade de backup.
Para obter mais informações sobre as várias opções de backup, consulte a página
Geral , a página de opções de mídia e a página de opções de backup .
Informações adicionais
Depois de criar um backup de banco de dados completo, você pode criar um backup
de banco de dados diferencial ou um backup de log de transações .
(opcional) Você pode marcar a caixa de seleção Backup somente cópia para criar
um backup somente cópia. Um backup somente cópia é um backup do SQL Server
independente da sequência de backups convencionais do SQL Server. Para obter
mais informações, consulte Backups somente cópia (SQL Server) . Um backup
somente cópia não está disponível para o tipo de backup diferencial .
A opção Substituir mídia está desativada na página Opções de mídia se você
estiver fazendo backup em um URL.
Exemplos
Para os exemplos a seguir, crie um banco de dados de teste com o seguinte código
Transact-SQL:
SQLcópia de
USE [master]
GO
USE [SQLTestDB]
GO
CREATE TABLE SQLTest
(
ID INT NOT NULL PRIMARY KEY,
c1 VARCHAR(100) NOT NULL,
dt1 DATETIME NOT NULL DEFAULT getdate()
);
GO
USE [SQLTestDB]
GO
Neste exemplo, SQLTestDBserá feito backup do banco de dados com criptografia no local
de backup padrão.
SQLcópia de
-- Create the master key
CREATE MASTER KEY ENCRYPTION BY PASSWORD = '23987hxJ#KL95234nl0zBe';
-- If the master key already exists, open it in the same session that you
create the certificate (see next step)
OPEN MASTER KEY DECRYPTION BY PASSWORD = '23987hxJ#KL95234nl0zBe'
Usando o Transact-SQL
Crie um backup de banco de dados completo executando a BACKUP DATABASEinstrução
para criar o backup de banco de dados completo, especificando:
Opção Descrição
base de dados É o banco de dados cujo backup será feito.
dispositivo_de_backup [ , ... n ] Especifica uma lista de 1 a 64 dispositivos de backup a serem
usados para a operação de backup. Você pode especificar um
Opção Descrição
dispositivo de backup físico ou um dispositivo de backup lógico
correspondente, se já estiver definido. Para especificar um
dispositivo de backup físico, use a opção DISK ou TAPE:
Importante
Tenha muito cuidado ao usar a cláusula FORMAT da BACKUPinstrução porque ela destrói
todos os backups que foram armazenados anteriormente na mídia de backup.
Exemplos
Para os exemplos a seguir, crie um banco de dados de teste com o seguinte código
Transact-SQL:
SQLcópia de
USE [master]
GO
USE [SQLTestDB]
GO
CREATE TABLE SQLTest (
ID INT NOT NULL PRIMARY KEY,
c1 VARCHAR(100) NOT NULL,
dt1 DATETIME NOT NULL DEFAULT GETDATE()
)
GO
USE [SQLTestDB]
GO
SQLcópia de
USE SQLTestDB;
GO
BACKUP DATABASE SQLTestDB
TO TAPE = '\\.\Tape0'
WITH NOINIT,
NAME = 'Full Backup of SQLTestDB';
GO
O exemplo a seguir cria um dispositivo de backup lógico para uma unidade de fita. O
exemplo então faz backup do banco de dados SQLTestDB completo para esse
dispositivo.
SQLcópia de
-- Create a logical backup device,
-- SQLTestDB_Bak_Tape, for tape device \\.\tape0.
USE master;
GO
EXEC sp_addumpdevice 'tape', 'SQLTestDB_Bak_Tape', '\\.\tape0'; USE SQLTestDB;
GO
BACKUP DATABASE SQLTestDB
TO SQLTestDB_Bak_Tape
WITH FORMAT,
MEDIANAME = 'SQLTestDB_Bak_Tape',
MEDIADESCRIPTION = '\\.\tape0',
NAME = 'Full Backup of SQLTestDB';
GO
Usando o PowerShell
Use o cmdlet Backup-SqlDatabase . Para indicar explicitamente um backup de banco
de dados completo, especifique o parâmetro -BackupAction com seu valor
padrão, Database . Este parâmetro é opcional para backups completos do banco de
dados.
Observação
Esses exemplos requerem o módulo SqlServer. Para determinar se ele está instalado,
execute Get-Module -Name SqlServer. Para instalar, execute Install-Module -Name
SqlServerem uma sessão de administrador do PowerShell.
Importante
Se você estiver abrindo uma janela do PowerShell no SQL Server Management Studio
para se conectar a uma instalação do SQL Server, poderá omitir a parte da credencial, pois
sua credencial no SSMS é usada automaticamente para estabelecer a conexão entre o
PowerShell e sua instância do SQL Server.
Exemplos
PowerShellcópia de
$credential = Get-Credential
PowerShellcópia de
$credential = Get-Credential
$container = 'https://<myStorageAccount>blob.core.windows.net/<myContainer>'
$fileName = '<myDatabase>.bak'
$server = '<myServer>'
$database = '<myDatabase>'
$backupFile = $container + '/' + $fileName