Fala pessoal, a dica de hoje é sobre validação e testes de backup no seu banco de dados, todos nós sabemos que fazer ou ter seus backups não é sinônimo de segurança e volta do ambiente, desta forma segue abaixo dicas sobre backup no SQL Server.
1 – Tenha politicas documentadas de seus backups, tendo o seu gestor com a devida aprovação, neste documento você ira descrever qual é a politica adotada, qual a janela máxima de perda de dados, tempo de retenção e onde são armazenados os backups.
2 – Faça regularmente testes com esses backups, faça restore no seu ambiente de banco de dados em períodos curtos de acordo com o tamanho e tempo do seu restore.
3 – Faça backup utilizando o CHECKSUM a opção nada mais é do que um método seguro que todas as páginas estão gravadas no disco e prontas para o processo de restauração,. Alem do CHECKSUM também utilize o parâmetro COMPRESSION para compressão, assim você terá o backup compactado com maior espaço em disco livre, abaixo segue exemplo.
DECLARE @CMD NVARCHAR(4000),
@BANCO NVARCHAR(2000),
@DESCRICAO NVARCHAR(200),
@DT VARCHAR(200),
@CAMINHO VARCHAR(400)
SELECT @BANCO = 'CorporeRM',
@DESCRICAO = 'Backup Full '+@BANCO,
@DT = REPLACE(REPLACE(REPLACE(REPLACE((CONVERT(nvarchar(30), GETDATE(), 120)),' ','_'),':','.'),'.','_'),'-','_'),
@CAMINHO = 'E:\RESTORE_TEMP2\'
set @cmd = '
BACKUP DATABASE ['+@BANCO+'] TO
DISK = N'+''''+@CAMINHO+@BANCO+'_FULL_'+CONVERT(varchar,@DT,112)+'_01.bak''
,DISK = N'+''''+@CAMINHO+@BANCO+'_FULL_'+CONVERT(varchar,@DT,112)+'_02.bak''
,DISK = N'+''''+@CAMINHO+@BANCO+'_FULL_'+CONVERT(varchar,@DT,112)+'_03.bak''
,DISK = N'+''''+@CAMINHO+@BANCO+'_FULL_'+CONVERT(varchar,@DT,112)+'_04.bak''
,DISK = N'+''''+@CAMINHO+@BANCO+'_FULL_'+CONVERT(varchar,@DT,112)+'_05.bak''
,DISK = N'+''''+@CAMINHO+@BANCO+'_FULL_'+CONVERT(varchar,@DT,112)+'_06.bak''
,DISK = N'+''''+@CAMINHO+@BANCO+'_FULL_'+CONVERT(varchar,@DT,112)+'_07.bak''
,DISK = N'+''''+@CAMINHO+@BANCO+'_FULL_'+CONVERT(varchar,@DT,112)+'_08.bak''
,DISK = N'+''''+@CAMINHO+@BANCO+'_FULL_'+CONVERT(varchar,@DT,112)+'_09.bak''
,DISK = N'+''''+@CAMINHO+@BANCO+'_FULL_'+CONVERT(varchar,@DT,112)+'_10.bak''
WITH NOFORMAT, NOINIT, NAME = N'+''''+@DESCRICAO+''''+', SKIP, NOREWIND, NOUNLOAD, COMPRESSION,CHECKSUM, STATS = 5'
EXEC (@cmd)
SQL