Fazer backup e restauração dos bancos de dados do SQL Server no Linux

Aplica-se a: SQL Server – Linux

Você pode fazer backups de bancos de dados do SQL Server em Linux com muitas opções diferentes. Em um servidor Linux, você pode usar o sqlcmd para se conectar ao SQL Server e fazer backups. No Windows, você pode se conectar a SQL Server em Linux e fazer backups com a interface do usuário. A funcionalidade de backup é a mesma entre plataformas. Por exemplo, você pode fazer backup de bancos de dados localmente, em unidades remotas ou fazer backup do SQL Server em URL para o Armazenamento de Blobs do Microsoft Azure.

Importante

O SQL Server em Linux dá suporte apenas ao backup para o armazenamento de Blobs do Azure usando os blobs de blocos. Usar uma chave de armazenamento para backup e restauração resultará no uso de um blob de página, o que não tem suporte. Em vez disso, use uma Assinatura de Acesso Compartilhado. Para obter informações sobre blobs de blocos em relação a blobs de páginas, confira Backup para blob de blocos vs. blob de páginas.

Fazer backup de um banco de dados

No exemplo a seguir, o sqlcmd se conecta à instância do SQL Server local e faz um backup completo de um banco de dados de usuário chamado demodb.

sqlcmd -S localhost -U SA -Q "BACKUP DATABASE [demodb] TO DISK = N'/var/opt/mssql/data/demodb.bak' WITH NOFORMAT, NOINIT, NAME = 'demodb-full', SKIP, NOREWIND, NOUNLOAD, STATS = 10"

Quando você executa o comando, o SQL Server solicita uma senha. Depois de inserir a senha, o Shell retornará os resultados do progresso do backup. Por exemplo:

Password:
10 percent processed.
21 percent processed.
32 percent processed.
40 percent processed.
51 percent processed.
61 percent processed.
72 percent processed.
80 percent processed.
91 percent processed.
Processed 296 pages for database 'demodb', file 'demodb' on file 1.
100 percent processed.
Processed 2 pages for database 'demodb', file 'demodb_log' on file 1.
BACKUP DATABASE successfully processed 298 pages in 0.064 seconds (36.376 MB/sec).

Fazer backup do log de transações

Se o banco de dados estiver no modelo de recuperação completa, você também poderá fazer backups de log de transações para obter opções de restauração mais granulares. No exemplo a seguir, o sqlcmd se conecta à instância do SQL Server local e faz um backup completo do log de transações.

sqlcmd -S localhost -U SA -Q "BACKUP LOG [demodb] TO DISK = N'/var/opt/mssql/data/demodb_LogBackup.bak' WITH NOFORMAT, NOINIT, NAME = N'demodb_LogBackup', NOSKIP, NOREWIND, NOUNLOAD, STATS = 5"

Restaurar um banco de dados

No exemplo a seguir, o sqlcmd se conecta à instância local do SQL Server e restaura o banco de dados demodb. A opção NORECOVERY é usada para permitir restaurações adicionais de backups de arquivo de log. Se você não planeja restaurar arquivos de log adicionais, remova a opção NORECOVERY.

sqlcmd -S localhost -U SA -Q "RESTORE DATABASE [demodb] FROM DISK = N'/var/opt/mssql/data/demodb.bak' WITH FILE = 1, NOUNLOAD, REPLACE, NORECOVERY, STATS = 5"

Dica

Se você usar NORECOVERY acidentalmente, mas não tiver backups de arquivo de log adicionais, execute o comando RESTORE DATABASE demodb sem parâmetros adicionais. Isso conclui a restauração e deixa o banco de dados operacional.

Restaurar o log de transações

O comando a seguir restaura o backup de log de transações anterior.

sqlcmd -S localhost -U SA -Q "RESTORE LOG demodb FROM DISK = N'/var/opt/mssql/data/demodb_LogBackup.bak'"

Backup e restauração com SSMS (SQL Server Management Studio)

Você pode usar o SSMS em um computador Windows para se conectar a um banco de dados Linux e fazer um backup por meio da interface do usuário.

Observação

Use a versão mais recente do SSMS para se conectar ao SQL Server. Para baixar e instalar a última versão, confira Baixar o SQL Server Management Studio (SSMS). Para obter mais informações sobre como usar o SSMS, consulte Usar o SQL Server Management Studio no Windows para gerenciar o SQL Server em Linux.

As etapas a seguir demonstram como fazer um backup com o SSMS.

  1. Inicie o SSMS e conecte-se ao servidor no SQL Server em Linux.

  2. No Pesquisador de Objetos, clique com o botão direito do mouse no banco de dados, clique em Tarefas e selecione Fazer Backup....

  3. Na caixa de diálogo Fazer Backup de Banco de Dados, verifique os parâmetros e as opções e selecione OK.

O SQL Server conclui o backup do banco de dados.

Restauração com SSMS (SQL Server Management Studio)

As etapas a seguir orientarão você pela restauração de um banco de dados com o SSMS.

  1. No SSMS, clique com o botão direito do mouse em Bancos de Dados e selecione Restaurar Bancos de Dados....

  2. Em Fonte de Dados, selecione Dispositivo: e, em seguida, selecione as reticências (...).

  3. Localize o arquivo de backup do banco de dados e selecione OK.

  4. Em Restaurar plano, verifique as configurações e o arquivo de backup. Selecione OK.

  5. O SQL Server restaura o banco de dados.

Contribua com a documentação do SQL

Você sabia que pode editar conteúdo do SQL por conta própria? Ao fazer isso, além de melhorar nossa documentação, você também será creditado como um colaborador da página.

Para obter mais informações, confira Como contribuir para a documentação do SQL Server