PERGUNTAS E RESPOSTAS
 
Bem Vindo, Visitante  Todos os Fórums
  ADVPL
Enviar para a impressoraImprimir  Enviar e-mail para um amigoEnviar Para um Amigo
Precisa estar Logado

Subject Assunto:
Script de backup
Versão:
.
Plataforma:
Microsoft
Complemento:
DB:
SQL Server
Complemento:
LinkedIn
Foto
Mensagem do Enviar e-mail Abrir o Perfil do usuário @BETO @BETO em 13/08/2020, 11:57 h
Local: MG  Registro: 26/01/2006  Postagens: 534
Caro em anexo esta script de backup funcional.


DECLARE @BackupFile varchar(255)
DECLARE @BackupFileBackup varchar(255)
declare @DB varchar(30)
declare @Description varchar(255)
declare @LogFile varchar(50)

DECLARE @Name varchar(30)
declare @MediaName varchar(30)
declare @BackupDirectory nvarchar(200)
DECLARE @DIA INT,   @DIA_EXT VARCHAR(20)

SET @BackupDirectory = ‘D:\Backup\SQL\‘

SELECT @DIA = (DATEPART(DW,CURRENT_TIMESTAMP ))

IF @DIA=1
      SET @DIA_EXT =‘DOMINGO‘
IF @DIA=2
      SET @DIA_EXT =‘SEGUNDA‘
IF @DIA=3
      SET @DIA_EXT =‘TERCA‘
IF @DIA=4
      SET @DIA_EXT =‘QUARTA‘
IF @DIA=5
      SET @DIA_EXT =‘QUINTA‘
IF @DIA=6
      SET @DIA_EXT =‘SEXTA‘
IF @DIA=7
      SET @DIA_EXT =‘SABADO‘

-- roda backup semanal
--
--Add a list of all databases you don‘t want to backup to this.
DECLARE Database_CURSOR CURSOR FOR SELECT name
FROM master.dbo.sysdatabases WHERE name in (‘P12‘,‘BI‘,‘TSS‘)

OPEN Database_Cursor
FETCH next FROM Database_CURSOR INTO @DB
WHILE @@fetch_status = 0

BEGIN
      SET @Name = @DB + ‘( Daily BACKUP )‘
      SET @MediaName = @DB + ‘_Dump_‘ + @DIA_EXT
      SET @BackupFile = @BackupDirectory + @DB + ‘_Full_‘ + @DIA_EXT + ‘.bak‘
      SET @Description = ‘Full BACKUP at ‘ + @DIA_EXT + ‘.‘

--    Backup full e destroi o anterior
--
BACKUP DATABASE @DB TO DISK = @BackupFile
      WITH NAME = @Name,
      DESCRIPTION = @Description ,
      --MEDIANAME = @MediaName,
      MEDIADESCRIPTION = @Description ,
      INIT /* Backup Full */,
      STATS = 5
      
FETCH next FROM Database_CURSOR INTO @DB

END
CLOSE Database_Cursor
DEALLOCATE Database_Cursor
--
-- Roda novamente o Backup mas desta vez
-- este vai para o bakup do sistema
--
DECLARE Database_CURSOR CURSOR FOR SELECT name
FROM master.dbo.sysdatabases WHERE name in (‘P12‘,‘BI‘,‘TSS‘)

OPEN Database_Cursor
FETCH next FROM Database_CURSOR INTO @DB
WHILE @@fetch_status = 0

BEGIN
      SET @Name = @DB + ‘( Daily BACKUP )‘
      SET @MediaName = @DB + ‘_Dump_‘ + @DIA_EXT
      Set @BackupFileBackup = @BackupDirectory + @DB + ‘_Full‘ + ‘.bak‘
      SET @Description = ‘Full BACKUP at ‘ + @DIA_EXT + ‘.‘

--    Backup full e destroi o anterior
--
BACKUP DATABASE @DB TO DISK = @BackupFileBackup
      WITH NAME = @Name,
      DESCRIPTION = @Description ,
      --MEDIANAME = @MediaName,
      MEDIADESCRIPTION = @Description ,
      INIT /* Backup Full */,
      STATS = 5

FETCH next FROM Database_CURSOR INTO @DB

END
CLOSE Database_Cursor
DEALLOCATE Database_Cursor

Para postar no Fórum você precisa efetuar o seu login ou se registrar

 Mudar para Fórum

 

 

 
 
   
Pagina Principal Shopping PROTHEUS Tire suas duvidas Vagas Microsiga em todo Brasil Aprofunde seus conhecimentos Noticias Online Fale Conosco Pagina Principal