Quantcast
Channel: » VirtualPass
Viewing all articles
Browse latest Browse all 10

[FREE SCRIPT] – SP_BACKUP – Gerencie suas rotinas de modo simples, fácil e objetivo.

$
0
0

É fato que toda empresa, independente de seu porte, gera e armazena muitos dados e informações. Infelizmente também é fato que muitas não se preocupam em criar cópias de segurança e garantir a recuperabilidade destas informações.

Como é consenso entre muitos profissionais, empresários e população em geral, a informação é um dos bens mais preciosos de uma empresa (e é tão suscetível a falhas) e deve ser tratada e armazenada com muito cuidado e atenção.

Em um blog post antigo, falo um pouco sobre a questão de se ter bons backups e possibilidades de restores. “BACKUP – Você está fazendo corretamente?“, faça uma visita =).

A grande maioria dos ambientes que utiliza-se do Microsoft SQL Server para armazenar seus dados, não precisa das soluções mais complexas de backup para garantir a recuperabilidade de seus dados e informações, até mesmo com possibilidades de recuperação no ponto da falha ou em algum ponto no tempo. Com isto, desenvolvi uma Stored Procedure (SP) que atende de forma fácil, simples e objetiva os três principais tipos de backups disponíveis no SQL Server:

  • Backup FULL
  • Backup DIFF (Differential)
  • Backup LOG (Transaction Log)

Para a execução da stored procedure sp_backup basta executá-la à partir da base de dados master passando os seguintes parâmetros:

Exec master..sp_backup @NomeBanco = ‘master’, @TipoBackup = ‘FULL’, @IsCopyOnly = 0, @Caminho = ‘C:\TEMP’

  • @NomeBanco: Parâmetro do tipo Varchar (100) recebe o nome do banco de dados que será “backapeado” (sic)
  • @TipoBackup: Parâmetro do tipo Varchar (20) recebe o tipo de backup que será realizado.  Aceita como entrada os valores: ‘Log’, ‘FULL’,’FUL’,’DIF’,’DIFF’, NULL . Se for passado NULL para este parâmetro, o valor default ‘FULL’ é assumido.
  • @IsCopyOnly: Parâmetro do tipo bit. Aceita como entrada os valores 0 , 1. Utilizado para informar se no backup será utilizado ou não a opção COPY_ONLY
  • @Caminho: Parâmetro do tipo Varchar (200), recebe como entrada o caminho onde o backup será salvo. Aceita entrada com valores nos formatos ‘C:\Temp’,’C:\Temp\’ – Se for passado  NULL, é assumido o caminho default da instância.

 

O resultado será a geração de um arquivo no seguinte formato:

C:\temp\MASTER_FULL_28_10_2015_22_48_19.bak

Sendo a composição do nome do arquivo:

  • C:\temp\MASTER_FULL_28_10_2015_22_48_19.bak
    • Caminho onde o backup foi salvo
  • C:\temp\MASTER_FULL_28_10_2015_22_48_19.bak
    • Banco de dados que foi “Backapeado” (sic)
  • C:\temp\MASTER_FULL_28_10_2015_22_48_19.bak
    • Tipo de Backup que foi gerado
  • C:\temp\MASTER_FULL_28_10_2015_22_48_19.bak
    • Data de geração do backup, no formato dia_mês_ano
  • C:\temp\MASTER_FULL_28_10_2015_22_48_19.bak
    • Horário da geração do backup (início do backup) no formato hora_minuto_segundo
  • C:\temp\MASTER_FULL_28_10_2015_22_48_19.bak
    • Extensão utilizada para gerar o backup (.bak para FULL e DIFF, .trn para LOG)

 

Solução para Backup de seu ambiente

Abaixo uma breve descrição de um exemplo de implementação para backup de um ambiente com possibilidade de restore point in time bem como execução dos três tipos de backup supracitados.

Ambiente fictício:

  • Windows Server 2012 R2
  • Instância SQL Server 2012
  • 3 Bancos de dados de usuário (BD01 – BD01 – BD03)

Realização de BACKUP FULL

Backup FULL de todas as bases de usuários

  1. Crie um Job chamado DBA_BACKUP_FULL com o agendamento para execução todos os domingos às 02:00 da manhã.
  2. Crie um step  para o job do tipo Transact SQL
  3. Insira um código semelhante ao mostrado a seguir:
    1. Exec master..sp_backup @NomeBanco = ‘BD01’, @TipoBackup = ‘FULL’, @IsCopyOnly = 0, @Caminho = ‘F:\SQLSERVER\BACKUP’
    2. Exec master..sp_backup @NomeBanco = ‘BD02’, @TipoBackup = ‘FULL’, @IsCopyOnly = 0, @Caminho = ‘F:\SQLSERVER\BACKUP’
    3. Exec master..sp_backup @NomeBanco = ‘BD03’, @TipoBackup = ‘FULL’, @IsCopyOnly = 0, @Caminho = ‘F:\SQLSERVER\BACKUP’

 

Realização de BACKUP DIFERENCIAL

Backup diferencial de todas as bases de usuário

  1. Crie um Job chamado DBA_BACKUP_DIFF com o agendamento para execução toda quarta feira às 02:00 da manhã.
  2. Crie um step  para o job do tipo Transact SQL
  3. Insira um código semelhante ao mostrado a seguir:
    1. Exec master..sp_backup @NomeBanco = ‘BD01’, @TipoBackup = ‘DIFF’, @IsCopyOnly = 0, @Caminho = ‘F:\SQLSERVER\BACKUP’
    2. Exec master..sp_backup @NomeBanco = ‘BD02’, @TipoBackup = ‘DIFF’, @IsCopyOnly = 0, @Caminho = ‘F:\SQLSERVER\BACKUP’
    3. Exec master..sp_backup @NomeBanco = ‘BD03’, @TipoBackup = ‘DIFF’, @IsCopyOnly = 0, @Caminho = ‘F:\SQLSERVER\BACKUP’

 

Realização de BACKUP T-LOG

Backup diferencial de todas as bases de usuário

  1. Crie um Job chamado DBA_BACKUP_LOG com o agendamento para execução diária com repetições a cada 2 horas de segunda à sexta feita.
  2. Crie um step  para o job do tipo Transact SQL
  3. Insira um código semelhante ao mostrado a seguir:
    1. Exec master..sp_backup @NomeBanco = ‘BD01’, @TipoBackup = ‘LOG’, @IsCopyOnly = 0, @Caminho = ‘F:\SQLSERVER\BACKUP’
    2. Exec master..sp_backup @NomeBanco = ‘BD02’, @TipoBackup = ‘LOG’, @IsCopyOnly = 0, @Caminho = ‘F:\SQLSERVER\BACKUP’
    3. Exec master..sp_backup @NomeBanco = ‘BD03’, @TipoBackup = ‘LOG’, @IsCopyOnly = 0, @Caminho = ‘F:\SQLSERVER\BACKUP’

 

AGENT_BACKUPS

Disclaimer:

A SITUAÇÃO ACIMA É APENAS A REPRESENTAÇÃO DE UM EXEMPLO DE USO DA SP_BACKUP. O USO INDEVIDO DESTA STORED PROCEDURES PODE INCORRER EM FALHAS E AUSÊNCIA DE BACKUP CASO NÃO SEJA CONFIGURADO CORRETAMENTE. SEMPRE TESTE QUALQUER SCRIPT EM UM AMBIENTE CONTROLADO ANTES DE COLOCÁ-LO EM PRODUÇÃO. UTILIZE POR SUA CONTA E RISCO.

Gostou? Quer testar?

 

CLIQUE PARA DOWNLOAD DO SCRIPT

 

Se você baixou, testou, aprovou, reprovou, odiou, amou ou fez qualquer coisa com este script, por favor deixe seu feedback, crítica, comentário ou sugestão na sessão de comentários.

 

OBSERVAÇÃO 1:

  • A stored procedure sp_backup está disponível gratuitamente para download para quaisquer tipos de uso, seja
    pessoal ou comercial, porém apenas solicito que a mesma não seja alterada, e que sejam mantidos os créditos sempre
    que esta for ser utilizada.
  • Compatível com as versões 2008, 2008 R2, 2012 e 2014 do MS SQL Server.

OBSERVAÇÃO 2:

  • Qualquer sugestão de melhoria, ou correção de eventuais bugs, por favor envie para meu email: edvaldo.castro@outlook.com

 

 

Muito Obrigado.

 

Edvaldo Castro

 

 

 


Viewing all articles
Browse latest Browse all 10

Latest Images

Pangarap Quotes

Pangarap Quotes

Vimeo 10.7.0 by Vimeo.com, Inc.

Vimeo 10.7.0 by Vimeo.com, Inc.

HANGAD

HANGAD

MAKAKAALAM

MAKAKAALAM

Doodle Jump 3.11.30 by Lima Sky LLC

Doodle Jump 3.11.30 by Lima Sky LLC

Trending Articles


Ang Nobela sa “From Darna to ZsaZsa Zaturnnah: Desire and Fantasy, Essays on...


Lola Bunny para colorear


Dino Rey para colorear


Girasoles para colorear


Dibujos de animales para imprimir


Renos para colorear


Dromedario para colorear


The business quotes | Inspirational and Motivational Quotes for you


Love Quotes Tagalog


RE: Mutton Pies (mely)


Gwapo Quotes : Babaero Quotes


Kung Fu Panda para colorear


Libros para colorear


Mandalas de flores para colorear


Dibujos para colorear de perros


Toro para colorear


mayabang Quotes, Torpe Quotes, tanga Quotes


Long Distance Relationship Tagalog Love Quotes


Tropa Quotes


Mga Tala sa “Unang Siglo ng Nobela sa Filipinas” (2009) ni Virgilio S. Almario



Latest Images

Pangarap Quotes

Pangarap Quotes

Vimeo 10.7.0 by Vimeo.com, Inc.

Vimeo 10.7.0 by Vimeo.com, Inc.

HANGAD

HANGAD

MAKAKAALAM

MAKAKAALAM

Doodle Jump 3.11.30 by Lima Sky LLC

Doodle Jump 3.11.30 by Lima Sky LLC