[Tutorial] #SQL Backup SQLServer 2008 R2 Express

O MS SQL Server é um SGBD - sistema gerenciador de Banco de dados relacional desenvolvido pela Microsoft. Foi criado em parceria com a Sybase em 1988 inicialmente para a plataforma OS/21 . Esta parceria durou até 1994, com o lançamento da versão para Windows NT e desde então a Microsoft mantém a manutenção do produto. Como um Banco de dados, é um produto de software cuja principal função é a de armazenar e recuperar dados solicitados por outras aplicações de software, seja aqueles no mesmo computador ou aqueles em execução em outro computador através de uma rede (incluindo a Internet). Há pelo menos uma dúzia de diferentes edições do Microsoft SQL Server destinadas a públicos diferentes e para diferentes cargas de trabalho (variando de pequenas aplicações que armazenam e recuperam dados no mesmo computador, a milhões de usuários e computadores que acessam grandes quantidades de dados a partir da Internet ao mesmo tempo). Suas linguagens de consulta primárias são T-SQL e ANSI SQL.
Avatar do usuário
r0n4ld0
Administrator
Administrator
Mensagens: 107
Registrado em: 10 Jun 2013 12:29
Localização: Fortaleza
Status: Offline

[Tutorial] #SQL Backup SQLServer 2008 R2 Express

Mensagem por r0n4ld0 »

Tive uma experiência de precisar montar um sistema de backup para um cliente onde o mesmo por haver indicação da empresa de ERP tem instalado o SQL Server 2008 R2 Express acontece que esta versão do sqlserver e gratuita e tem algumas limitações como tamanho maximo da DB em 10GB, alguns wizards, SQL Server Agent e outros mais, o problema do backup no SQL Server 2008 R2 Express e que com a falta do SQL Server Agent não e possivel criar jobs que rodem de forma automatica assim deixando a possibilidade de um backup com os proprios recursos do SQL Server 2008 Express nula, sabendo dessa limitação precisaremos realizar esta trarefa de modo meio que na mão contudo não e algo de outro mundo.

Primeiro e bom saber que existe uma aplicação que roda em modo Tela Texto chamado sqlcmd que executa tarefas de modo externo ao SQL Server tendo esta informação o que precisamos fazer e montar com os recursos que temos uma forma de tornar esta parte de backup automatica para isto vamos criar 1 Script em .bat e 1 script para job de SQL.

O Script em formato de Lote com extenção .bat e bem simples nele tem as instruções que vão logar no sql e chamar o Script de JOBSQL que executara a função de fazer um backup FULL do Banco de Dados.

Eu recomendo que se tenha no minimo 2 Unidades a C: onde sera colocado os scripts etc e a unidade onde ficara os arquivos de Backup, tambem recomendo que se coloque a seguinte estrutura

C:\ScriptBackup\

Dentro da pasta script Backup cria 2 pastas

JOB

LOG

Em uma pasta se coloca o job do sql ou varios jobs se voce precisar executar outras ações e na outra se deixa os logs que vão mostrar erros etc.

[thumb]http://www.ronaldodavi.com/wp-content/u ... Backup.png[/thumb]

Dentro da pasta “ScriptBackup” e criado um arquivo que deve ter a extenção .bat no meu caso coloquei o nome “ExecutaBackup.bat” para facilitar o entendimento de se no futuro alguem que nao seja eu resolva entender o funcionamento. Dentro do arquivo a unica coisa que se coloca e o texto abaixo nao e necessario mais nada.

[thumb]http://www.ronaldodavi.com/wp-content/u ... pt_BAT.png[/thumb]

Código: Selecionar todos

sqlcmd -S.\SQLEXPRESS -U USUARIOSQL -P SENHASQL -i “C:\ScriptBackup\job\jobsql.sql”
A linha de comando acima ira logar na Instancia SQLEXPRESS com usuario e senha depois ira executar o job.sql em C:\ScriptBackup\job\jobsql.sql dentro do jobsql.sql tem a linha de comando abaixo:

Código: Selecionar todos

BACKUP DATABASE NOMEDOBANCO TO DISK = ‘LOCAL ONDE IRA SALVAR’

Código: Selecionar todos

Exemplo: no lugar de LOCAL ONDE IRA SALVAR no meu e D:\BackupDB\NOMEDOBANCO.BAK
e importante que se use aspas onde esta escrito LOCAL ONDE IRA SALVAR

Existe mais um detalhe que e preciso estar configurado para que se possa ficar com o funcionamento do backup eficaz e necessario que o SQL Server 2008 R2 Express esteja configurado para aceitar conexoes remotas para isto precisamos entrar nas configurações do SQL Server

Acionar o Aplicativo: SQL Server Configuration Manager > Configurações de REDE do SQL Server > Protocolos para SQLEXPRES

depois Configuração do SQL Server Configuration Manager > SQL Native Cliente 10.0 > Protocolo de Cliente

Memoria Compartilhada: Habilitado

Pipes Nomeados: Habilitado

TCP/IP: Habilitado

VIA: Desabilitado

[thumb]http://www.ronaldodavi.com/wp-content/u ... anager.png[/thumb]

Estando as condições acima prontas como fazer para que este backup seja realizado de forma automatica sem necessidade de intervenções, para isto vamos usar o Agendador de Taferas do proprio sistema.

Iniciar > Programas > Acessorios > Ferramentas de Sistema > Agendador de Tarefa.

ou simplesmente no 2008 Server digitando Agendador de tarefas no menu iniciar

No agendador de tarefas buque pelo arquivo .BAT que voce criou e configure conforme sua necessidade importante lembrar o arquivo de backup deve ser criado com a extenção .BAK para ter funcionamento adequado.

Baixar: http://www.ronaldodavi.com/wp-content/p ... d.php?id=2

Fonte: http://www.ronaldodavi.com/coporativo/b ... 2-express/
Editado pela última vez por r0n4ld0 em 12 Jun 2013 22:16, em um total de 1 vez.


________________________
Atenciosamente,
Ronaldo davi

Fortaleza CE - Brasil

Voltar para “SQL Server”