terça-feira, 6 de março de 2012

SQL SERVER - Fazendo backup de 4 (quatro) bancos sql server 2008 via script ".sql" completo


O backup sera salvo com o nome "Empresa_DiadaSemana" , "TissNet_DiadaSemana", " Suporte_DiadaSemana" e "Openfire_DiadaSemana".... Ex: TissNet_Seg.
Com isso sera feito um loop toda semana e você terá o banco de dados de uma semana, evitando usar todo espaço no disco ! 

/*=======================================================================

Autor: souza.sluciano
Query:         backup sql
Tipo: Automatizado
Criacao: 2012.02.02
Modificacao:  2012.02.02
Descricao: Faz backup de varios bancos de dados do sql server
Local: C:\Backup\backupOriginal.sq

l=======================================================================*/


declare @bak as varchar(5)
declare @SDbEmpresa as varchar(10)
declare @caminho as varchar(13)
declare @DbEmpresa as varchar(100)
declare @DiaSemana as VARCHAR(5)

SET DATEFIRST 7;

SET @DiaSemana = case DATEPART(dw, getdate())
  when 1 then '_Dom' 
  when 2 then '_Seg'
  when 3 then '_Ter'
  when 4 then '_Qua'
  when 5 then '_Qui'
  when 6 then '_Sex'
  when 7 then '_Sab'
End
-------------------------------------------------------------------------------------------------------------------------------

--Backup para Data Base DbEmpresa

set @bak = '.bak'
set @SDbHMSM ='DbEmpresa'
set @caminho='E:\Temp\'
set @DbEmpresa  = @caminho + @SDbEmpresa + @DiaSemana + @bak
BACKUP DATABASE @SDEmpresa to disk = @DbEmpresa WITH FORMAT, INIT, SKIP, NOREWIND, NOUNLOAD, NO_COMPRESSION,  STATS = 10

--------------------------------------------------------------------------------------------------------------------------------

-- Backup para Data Base Suporte


declare @SSuporte as varchar(10)
declare @Suporte  as varchar(100)
set @SSuporte ='Suporte'
set @Suporte  = @caminho +  @SSuporte  + @DiaSemana + @bak
BACKUP DATABASE @SSuporte to disk = @Suporte WITH FORMAT, INIT, SKIP, NOREWIND, NOUNLOAD, NO_COMPRESSION,  STATS = 10

-----------------------------------------------------------------------------------------------------------------------------

--Backup para Data Base TissNet

declare @STissNet  as varchar(10)
declare @TissNet   as varchar(100)
set @STissNet ='TissNet'
set @Tiss   = @caminho +  @STissNet  + @DiaSemana + @bak
BACKUP DATABASE @STissNet to disk = @Tiss  WITH FORMAT, INIT, SKIP, NOREWIND, NOUNLOAD, NO_COMPRESSION STATS = 10

---------------------------------------------------------------------------------------------------------------------------------

--Backup para Data Base Openfire

declare @SOpenfire  as varchar(10)
declare @Openfire   as varchar(100)
set @SOpenfire ='Openfire'
set @Openfire   = @caminho +  @SOpenfire  + @DiaSemana + @bak
BACKUP DATABASE @SOpenfire to disk = @Openfire  WITH FORMAT, INIT, SKIP, NOREWIND, NOUNLOAD, NO_COMPRESSION STATS = 10

------------------------------------------------------------------------------------------------------------------------------------

Obs.: É possivel criar um arquivo .bat com os comandos digitados no prompt ...

osql -U "usuario" -P senha -i "c:\Backup\nomesrcipt.sql"

Coloque no agendador de tarefas do windows e agende para todo dia as 02:00 da madruga !

Nenhum comentário:

Postar um comentário