Job para backup diário com comando para apagar em x dias

13 de maio de 2020   |   by administrador

Primeiro defina um local com o arquivo com seu script de backup ( coloquei o meu em c:\job\), o conteúdo pode ser assim como a seguir, e aproveitando, coloque um script para limpeza de logs:

SET QUOTED_IDENTIFIER ON;

DECLARE @MyFileName varchar(1000)

SELECT @MyFileName = (SELECT 'C:\BACKUP\SuaBaseBackup_' + convert(varchar(500),GetDate(),112) + '.bak')
BACKUP DATABASE [SuaBaseBackup] TO DISK=@MyFileName

GO

use [SuaBaseBackup]
go
alter database [SuaBaseBackup] set Recovery simple
dbcc SHRINKFILE([SuaBaseBackup_log],5)
Alter database [SuaBaseBackup] set Recovery Full

go

Aconselho adicionar o script a seguir em um arquivo bat e executar a cada x tempo de sua preferencia

sqlcmd -S localhost -U sa -P Sc@nTh0r* -i "C:\job\sqljob.sql" timeout 10 FORFILES /p C:\BACKUP\ /d -10 /m * /c "cmd /c del @file"