NUNCA MAIS PASSE RAIVA POR NÃO CONSEGUIR RESOLVER UM PROBLEMA COM O EXCEL - GARANTIDO!

UNIVERSIDADE DO VBA - Domine o VBA no Excel Criando Sistemas Completos - Passo a Passo - CLIQUE AQUI

Você está em: PrincipalArtigosSQL Server 2005 › Capítulo 05 : 15
Quer receber novidades e e-books gratuitos?
« Lição anterior Curso Completo de SQL Server 2005 - Júlio Battisti Δ Página principal Curso Completo de SQL Server 2005 - Júlio Battisti ¤ Capítulos Curso Completo de SQL Server 2005 - Júlio Battisti Próxima lição »
SQL Server 2005 - CURSO COMPLETO
Autor: Júlio Battisti
Lição 084 - Capítulo 05 - Fazendo o Backup com o Query Analyzer

Utilizando comandos T-SQL podemos fazer o backup completo, backup diferencial, backup de um arquivo ou filegroup e o backup do Log de transações. Através de comandos podemos, inclusive, criar o agendamento de um backup.

Fazendo o backup do Banco de Dados:

Para fazer o backup de um Banco de Dados utilizamos o comando BACKUP DATABASE. A seguir a sintaxe completa deste comando, conforme apresentada no Books OnLine.

Sintaxe do comando BACKUP DATABASE:

BACKUP DATABASE {  database_name | @database_name_var }
TO < backup_device > [  ,...n ]
[ WITH
[ BLOCKSIZE = { blocksize |  @blocksize_variable } ]
[ [ , ] DESCRIPTION = { ‘text’ |  @text_variable } ]
[ [ , ] DIFFERENTIAL ]
[ [ , ] EXPIREDATE = { date |  @date_var }
| RETAINDAYS = { days | @days_var  } ]
[ [ , ] PASSWORD = { password |  @password_variable } ]
[ [ , ] FORMAT | NOFORMAT ]
[ [ , ] { INIT | NOINIT } ]
[ [ , ] MEDIADESCRIPTION = {  ‘text’ | @text_variable } ]
[ [ , ] MEDIANAME = { media_name  | @media_name_variable } ]
[ [ , ] MEDIAPASSWORD = {  mediapassword | @mediapassword_variable } ]
[ [ , ] NAME = { backup_set_name  | @backup_set_name_var } ]
[ [ , ] { NOSKIP | SKIP } ]
[ [ , ] { NOREWIND | REWIND } ]
[ [ , ] { NOUNLOAD | UNLOAD } ]
[ [ , ] RESTART ]
[ [ , ] STATS [ = percentage ] ]
]

Conforme já descrevemos anteriormente, a sintaxe completa não é muito intuitiva. Vamos aprender a utilizar o comando BACKUP DATABASE através de exemplos.

Exemplo1: Criar um backup device chamado bknw, o qual é associado com o arquivo D:\backups\bknw. Depois fazer o backup completo do Banco de Dados Northwind para o backup device bknw. Para fazer o backup proposto utilizariamos os seguintes comandos:

— Primeiro criamos o backup  device bknw
— Lembre-se de tornar o Banco de Dados master o Banco de Dados atual
— pois os backup devices são criados sendo o banco master o Banco de Dados atual.
USE master
EXEC sp_addumpdevice ‘disk’, ‘bknw’, ‘D:\backups\bknw.bak’
BACKUP DATABASE northwind TO  bknw

Ao executar estes comandos, com sucesso, no Query Analyzer será emitida a seguinte mensagem:

Processed 560 pages for database 'northwind', file 'Northwind_Data' on file 1.
Processed 1 pages for database 'northwind', file 'Northwind_Log' on file 1.
BACKUP DATABASE successfully processed 561 pages in 0.833 seconds (5.509 MB/sec).

Observe que, conforme descrito anteriormente, o backup completo de um Banco de Dados, faz o backup dos arquivos de dados e também dos arquivos de log.

Uma sintaxe mais simplificada para o comando BACKUP DATABASE:

BACKUP DATABASE  nome_banco_dados
TO nome_backup_device1, nome_backup_device2,..., nome_backup_devicen
[WITH OPTIONS]

Observe que podemos fazer o backup de um Banco de Dados para mais do que um backup device ao mesmo tempo. Este procedimento pode ser utilizado para agilizar o backup. Para fazermos o backup para múltiplos volumes devemos criar uma “Media Set”, ou seja, um conjunto de mídias. O caso mais típico é quando temos duas ou mais unidades de fita ligadas a um servidor. Neste caso podemos criar uma Media Set com as unidades disponíveis e fazer o backup, simultaneamente, para todas as unidades. Desta maneira, o tempo de backup (janela de backup) pode ser reduzido. Para maiores informações sobre a utilização de múltiplos devices, consulte “Using Media Sets and Families” no Books OnLine.

Agora vamos descrever as principais opções que podem ser utilizadas com o comando BACKUP DATABASE. Estas opções são especificadas no final do comando, com a cláusula WITH. Caso mais do que uma opção esteja sendo utilizada, devemos separá-las por vírgula.

  • As opções INIT e NOINIT: Ao fazermos um backup temos a opção de excluir os backups já existentes no backup device, ou manter os backups existentes e apenas anexar o que está sendo feito.

A opção NOINIT é a opção padrão e faz com que o backup seja anexado ao backup device, mantendo os backups feitos anteriormente. Se selecionarmos a opção INIT, o SQL Server 2005 irá gravar o backup que está sendo feito na parte inicial do backup device, eliminando os backups anteriores. Se existirem backups no backup device que foram feitos com a opção EXPIREDATE, e estes backups ainda não tiverem expirado, a utilização da opção INIT irá causar um erro. Utilizamos a opção EXPIREDATE para garantir que um determinado backup seja mantido por um período mínimo. A seguir um exemplo de utilização destas opções.

Vamos fazer um backup do Banco de Dados Northwind para um device chamado device_exemplo. Vamos fazer o backup utilizando a opção EXPIREDATE. Depois vamos fazer um novo backup, para o device device_exemplo tentando utilizar a opção INIT e vamos observar a mensagem de erro que é exibida.

Os comandos a seguir fazem o backup usando a opção WITH EXPIREDATE:

— Tornar o Banco de Dados  master o banco atual
USE master
— Criar o backup device  device_exemplo
EXEC sp_addumpdevice ‘disk’,  ‘device_exemplo’, ‘D:\backups\device_exemplo.bak’
— Fazer o backup do banco de dados Northwind com a opção EXPIREDATE
BACKUP DATABASE northwind TO  device_exemplo
WITH EXPIREDATE = ‘20010315’
— Fazer um backup com a opção  INIT, sendo que o backup anterior
— Somente expira em 15 de março de 2001, conforme definido anteriormente
— pela opção WITH EXPIREDATE
BACKUP DATABASE northwind TO device_exemplo
WITH INIT

Será emitida a seguinte mensagem de erro:

Processed 560 pages for database  'northwind', file 'Northwind_Data' on file 2.
Processed 1 pages for database 'northwind', file 'Northwind_Log' on file 2.
BACKUP DATABASE successfully processed 561 pages in 0.916 seconds (5.017 MB/sec).
Msg 4030, Level 16, State 1, Line 17
The medium on device 'device_exemplo(D:\backups\device_exemplo.bak)' expires on Apr 15 2005 12:00:00:000AM
and cannot be overwritten.
Msg 3013, Level 16, State 1, Line 17
BACKUP DATABASE is terminating abnormally.

Observe que a mensagem informa que o backup somente irá expirar em 15 de abril de 2005 e não poderá ser sobrescrito: The medium on device 'device_exemplo (D:\backups\device_exemplo.bak)' expires on Apr 15 2005 12:00:00:000AM and cannot be overwritten.

  • A opção RESTART: Utilizamos esta opção para que o SQL Server 2005 reinicialize um backup que tenha sido interrompido, exatamente do ponto onde o backup parou. Esta opção poupa tempo, uma vez que o backup não precisa ser reinicializado desde o início. Para reinicializar um backup, basta repetir o comando que foi utilizado para fazer o backup, e acrescentar WITH RESTART no final do comando.
  • A opção DIFFERENTIAL: Esta opção define que seja feito um backup diferencial. O comando, a seguir, faz um backup diferencial do Banco de Dados Northwind para o backup device device_exemplo, criado no exemplo anterior:
    BACKUP DATABASE northwind TO  device_exemploWITH DIFFERENTIAL
  • A opção PASSWORD: Esta opção permite que seja definida uma senha para o backup. Ao fazermos um restore deste backup teremos que fornecer a senha, caso contrário a operação de restore será cancelada. O exemplo a seguir, faz o backup do Banco de Dados pubs para o backup device device_exemplo e especifica uma senha.
    BACKUP DATABASE pubs TO  device_exemplo
    WITH PASSWORD = ‘senha123’
  • A Opção NAME: Esta opção permite que seja definido um nome para o backup. Se o nome não for especificado, o nome será assumido como uma String em branco.

Estas são as principais opções disponíveis para o comando BACKUP DATABASE. Para uma descrição completa de todas as opções disponíveis, consulte BACKUP no tópico Transact-SQL Reference no Books OnLine.

Fazendo o backup do Log de transações:

Para fazer o backup do Log de transações, utilizamos o comando BACKUP LOG. A seguir, a sintaxe completa deste comando, conforme apresentada no Books OnLine.

Sintaxe do comando BACKUP LOG:

BACKUP LOG { database_name |  @database_name_var }
{
TO < backup_device > [  ,...n ]
[ WITH
[ BLOCKSIZE = { blocksize |  @blocksize_variable } ]
[ [ , ] DESCRIPTION = { ‘text’ |  @text_variable } ]
[ [ ,] EXPIREDATE = { date |  @date_var }
| RETAINDAYS = { days | @days_var  } ]
[ [ , ] PASSWORD = { password |  @password_variable } ]
[ [ , ] FORMAT | NOFORMAT ]
[ [ , ] { INIT | NOINIT } ]
[ [ , ] MEDIADESCRIPTION = {  ‘text’ | @text_variable } ]
[ [ , ] MEDIANAME = { media_name  | @media_name_variable } ]
[ [ , ] MEDIAPASSWORD = {  mediapassword | @mediapassword_variable } ]
[ [ , ] NAME = { backup_set_name  | @backup_set_name_var } ]
[ [ , ] NO_TRUNCATE ]
[ [ , ] { NORECOVERY | STANDBY =  undo_file_name } ]
[ [ , ] { NOREWIND | REWIND } ]
[ [ , ] { NOSKIP | SKIP } ]
[ [ , ] { NOUNLOAD | UNLOAD } ]
[ [ , ] RESTART ]
[ [ , ] STATS [ = percentage ] ]
]
}

Conforme já descrevemos anteriormente, a sintaxe completa não é muito intuitiva. Vamos aprender a utilizar o comando BACKUP LOG através de exemplos.

Exemplo1: Criar um backup device chamado bklog, o qual é associado com o arquivo D:\backups\bklog. Depois, fazer o backup do Log de transações do Banco de Dados Exemplo1 para o backup device bklog. Para fazer o backup proposto utilizamos os seguinte comando:

— Primeiro criamos o backup device bklog
— Lembre-se de tornar o Banco de Dados master o Banco de Dados atual
— pois os backup devices são criados sendo o master o Banco de Dados atual.
USE master
EXEC sp_addumpdevice ‘disk’, ‘bklog’, ‘D:\backups\bklog.bak’
BACKUP LOG Exemplo1 TO bklog

Uma sintaxe mais simplificada para o comando BACKUP LOG:

BACKUP LOG nome_banco_dados
TO nome_backup_device1, nome_backup_device2,..., nome_backup_devicen
[WITH OPTIONS]

As principais opções para o comando BACKUP LOG são praticamente as mesmas opções que para o comando BACKUP DATABASE. Temos duas opções que são específicas para o backup do Log de transações:

  • A opção NO_LOG ou TRUNCATE_ONLY: Estas duas opções são sinônimos. Ao utilizarmos esta opção não será feito o backup do log, e o log será truncado, isto é, todas as transações que sofreram Commit serão excluídas do log. Como não é feito o backup do log, não precisamos especificar o backup device a ser utilizado.
  • A opção NO_TRUNCATE: É utilizada para fazer o backup do log sem que as transações completas sejam excluídas do log após o backup. Esta opção é utilizada para situações em que o Banco de Dados foi danificado e queremos restaurá-lo a uma situação imediatamente anterior ao momento em que o banco foi corrompido. Utilizaremos esta opção no próximo item, quando aprenderemos a fazer o restore do Banco de Dados.
« Lição anterior Curso Completo de SQL Server 2005 - Júlio Battisti Δ Página principal Curso Completo de SQL Server 2005 - Júlio Battisti ¤ Capítulos Curso Completo de SQL Server 2005 - Júlio Battisti Próxima lição »

você conhece a universidade do access?

Universidade do Access - Curso Completo de Access
com tudo para você dominar o Access - do Básico ao
Avançado - até a Criação de Sistemas Profissionais
Completos - Passo a Passo - Tela a Tela

Capa da Universidade do Access

Aplica-se ao Access 2019, 2016, 2013 e 2010!

13 Cursos - 574 Vídeo-Aulas - 63:32 horas

Para todos os detalhes, acesse:

https://juliobattisti.com.br/universidade-do-access.asp

Quer receber novidades e e-books gratuitos?

 
 

Contato: Telefone: (51) 3717-3796 | E-mail: webmaster@juliobattisti.com.br | Whatsapp: (51) 99627-3434

Júlio Battisti Livros e Cursos Ltda | CNPJ: 08.916.484/0001-25 | Rua Vereador Ivo Cláudio Weigel, 537 - Universitário, Santa Cruz do Sul/RS, CEP: 96816-208

Todos os direitos reservados, Júlio Battisti 2001-2025 ®

LIVRO: MACROS E PROGRAMAÇÃO VBA NO EXCEL 2016 - CURSO COMPLETO E PRÁTICO

DOMINE A PROGRAMAÇÃO VBA NO EXCEL - 878 PÁGINAS - CLIQUE AQUI