Laboratório 2 Base de Dados II 2008/2009 Plano de Trabalho Lab. 2: Administração de Bases de Dados MYSQL • Fazer cópias de segurança (backups) • Carregamento e recuperação (restore) de bases de dados • Exercícios Referências www.mysql.com http://dev.mysql.com/doc MICROSOFT SQL SERVER • Fazer cópias de segurança (backups) • Carregamento e recuperação (restore) de bases de dados • Exercícios MYSQL Exercício 1. Instalação Fazer backup da base de dados employees a partir da interface do servidor. Exercício 2. Após eliminar a base de dados employees, faça o seu restore usando o ficheiro de backup anterior. Exercício 3. Fazer backup e restore a partir da linha de comando da shell. MICROSOFT SQL SERVER Uma cópia de segurança (backup) pode sem ou com escalonamento. Um backup com escalonamento é um job, e como tal pode ser visualizado e editado no SQL Server Agent. A sua edição permite ver as suas propriedades, os passos envolvidos no job, assim como as várias acções (notificações) a realizar quando o job escalonado terminar. No caso de backups sem escalonamento, há 2 formas de fazer cópias de segurança de bases de dados: • Serviços disponíveis no ambiente do Server Management Studio • Instruções Transact-SQL Exercício 4. (Backup através dos serviços do Server Management Studio). Faça um segundo backup da bases de dados Northwind através dos seguintes passos: • Seleccionar a base de dados Northwind na secção Databases • Menu volante (botão direito do rato) • All Tasks->Backup Database • Na janela pop-up que aparecerá, e na aba General: - Escolha entre backup completo e backup diferencial - Escreva nome do ficheiro de backup - Escolha como o backup é feito (append ou overwrite) - Faça o escalonamento se for caso disso. • Ainda na mesma janela, mas na aba Options: - Escolha as opções relacionadas com a verificação do backup e dos seus dispositivos de armazenamento. • Clique no botão OK. Atenção 1: É de todo o interesse fazer backups em banda magnética, pois fazê-lo no próprio disco do servidor tem riscos óbvios que devem ser evitados. Atenção 2: Se se fizer um backup em disco, convém pois fazê-lo num disco externo ou num disco remoto. Atenção 3: Não é possível fazer backups em dispositivos remotos de banda magnética. Podemos fazer backups através das instruções BACKUP DATABASE e BACKUP LOG da linguagem Transact-SQL. Exercício 5. (Backup através da Transact-SQL) -- Realização duma cópia de segurança completa -- da base de dados Northwind USE master BACKUP DATABASE “Northwind” TO DISK = N’C:\SQLServer2000\Bases\Northwind.BAK’ WITH INIT, NOSKIP, STATS =10 A cláusula WITH serve para indicar quais as acções que o SQL Server deverá executar durante a realização do backup, que são respectivamente: a re-escrita dos backset sets; a verificação da data de expiração dos backup sets; e a visualização de mensagens do progresso da realização do backup a cada 10% do backup total. Exercício 6. (Criação dum dispositivo lógico de backup am Transact-SQL). É feita através dum procedimento embutido (stored procedure) designado por “sp_addumpdevice”. Convém referir que os procedimentos embutidos serão alvo dum estudo mais detalhado mais adiante. Para isso é preciso dizer-lhe onde ele irá guardar o dispositivo (disk), o nome do dispositivo lógico de backup e, está claro, a identificação do ficheiro ou da tape que armazenará a cópia de segurança. -- Criação dum dispositivo lógico de backup -- com o nome “LL-Diferencial” USE master EXECUTE sp_addumpdevice ‘disk’, ‘LL-Diferencial’, ‘C:\SQLServer2000\Bases\PubsDif.BAK’ Exercício 7. (Backup diferencial da base de dados Pubs). Podemos agora usar o dispositivo criado no exercício anterior para fazer um backup diferencial da base de dados Pubs. -- Realização duma cópia de segurança diferencial -- da base de dados Pubs USE master BACKUP DATABASE [Pubs] TO [LL-Diferencial] WITH INIT, DIFFERENTIAL, NAME = N’Pubs Backup Diferencial’, NOSKIP, STATS =10, PASSWORD = ‘ll1845#’ Há situações em que os administradores de bases de dados têm, por uma questão de prevenção, guardar os backups noutros sistemas. O processo é exactamente idêntico aos anteriores. A única diferença é a especificação do destino para armazenamento da cópia de segurança. Exercício 8. (Criação de backup em Transact-SQL noutra máquina). Escreva uma instrução Transact-SQL para armazenar um backup de Pubs noutra máquina chamada “ferro”. Para isso cria-se primeiro um dispositivo lógico de backup (só na primeira vez): -- Criação dum dispositivo lógico de backup no “ferro” -- com o nome “LL-BackupFerro” USE master EXECUTE sp_addumpdevice ‘disk’, ‘LL- BackupFerro’, ‘\\ferro\backupsBD\Pubs.BAK’ Depois a criação do backup é idêntica, pois passámos a usar o dispositivo lógico. Exercício 9. (Remoção do dispositivo lógico de backup em Transact-SQL). É feita através dum procedimento embutido (stored procedure) designado por “sp_dropdevice”. -- Eliminação do dispositivo lógico de backup -- com o nome “LL-BackupFerro” USE master EXECUTE sp_addumpdevice ‘LL- BackupFerro’ Exercício 8. (Listagem dos dispositivos, incluindo os de backup, criados no SQL Server). É feita através dum procedimento embutido (stored procedure) designado por “sp_helpdevice”. -- Informação acerca dos dispositivos disponíveis -- no SQL Server USE master EXECUTE sp_helpdevice