Restore Database com SSIS – Parte 01

Olá Pessoal!

Demorou mas.. “I’m here..”… \o/..

O post de hoje será sobre uma das tarefas fundamentais de um administrador de banco de dados (DBA) que é garantir que os dados possam ser recuperados no caso de um desastre.  No nosso dia a dia, adquirimos várias coisas que possam nos deixar tranquilos com nossos bens como por exemplo, uma apólice de seguro para carro ou para sua casa. Apesar de caro e rezarmos para nunca usarmos é uma maneira que escolhemos para nos assegurar contra qualquer “imprevisto”.  Enfim, voltando para o nosso assunto, os backups são as apólices de seguro contra qualquer eventualidade na empresa em que trabalhamos. O backup será o responsável por recuperarmos os dados que foram perdidos e no final das contas o negócio voltar a fazer as suas operações empresariais rotineiras. Costumo dizer que ele é o responsável pelo “final feliz” de qualquer situação.. (rsrs).

Muitas vezes precisamos fazer um restore de uma base em um ambiente diferente do que nós temos, seja ele para fins de teste de backup ou para um ambiente de homologação para que a equipe de desenvolvimento faça seus testes antes de subir uma versão nova. Nesses casos existem diversas formas de resolver o problema como fazer um backup remoto e trazer a base para o ambiente que você precisa ou criar um job para fazer um backup copy only e depois fazer o restore apartir do arquivo gerado. Nesse post para de atender essa necessidade criaremos um pacote para fazer um restore através de um FTP que encontra-se em um servidor de domínio diferente para isso utilizaremos o SSIS, WINSCP e um pouco de powershell.

No final da criação do pacote, o mesmo ficará assim:

1

FTP com WinSCP

Para configurar os FTP devemos primeiro baixar e instalar o WinSCP para depois configurarmos um site. A imagem abaixo mostra como ficará após a configuração do site:

2

Agora vamos criar um arquivo de texto contendo os seguintes passos:

  1. Abrir o site criado no WinSCP;
  2. Encontrar o arquivo de backup;
  3. Copiar o arquivo para o diretório na máquina onde será feito o restore

A criação desse aquivo de texto será o que o WinSCP utilizará para pegar o arquivo no diretório que foi definido para o backup ser salvo e levá-lo para a pasta no outro servidor onde será feito o restore.

Abra o notepad e coloque o seguinte script:

option batch on

option confirm off

open FTP_DATABASE

get /BACKUP/DATABASE/NOME_DATABASE_FULL_201411301300.BAK S:\RESTORE\RESTORE_DATABASE\

exit

3

Agora com o SQL Server Data Tools aberto vamos colocar um “Execute Process Task” e configurar as propriedades: Executable, Arguments e WorkingDirectory.

4

Parâmetros configurados:

Executable C:\Program Files (x86)\WinSCP\WinSCP.exe
Arguments -script=C:\FTP\ftpdatabase.txt
WorkingDirectory C:\Program Files (x86)\WinSCP

Obs: Note que no parâmetro “Arguments” foi criado um diretório chamado FTP dentro do C:\ da máquina onde esta sendo criado o pacote.

Por hoje é só gente 😦 …

No próximo post daremos continuidade a criação do pacote. Espero que tenham gostado, quaisquer dúvidas , críticas ou sugestões serão bem vindas caso queiram comentar.

Abraços,

Cibelle Castro.

Anúncios

One thought on “Restore Database com SSIS – Parte 01

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