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 : 18
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 087 - Capítulo 05 - Fazendo o Restore com o Query Analyzer

Para fazer o restore de um Banco de Dados utilizamos o comando RESTORE DATABASE. Para fazer o restore do Log de transações utilizamos o comando RESTORE LOG. A seguir, a sintaxe completa destes comandos, conforme apresentada no Books OnLine.

Sintaxe do comando RESTORE DATABASE:

RESTORE DATABASE {  database_name | @database_name_var }
[ FROM < backup_device > [  ,...n ] ]
[ WITH
[ RESTRICTED_USER ]
[ [ , ] FILE = { file_number |  @file_number } ]
[ [ , ] PASSWORD = { password |  @password_variable } ]
[ [ , ] MEDIANAME = { media_name  | @media_name_variable } ]
[ [ , ] MEDIAPASSWORD = {  mediapassword | @mediapassword_variable } ]
[ [ , ] MOVE ‘logical_file_name’  TO ‘operating_system_file_name’ ]
[ ,...n ]
[ [ , ] KEEP_REPLICATION ]
[ [ , ] { NORECOVERY | RECOVERY |  STANDBY = undo_file_name } ]
[ [ , ] { NOREWIND | REWIND } ]
[ [ , ] { NOUNLOAD | UNLOAD } ]
[ [ , ] REPLACE ]
[ [ , ] RESTART ]
[ [ , ] STATS [ = percentage ] ]
]

Sintaxe do comando RESTORE LOG:

RESTORE LOG { database_name |  @database_name_var }
[ FROM < backup_device > [  ,...n ] ]
[ WITH
[ RESTRICTED_USER ]
[ [ , ] FILE = { file_number |  @file_number } ]
[ [ , ] PASSWORD = { password |  @password_variable } ]
[ [ , ] MOVE ‘logical_file_name’  TO ‘operating_system_file_name’ ]
[ ,...n ]
[ [ , ] MEDIANAME = { media_name  | @media_name_variable } ]
[ [ , ] MEDIAPASSWORD = {  mediapassword | @mediapassword_variable } ]
[ [ , ] KEEP_REPLICATION ]
[ [ , ] { NORECOVERY | RECOVERY |  STANDBY = undo_file_name } ]
[ [ , ] { NOREWIND | REWIND } ]
[ [ , ] { NOUNLOAD | UNLOAD } ]
[ [ , ] RESTART ]
[ [ , ] STATS [= percentage ] ]
[ [ , ] STOPAT = { date_time |  @date_time_var }
| [ , ] STOPATMARK = ‘mark_name’  [ AFTER datetime ]
| [ , ] STOPBEFOREMARK =  ‘mark_name’ [ AFTER datetime ]
]
]

Mais uma vez vamos procurar simplificar um pouco, através de exemplos, esta sintaxe. Vamos iniciar pelo comando RESTORE DATABASE.

Para restaurar um backup completo de um Banco de Dados podemos utilizar o seguinte comando:

RESTORE DATABASE nome_banco_dados FROM nome_device

Por exemplo, para restaurarmos um backup completo do Banco de Dados Exemplo1, a partir do device device_real, podemos utilizar o seguinte comando:

RESTORE DATABASE Exemplo1 FROM backup_geral

Este comando é executado com sucesso e a seguinte mensagem é exibida:

Processed 192 pages for database  'Exemplo1', file 'exemplo1-prim' on file 1.
Processed 8 pages for database 'Exemplo1',  file 'exemplo1-sec1.ndf' on file 1.
Processed 8 pages for database 'Exemplo1',  file 'exemplo1-sec2.ndf' on file 1.
Processed 1 pages for database 'Exemplo1',  file 'exemplo1-log.ldf' on file 1.
Processed 0 pages for database 'Exemplo1',  file 'exemplo1-log2.ldf' on file 1.
RESTORE DATABASE successfully processed 209  pages in 0.400 seconds (4.280 MB/sec).

Uma sintaxe mais simplificada para o comando RESTORE DATABASE é a seguinte:

RESTORE DATABASE nome_banco_dados
FROM nome_device
[WITH OPTIONS]

As principais opções para este comando são as seguintes:

  • PASSWORD: Esta opção permite que especifiquemos uma senha, caso o backup tenha sido efetuado com uma senha anteriormente.
  • NORECOVERY: Esta opção deve ser especificada quando iremos restaurar mais backups do Log de transações ou restaurar um backup diferencial. É sinônimo de STANDBY. É semelhante a selecionar a opção Leave database non operational and do not roll back the uncommitted transactions”, no SQL Server Management Studio.
  • RECOVERY: Esta é a opção padrão. É utilizada quando não temos mais nenhum backup do Log de transações ou backup diferencial para restaurar. Qualquer transação que esteja em um estado uncommitted, sofrerá um roll back. Esta é a opção padrão, isto é, se não especificarmos nada, será assumida a opção RECOVERY.
  • RESTART: Utilizamos esta opção para reinicializar uma operação de restore que foi interrompida.
  • STATS = percentage: Faz com que seja emitida uma mensagem depois que o percentual especificado, da operação de restore, tenha sido alcançado. Podemos utilizar esta opção para acompanhamento de operações de restore de grandes Bancos de Dados.
  • MOVE nome_lógico TO nome_físico_arquivo: Esta opção pode ser utilizada para restaurar o backup para um lugar alternativo. Considere o seguinte exemplo do Books OnLine:
    RESTORE DATABASE MyNwind  FROM MyNwind_1
    WITH NORECOVERY,
    MOVE ‘MyNwind’ TO
    ‘c:\Program Files\Microsoft SQL Server\MSSQL\Data\NewNwind.mdf’,
    MOVE ‘MyNwindLog1’
    TO ‘c:\Program Files\Microsoft SQL Server\MSSQL\Data\NewNwind.ldf’

Agora vamos aprender um pouco mais sobre o comando RESTORE LOG. Considere o exemplo a seguir:

RESTORE LOG Exemplo1
FROM backup_log_exemplo1
WITH NORECOVERY
STATS = 5

Este comando restaura o Log do Banco de Dados Exemplo1, a partir do backup device backup_log_exemplo1 e não coloca o Banco de Dados on-line (NORECOVERY). Desta maneira mais backups do Log ou backups diferenciais poderão ser restaurados. A cada 5% da operação de restore é emitida uma mensagem para acompanhamento (STATS = 5).

Simplificando a sintaxe do comando RESTORE LOG, teríamos:

RESTORE LOG nome_banco_dados
FROM nome_device
[WITH opções]

A maioria das opções do comando RESTORE LOG são as mesmas do comando RESTORE DATABASE. Uma opção que é exclusiva do comando RESTORE LOG é a seguinte:

  • STOP AT = ‘data e hora’: Esta opção pode ser utilizada para restaurar o backup do Log de transações até uma hora e data especificadas. Considere o exemplo a seguir conforme consta no Books OnLine:
    RESTORE DATABASE MyNwind
    FROM MyNwind_1, MyNwind_2
    WITH NORECOVERY
    RESTORE LOG MyNwind
    FROM MyNwindLog1
    WITH NORECOVERY
    RESTORE LOG MyNwind
    FROM MyNwindLog2
    WITH RECOVERY, STOPAT = ‘Apr 15, 2005  12:00 AM’

Para fixar melhor estes comandos vamos fazer um exercício completo.

Exercício: Neste exercício apresentarei os comandos necessários para executar a seguinte seqüência de tarefas:

  • Criar um backup device chamado exercicio_capitulo5.
  • Fazer um backup completo do Banco de Dados Northwind.
  • Por padrão, o Banco de Dados Northwind possui a opção “trunc. log on chkpt” setada em TRUE. Quando esta opção é verdadeira, não é possível fazer o backup do Log de transações. Por isso precisaremos desabilitar esta opção. É importante desabilitarmos esta opção antes de fazermos as alterações, pois caso contrário as alterações efetuadas serão descartadas do Log de transações e não poderemos restaurar o log conforme proposto mais adiante.
  • Em seguida faremos algumas alterações em intervalos de cinco minutos na tabela Customers do Banco de Dados Northwind.
  • Em seguida faremos um backup do log de transações.
  • Na seqüência, iremos restaurar o backup completo.
  • Depois restauraremos o backup do Log de transações utilizando a opção STOPAT.
  • Faremos um restore do backup completo para restaurar o Banco de Dados Northwind à condição inicial.

As diversas etapas deste exercício serão executadas, utilizando comandos T-SQL, na janela de execução de comandos do SQL Server Management Studio. Os backups serão feitos em um device chamado exercicio_capitulo5, o qual está associado ao arquivo D:\backups\exercicio_capitulo5.bak. O objetivo principal deste exercício é fazer uma revisão dos comandos relacionados a criação de backup devices, criação de backups e de restore, já vistos anteriormente, neste capítulo.

Vamos abrir a janela de execução de comandos do SQL Server Management Studio e criar o device exercicio_capitulo5.

1.       Para criar o device exercicio_capitulo5 execute o seguinte comando:

USE master
exec sp_addumpdevice ‘disk’, ‘exercicio_capitulo5’,  ‘D:\backups\exercicio_capitulo5.bak’

Com isso temos o nosso backup device exercicio_capitulo5 criado.

Fazer um backup completo do Banco de Dados Northwind.

2.       Para fazer o backup solicitado, execute o seguinte comando:

BACKUP DATABASE Northwind to exercicio_capitulo5

Por padrão o banco de dados Northwind possui a opção “trunc. log on chkpt” setada em TRUE. Quando esta opção é verdadeira, não é possível fazer o backup do log de transações. Por isso precisaremos desabilitar esta opção.

3.       Para desabilitar a opção “trunc. log on chkpt”, no Banco de Dados Northwind, execute o seguinte comando:

USE master
exec sp_dboption ‘northwind’, ‘trunc. log on chkpt’, ‘FALSE’

Faremos algumas alterações em intervalos de cinco minutos, na tabela Customers do Banco de Dados Northwind. No nosso exemplo irei alterar a tabela Customers às 21h30. Nesta alteração farei com que o campo Country de todos os registros seja alterado para Brasil. Às 21h35 h irei alterar o campo Country para EUA, e às 21h40 alterarei o campo Country de todos os registros da tabela Customers para Alemanha.

4.       Para alterar o campo Country de todos os registros da tabela Customers para Brasil, execute o seguinte comando:

Use Northwind
UPDATE Customers
SET Country = ‘Brasil’

Este comando foi executado às 21h30.

Na Figura 5.16 podemos ver o resultado deste comando. Para ver os dados de uma tabela no SQL Server 2005, basta executar um SELECT * FROM NOME_DA_TABELA.

Curso Completo de SQL Server 2005 - Júlio Battisti
Figura 5.16 Country = Brasil para todos os registros da tabela Customers.

5.       Para alterar o campo Country de todos os registros da tabela Customers para EUA, execute o seguinte comando:

Use Northwind
UPDATE Customers
SET Country = ‘EUA’

Este comando foi executado às 21h35.

Na Figura 5.17 podemos ver o resultado deste comando.

Curso Completo de SQL Server 2005 - Júlio Battisti
Figura 5.17 Country = EUA para todos os registros da tabela Customers.

6.       Para alterar o campo Country de todos os registros da tabela Customers para Alemanha, exe­cute o seguinte comando:

Use Northwind
UPDATE Customers
SET Country = ‘Alemanha’

Este comando foi executado as 21h40.

Na Figura 5.18 podemos ver o resultado deste comando.

Curso Completo de SQL Server 2005 - Júlio Battisti
Figura 5.18 Country = Alemanha para todos os registros da tabela Customers.

7.       Faremos agora um backup do Log de transações do Banco de Dados Northwind. Para isso, execute o seguinte comando:

BACKUP LOG Northwind to exercicio_capitulo5

8.         Restaure o backup completo para que o Banco de Dados Northwind volte à situação original, executando o seguinte comando:

RESTORE DATABASE Northwind FROM exercicio_capitulo5
WITH NORECOVERY

Devemos utilizar a opção WITH NORECOVERY pois queremos restaurar o Log de transações na seqüência. Para isso precisamos deixar o Banco de Dados não-operacional. Isto é feito com a opção NORECOVERY.

Agora restauraremos o backup do Log de transações utilizando a opção STOPAT.

9.         Para restaurar o Log de transações até às 21h35, execute o seguinte comando:

RESTORE LOG Northwind
FROM exercicio_capitulo5
WITH RECOVERY, STOPAT = ‘20010308 21:35’

Neste caso deveremos estar de volta à situação de 21h35 (substitua a data indicada no comando, pela data e hora que você está utilizando, para acompanhar o exemplo).

Faremos, então, um restore do backup completo para restaurar o Banco de Dados Northwind a sua condição inicial.

10.       Para restaurar o Banco de Dados Northwind a sua condição inicial, execute o seguinte comando:

RESTORE DATABASE Northwind FROM exercicio_capitulo5

Na Figura 5.19 podemos conferir que os dados originais foram restaurados.

Curso Completo de SQL Server 2005 - Júlio Battisti
Figura 5.19 Dados originais restaurados.

13.       Feche o SQL Server Management Studio.

Com isso encerramos o nosso item sobre restore.

Você pode encontrar mais informações sobre Backup/Restore, no Books OnLine.

Know-how em: Agendamento de Tarefas no SQL Server 2005

Pré-Requisitos:

  • Fundamentos apresentados na Parte I.
  • Saber utilizar o SQL Server Management.

Metodologia:

  • Definir agendamentos de jobs no SQL Server 2005.

Técnica:

  • Apresentação dos procedimentos necessários para o agendamento de tarefas/jobs no SQL Server 2005.

Podemos automatizar uma série de tarefas administrativas no SQL Server 2005 através da criação de Jobs. Um Job é uma tarefa administrativa, composta de um ou mais passos, a qual é agendada para executar automaticamente, em datas e horários determinados nas coinfigurações do Job. Por exemplo, poderíamos criar um Job que executa um backup completo do Banco de Dados Northwind aos domingos à noite, as 22:00 horas e um backup diferencial ao final de cada dia, de segunda à sexta-feira. Também poderíamos criar Jobs mais sofisticados, que fazem pesquisas em um Banco de Dados e enviam os resultados por e-mail para um gerente. Podemos agendar tarefas que executam manutenção nos índices de tabelas para executarem periodicamente, e assim por diante. As possibidades são muitas.

Um Job também pode ser criado e não agendado para executar periodicamente, sendo que o DBA pode executá-lo manualmente, quando for necessário.

Normalmente agendamos, para execução automática, aquelas tarefas rotineiras que o DBA deve executar, como backups, manutenção de índices e qualquer outra tarefa que tenha que ser executada periodicamente. Com isso liberamos o DBA de uma série de tarefas administrativas repetitivas.

Para que a execução de tarefas funcione corretamente, o serviço SQL Server Agent deve estar rodando. O ideal é que este serviço seja configurado para inicializar automaticamente. Podemos fazer esta configuração utilizando o SQL Computer Manager, conforme descrito no Capítulo 2. A Figura 5.20 mostra o serviço SQL Server Agent configurado para iniciar automaticamente, usando o SQL Computer Manager.

Curso Completo de SQL Server 2005 - Júlio Battisti
Figura 5.20 O Serviço SQL Server Agent.

Cabe ainda lembrar que cada instância do SQL Server 2005 instalada no servidor, possui o seu próprio serviço SQL Server Agent associado, isto é, se tivermos duas ou mais instâncias do SQL Server instaladas, poderemos ter o SQL Server Agent rodando em uma das instâncias e configurado para não iniciar automaticamente na outra instância.

Além do serviço SQL Server Agent, precisamos do Banco de Dados msdb (o qual está dentro da opção System Databases). É neste Banco de Dados que ficam armazenadas as informações e os agendamentos dos Jobs. Observe a Figura 5.21, onde temos uma visão do conteúdo da tabela sysjobs, onde temos informações sobre diversos Jobs. Os Jobs que aparecem nesta tabela foram criados quando criamos agendamento para os backups do Log de transações, no item anterior. Lembre que foi dito que a maneira de criar um agendamento para o backup era através da criação de um Job.

Curso Completo de SQL Server 2005 - Júlio Battisti
Figura 5.21 A tabela sysjobs, do Banco de Dados msdb.

Neste próximo item aprenderemos a criar e a gerenciar Jobs.
« 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