Ir para conteúdo
Seja Membro VIP - Remova Banners de Propagandas, Tenha Liberado Qualquer Download, Além de Acessos em Áreas Exclusivas!! ×
Quer acesso a todas as Áreas do Fórum, até aquelas só para membros VIPs? Também quer poder baixar qualquer ARQUIVO? ×
AVISO AOS MEMBROS:

Fizemos uma atualização em 18/06/2023, e a forma de acesso ao Fórum mudou. Não mais está sendo aceito o login pelo Nome de Exibição cadastrado. Agora, apenas pelo email e pelos integradores de Login do Facebook, Google e Microsoft. O Facebook estava com uma validação pendente e já foi normalizado o acesso, já o Google, ainda estamos verificando o que está ocorrendo que não está funcionando.
Caso precisem de ajuda para o login pelo email acesse o link << Esqueci minha senha de acesso>> ou nos envie um pedido de ajuda pelo email admin@forumrm.com.br

Administração
ForumRM

Rotina de Backup


Frederico

Posts Recomendados


  • Tópicos Que Criei:  11
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  1.140
  • Conteúdo/Dia:  0.21
  • Reputação:   60
  • Pontos/Conquistas:  6.161
  • Conteúdo Resolvido:  0
  • Dias Ganho:  33
  • Status:  Offline
  • Idade:  42
  • Dispositivo:  Windows

Bom dia,

Segue um script para realização de backup da base de dados do SQL2005

CREATE PROCEDURE BACKUPBD @TYPEBACKUP TINYINT , @DIRECTORYPATH VARCHAR(2000)

AS

-- @TYPEBACKUP = 1 BKFULL WITH INIT

-- @TYPEBACKUP = 2 BKDIFF WITH INIT

-- @TYPEBACKUP = 3 BKLOG WITH INIT

-- @TYPEBACKUP = 4 BKLOG WITH NOINT

DECLARE @DATABASENAME VARCHAR(300),

@BACKUPSQL VARCHAR(8000),

@FULLPATH VARCHAR(2500),

@RECOVERYMODEL VARCHAR(15),

@DBSTATUS VARCHAR(10)

DECLARE DATABASE_CURSOR CURSOR FOR

SELECT D.NAME

FROM SYSDATABASES D

WHERE D.NAME NOT IN ('MASTER','TEMPDB','MODEL','MSDB', 'CORPORE_TESTE', 'REPORTSERVER', 'REPORTSERVERTEMPDB', 'CORPORE_TESTES')

OPEN DATABASE_CURSOR

FETCH NEXT FROM DATABASE_CURSOR

INTO @DATABASENAME

WHILE @@FETCH_STATUS = 0

BEGIN

SET @DBSTATUS = (SELECT CONVERT(VARCHAR (10),DATABASEPROPERTYEX(@DATABASENAME,'STATUS')))

IF @DBSTATUS = 'ONLINE'

BEGIN

SET @FULLPATH = ''

SET @FULLPATH = @DIRECTORYPATH

IF (SELECT @TYPEBACKUP) = 1 -- BACKUP FULL WITH INIT

BEGIN

SET @BACKUPSQL = ''

SET @BACKUPSQL = @BACKUPSQL + 'BACKUP DATABASE ' + @DATABASENAME + ' TO DISK = N''' + @FULLPATH + 'FULL_' + @DATABASENAME + '.BAK'' WITH INIT'

EXEC (@BACKUPSQL)

END

IF (SELECT @TYPEBACKUP) = 2 -- BACKUP DIFF WITH INIT

BEGIN

SET @BACKUPSQL = ''

SET @BACKUPSQL = @BACKUPSQL + 'BACKUP DATABASE ' + @DATABASENAME + ' TO DISK = N''' + @FULLPATH + 'BKDIFF_' + @DATABASENAME + '.BAK'' WITH INIT , DIFFERENTIAL'

EXEC (@BACKUPSQL)

END

IF (SELECT @TYPEBACKUP) = 3 -- BACKUP LOG WITH INIT

BEGIN

SET @RECOVERYMODEL = ''

SET @RECOVERYMODEL = ( SELECT CAST( DATABASEPROPERTYEX(@DATABASENAME,'RECOVERY') AS VARCHAR(15) ) )

IF ( SELECT @RECOVERYMODEL ) = 'FULL'

BEGIN

SET @BACKUPSQL = ''

SET @BACKUPSQL = @BACKUPSQL + 'BACKUP LOG ' + @DATABASENAME + ' TO DISK = N''' + @FULLPATH + 'BKLOG_' + @DATABASENAME + '.BAK'' WITH INIT '

EXEC (@BACKUPSQL)

END

END

IF (SELECT @TYPEBACKUP) = 4 -- BACKUP LOG WITH NOINIT

BEGIN

SET @RECOVERYMODEL = ''

SET @RECOVERYMODEL = ( SELECT CAST( DATABASEPROPERTYEX(@DATABASENAME,'RECOVERY') AS VARCHAR(15) ) )

IF ( SELECT @RECOVERYMODEL ) = 'FULL'

BEGIN

SET @BACKUPSQL = ''

SET @BACKUPSQL = @BACKUPSQL + 'BACKUP LOG ' + @DATABASENAME + ' TO DISK = N''' + @FULLPATH + 'BKLOG_' + @DATABASENAME + '.BAK'' WITH NOINIT '

EXEC (@BACKUPSQL)

END

END

END

FETCH NEXT FROM DATABASE_CURSOR

INTO @DATABASENAME

END

CLOSE DATABASE_CURSOR

DEALLOCATE DATABASE_CURSOR

para execução da procedure pode usar o comando a baixo

EXEC ZBACKUPOBJETIVO 1, 'C:\BACKUP\'

Detalhes:

- A opção é para fazer o backup Full, depois o local onde deseja copiar a base, lembrando que o SQL não aceita mapeamento de unidades, se quiserem podem criar um JOB.

- A procedure é criado na base de dados Master e não na base de dados RM

Espero que seja de grande ajuda

Abraços !!!

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  10
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  95
  • Conteúdo/Dia:  0.02
  • Reputação:   0
  • Pontos/Conquistas:  610
  • Conteúdo Resolvido:  0
  • Dias Ganho:  0
  • Status:  Offline

Muito interessante esse script!

Aqui na empresa faço o backup através de JOB.

Só por curiosidade, qual a rotina de backup q vcs usam?

Diario (quantas vezes ao dia), Semanal, Mensal......

Abs,

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  1
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  10
  • Conteúdo/Dia:  0.00
  • Reputação:   0
  • Pontos/Conquistas:  60
  • Conteúdo Resolvido:  0
  • Dias Ganho:  0
  • Status:  Offline

Olá pessoal !!!

Quando falamos de Backup é fundamental que tenhamos uma estratégia de backup que atenda as nossas necessidades.

Nessa estratégia é interessante você mesclar backup full, backup transaction e backup differencial.

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  11
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  1.140
  • Conteúdo/Dia:  0.21
  • Reputação:   60
  • Pontos/Conquistas:  6.161
  • Conteúdo Resolvido:  0
  • Dias Ganho:  33
  • Status:  Offline
  • Idade:  42
  • Dispositivo:  Windows

Oi Flávio,

Aqui a minha rotina de backup de dados roda de duas em duas horas iniciando as 06h00 da manhã e terminando as 22h00, mesmo a minha base sendo grande 10GB quando está fazendo o backup o usuário nem percebe isso na utilização do sistema, depios tenho uma rotina no agendador do windows que cópia essa base de dados para um disco removivel que levo pra casa

Abraços !!!

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  10
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  95
  • Conteúdo/Dia:  0.02
  • Reputação:   0
  • Pontos/Conquistas:  610
  • Conteúdo Resolvido:  0
  • Dias Ganho:  0
  • Status:  Offline

Oi Flávio,

Aqui a minha rotina de backup de dados roda de duas em duas horas iniciando as 06h00 da manhã e terminando as 22h00, mesmo a minha base sendo grande 10GB quando está fazendo o backup o usuário nem percebe isso na utilização do sistema, depios tenho uma rotina no agendador do windows que cópia essa base de dados para um disco removivel que levo pra casa

Abraços !!!

Frederico,

Aqui faço parecido com vc, roda as 10h, 14h, 18h e 22h, esse backup é salvo em um hd externo.

Minha base tem 4gb!

Abs!

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  1
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  10
  • Conteúdo/Dia:  0.00
  • Reputação:   0
  • Pontos/Conquistas:  60
  • Conteúdo Resolvido:  0
  • Dias Ganho:  0
  • Status:  Offline

Olá pessoal !!!

A rotina de backup no meio do dia pode ser feita através do Backup Transaction ou Differential, deixando assim o processo mais rápido e os dados seguros.

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  8
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  50
  • Conteúdo/Dia:  0.01
  • Reputação:   0
  • Pontos/Conquistas:  330
  • Conteúdo Resolvido:  0
  • Dias Ganho:  0
  • Status:  Offline
  • Idade:  41

Boa tarde!!!

Aqui na empressa eu faço FULL, mais ai criei uma rotina no Brazip, pra compactar e gravar num HD externo, faço a cada duas horas.

Link para comentar
Compartilhar em outros sites

Participe da conversa

Você pode postar agora, e se registrar mais tarde. Se você tiver uma conta, faça o login agora para postar com sua conta.

Visitante
Responder esse tópico

×   Você colou conteúdo com formatação.   Remover formatação

  Only 75 emoji are allowed.

×   Seu link foi automaticamente inserido no corpo do post.   Exibir como um link

×   Seu conteúdo anterior foi restaurado.   Limpar conteúdo do editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Criar Novo...

Informação Importante

Usando este site, você concorda com nossos Termos de Uso e nossa Política de Privacidade.