Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Fazer backup de um banco de dados no SQL Server 2017


O SQL Server fornece uma maneira fácil de criar um backup de um banco de dados. Os backups podem ser feitos com Transact-SQL, PowerShell ou por meio da GUI.

Aqui, demonstrarei como criar um backup usando a GUI do SQL Operations Studio (agora chamada Azure Data Studio), usando o Transact-SQL e, finalmente, com o SQL Server Powershell.

Criar um backup por meio da GUI do SQLOPS/Azure Data Studio

  1. Abra o painel de banco de dados


    No painel esquerdo, clique com o botão direito do mouse no banco de dados do qual deseja fazer backup e selecione Gerenciar .

    Se estiver usando o SSMS, no Pesquisador de Objetos, clique com o botão direito do mouse no banco de dados do qual deseja fazer backup e selecione Tarefas> Fazer backup... a partir do menu contextual. Isso iniciará o Backup do banco de dados caixa de diálogo.
  2. Iniciar o Banco de dados de backup Caixa de diálogo


    Clique em Backup botão.
  3. Revise as configurações


    Essa caixa de diálogo oferece a oportunidade de alterar qualquer uma das configurações, se necessário.

    Para o nosso exemplo, deixe-o nas configurações padrão e clique em Backup para criar o backup.

    Se você tiver requisitos de backup específicos, poderá alterar o tipo de backup e/ou clicar em Configuração avançada para ajustar as configurações avançadas.
  4. Backup concluído


    Quando o backup for concluído, uma mensagem será exibida confirmando que o backup foi bem-sucedido.

Fazer backup de um banco de dados usando Transact-SQL


Você pode executar o mesmo backup acima usando T-SQL.

Para fazer isso, abra uma nova janela de consulta e execute um BACKUP demonstração.

O BACKUP A instrução aceita várias opções (assim como a opção GUI), mas você também pode executar um backup simples com um mínimo de código.

Abaixo está um exemplo de um script de backup simples em um sistema Linux ou Mac. O script especifica o banco de dados para backup e o local para o backup.
BACKUP DATABASE Music  
TO DISK = '/var/opt/mssql/data/Music.bak';

Em um sistema Windows, o caminho usará barras invertidas:
BACKUP DATABASE Music  
TO DISK = 'C:\Backups\Music.bak';

Depois de executar este código, o arquivo de backup estará localizado no local especificado.

Fazer backup de um banco de dados usando o PowerShell


O SQL Server 2017 oferece suporte ao Windows PowerShell, que é um shell de script, normalmente usado para automatizar tarefas de administração e implantação.

A linguagem PowerShell oferece suporte a uma lógica mais complexa do que scripts Transact-SQL, o que permite criar scripts mais sofisticados para seus backups e outras tarefas.

O código a seguir criará um backup como nos exemplos anteriores. Basta substituir MyServer com o nome do seu servidor.
Backup-SqlDatabase -ServerInstance MyServer -Database Music

Você também pode especificar um local
Backup-SqlDatabase -ServerInstance MyServer -Database Music -BackupFile 'C:\Backups\Music.bak'

Depois de executar este código, o arquivo de backup estará localizado no local padrão.

Você também pode especificar -BackupAction Database para declarar explicitamente que é um backup completo. No entanto, esta é a opção padrão.

Você pode ver a documentação completa do Backup-SqlDatabase comando no site da Microsoft.

Substituindo arquivos de backup


Se você executar vários backups usando o mesmo nome de arquivo para o arquivo de backup, poderá observar que cada vez que executar um backup, o tamanho do arquivo de backup aumenta.

Isso ocorre porque cada backup sucessivo está se adicionando ao arquivo existente. Ele está fazendo isso porque você está usando o mesmo nome de arquivo e não especificou explicitamente que cada backup deve substituir qualquer arquivo existente.

Há uma opção que permite substituir o arquivo existente.
  • Usando a GUI do SQLOPS , clique em Configuração avançada e em Fazer backup para o conjunto de mídia existente , selecione Substituir todos os conjuntos de backup existentes .
  • Usando a GUI do SSMS , clique em Opções de mídia no menu esquerdo do Backup do banco de dados caixa de diálogo e selecione Substituir todos os conjuntos de backup existentes em Substituir mídia seção.
  • Usando SQL adicione WITH INIT à instrução SQL.
  • Usando o Powershell , adicione -Initialize ao comando.

Usando nomes de arquivos exclusivos


No entanto, geralmente é uma boa ideia criar um backup completo com um nome de arquivo exclusivo (geralmente incluindo a data no nome do arquivo). Ter um nome de arquivo exclusivo significa que cada backup será um arquivo separado.

Além disso, dependendo do tamanho de seu banco de dados e de quantos dados novos estão sendo inseridos nele, você pode complementar seus backups completos com backups diferenciais. Um backup diferencial captura apenas os dados que foram alterados desde o backup completo mais recente.