Skip to content

notas mentais de um nerd

tecnologia e finanças

Menu
  • Inicio
  • Sobre
  • BITcontrol
  • Pesquisar
Menu

Script de backup SQL Server Windows com data

Posted on janeiro 16, 2024

Aqui esta um exemplo de script para realizar backup do SQL Server


DECLARE @date NVARCHAR(20)
DECLARE @path NVARCHAR(100)
DECLARE @sql NVARCHAR(1000)

-- Formata a data e hora atuais no formato desejado
SET @date = REPLACE(CONVERT(NVARCHAR, GETDATE(), 120), ':', '_')
SET @date = REPLACE(@date, ' ', '_')

-- Define o caminho do arquivo de backup com a data e hora
SET @path = N'E:\Backup\Backup_Banco_' + @date + '.BAK'

-- Cria o comando de backup
SET @sql = 'BACKUP DATABASE [BANCO] TO  DISK = ''' + @path + ''' WITH NOFORMAT, NOINIT,  NAME = N''Full Database Backup'', SKIP, NOREWIND, NOUNLOAD,  STATS = 10'

-- Executa o comando de backup
EXEC(@sql)

Este script salva o Backup em E:\Backup\Backup_Banco_$DATA.BAK isto é, concatena a data atual no nome do arquivo… então, utilizando este exemplo de script de backup, sua pasta e:\backup vai ficar CHEIA!

Para evitar isso, podemos executar este script SQL através de um script .bat, assim o script bat irá remover as copias antigas e executar uma copia nova

@ECHO OFF
SET backuppath=E:\Backup
SET scriptfile=C:\caminho\para\backup_script.sql

:: Executa o script de backup do banco de dados
sqlcmd -S NomeServidor -U Usuario -P Senha -i %scriptfile%

:: Exclui arquivos de backup mais antigos que 7 dias
FORFILES /P %backuppath% /M Backup_Banco_*.BAK /D -7 /C "cmd /c del @path"

:: Nota: O comando FORFILES acima exclui todos os arquivos que começam com 'Backup_Banco_' e têm a extensão '.BAK' no diretório especificado, que são mais antigos que 7 dias.

Compartilhe isso:

  • Clique para compartilhar no X(abre em nova janela) 18+
  • Clique para compartilhar no Facebook(abre em nova janela) Facebook
  • Clique para imprimir(abre em nova janela) Imprimir
©2025 notas mentais de um nerd | Design: Newspaperly WordPress Theme