Script de Backup nomeando o arquivo pela data, hora e nome da base

Recentemente em uma das comunidades que participo, surgiu uma dúvida… um dos membros queria gerar backup inserindo data e hora além do nome do arquivo, o Luiz Mercante sugeriu o post dele… AQUI, o entanto o script não contempla o nome do banco e é necessário alterar manualmente para cada um dos bancos..
Modificando um pouco esse script e usando a procedure sp_MSforeachdb podemos fazer o backup de todos os bancos já com o nome deles e com a data e hora.É importante criar o caminho…

EXECUTE master.sys.sp_MSforeachdb '
IF (''?'' NOT IN(''MASTER'',''MSDB'',''TEMPDB'',''MODEL''))
BEGIN
DECLARE @PATH VARCHAR(20)
DECLARE @FILEEXTENSION CHAR(4)
DECLARE @DATE VARCHAR(20)
DECLARE @FULLPATH VARCHAR(255)
DECLARE @SQL VARCHAR(MAX)
SET @PATH = "D:\BackupSQL\"
SET @DATE = REPLACE(REPLACE((CONVERT(nvarchar(30), GETDATE(), 120)),'' '',''_''),'':'',''.'')
SET @FILEEXTENSION = ''.bak''
SET @FULLPATH = @PATH + ''?_''+@DATE+@FILEEXTENSION
SET @SQL = "BACKUP DATABASE ? TO DISK =N''" + @FULLPATH+ "'' WITH NOFORMAT, INIT, NAME = ''?-Full Database Backup'', SKIP, NOREWIND, NOUNLOAD, STATS = 10"
EXEC(@SQL)
END'

Vocês devem ter notado o uso da interrogação… [?] por padrão o sp_MSforeachdb, vai substituir todas as interrogações pelo nome do banco de maneira que vocês não precisam se preocupar….
Esse script não faz o backup dos bancos de sistema, se quiser é só tratar o IF lá no início.

Anúncios
Script de Backup nomeando o arquivo pela data, hora e nome da base

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s