Noções de Microsoft SQL Server 1 Microsoft SQL Server Considerações Iniciais Basicamente existem dois tipos de usuários do SQL Server: Implementadores Administradores 2 1 Microsoft SQL Server Implementadores Utilizam o SQL Server para criar e alterar base de dados e tabelas, definir stored procedures, etc. Se preocupam com a integração do sistema desenvolvido e da base de dados. Administradores Fornecem suporte ao SQL Server na rede da empresa, gerenciando o armazenamento, atribuindo permissões, realizando transferência de dados, diagnosticando problemas do sistema, executando backup, restore, etc. 3 Microsoft SQL Server O SQL Server é um sistema de gerenciamento de bancos de dados cliente/servidor com alta integração com o Windows. Um usuário, por exemplo, pode se conectar ao SQL Server com a mesma senha usada para a rede Windows. O SQL Server possui uma arquitetura distribuída de gerenciamento [distributed management framework], composta de objetos, serviços e componentes. Através dela, vários servidores podem ser gerenciados completamente a partir de qualquer local na rede. Convém lembrar que: Uma aplicação que utiliza bancos de dados é composta de três partes: • Interface com o usuário: responsável por validar as entradas do usuário, e iniciar pesquisas de acordo com um pedido do usuário. • Mecanismo de acesso [database engine]: responsável pela manutenção das estruturas de dados necessárias em arquivos, pelos detalhes internos do acesso aos dados, e pela manutenção da integridade dos dados. • Armazenamento de dados: arquivos que contém os dados em si. 4 2 Microsoft SQL Server O Microsoft SQL Server fornece uma plataforma para gerenciamento de banco de dados cliente/servidor, visando atender as necessidades de um ambiente de processamento distribuído. 5 Microsoft SQL Server Integração aos serviços e tarefas do Microsoft Windows; Possibilita intercâmbio de dados entre computadores baseados em Windows; Possui uma interface de gerenciamento que fornece controle visual sobre os diversos servidores da empresa, permitindo gerenciamento remoto de duplicação de dados, administração do servidor, gerenciamento de tarefas, etc. 6 3 Microsoft SQL Server SQL Server 2005 O SQL Server 2005 simplifica o gerenciamento fornecendo um console de gerenciamento integrado para monitorar e gerenciar o banco de dados relacional do SQL Server. Os administradores de bancos de dados podem executar várias tarefas ao mesmo tempo, como criar e executar uma consulta, exibir objetos de servidor, gerenciar um objeto, monitorar a atividade do sistema e exibir a ajuda online. A integração de gerenciamento e criação em uma única ferramenta juntamente com a capacidade de gerenciar todos os tipos de servidores proporciona maior produtividade aos administradores de bancos de dados. 7 Microsoft SQL Server SQL Server 2005 – Object Explorer É uma interface gráfica para executar tarefas de administração do sistema. Possui, entre outras facilidades, um método gráfico para transferir dados de um SQL Server para outro. 8 4 Microsoft SQL Server Algumas Ferramentas do SQL Server SQL Server Enterprise Manager: Utilizado, entre outras coisas, para administrar remotamente o SQL Server. Este programa permite ao DBA executar virtualmente qualquer tarefa administrativa no SQL Server. SQL Server Query Analyser: Esta ferramenta é utilizada para enviar manualmente comandos Transact-SQL e procedimentos armazenados para o mecanismo de banco de dados do SQL Server. SQL Server Query Analyser: Esta ferramenta é utilizada para enviar manualmente comandos Transact-SQL e procedimentos armazenados para o mecanismo de banco de dados do SQL Server. 9 Microsoft SQL Server Exemplo do Enterprise Manager do MS SQL Server 7.0 10 5 Microsoft SQL Server Exemplo do Query Analyser do MS SQL Server 7.0 11 Microsoft SQL Server MS SQL Server Books Online Exemplo de tela do MS SQL Server 7.0 12 6 Microsoft SQL Server Gerenciando Banco de Dados Podemos criar um banco de dados [database] definindo o seu nome, nome do arquivo, tamanho inicial, tamanho máximo, etc. Normalmente apenas o administrador do sistema (SA) pode criar, modificar o tamanho e excluir os bancos de dados, mas ele pode conceder permissões a outros usuários para isso. Vamos agora criar um banco de dados: Cada aluno deverá criar um banco de dados que tenha o nome do cenário do exercício que lhe foi atribuído (por exemplo: Campeonato) + o número de sua matrícula na faculdade. 13 Microsoft SQL Server Databases - Visão Geral da Estrutura Interna A seguir serão discutidas características básicas dos principais componentes internos dos bancos de dados do SQL Server. Tables Views Stored Procedures 14 7 Microsoft SQL Server Databases – Estrutura Interna Tables (Tabelas) Ao clicar sobre esta opção, o SQL Server relacionará todas as tabelas utilizadas pela base de dados. Views (Visões) Uma visão é o resultado de um conjunto de registros que foram selecionados das tabelas através de uma declaração SELECT. Tais registros ficam armazenado em uma tabela virtual, que podem ser acessadas quando solicitadas, por exemplo por qualquer sistema utilizada pelo usuário. Stored Procedures (Procedimentos Armazenados) É um conjunto pré-compilado de declarações SQL que são executados através de uma declaração simples. 15 Microsoft SQL Server Tables (Tabelas) - Operações Básicas Visualização da Estrutura de Tabela Clicar com o botão direito do mouse sobre a tabela. Em seguida, escolher a opção DESIGN. Visualização do Conteúdo de Tabela Clicar com o botão direito do mouse sobre a tabela. Em seguida, escolher a opção OPEN TABLE. 16 8 Microsoft SQL Server Views (Visões) - Operações Básicas Visualização da Estrutura da View Clicar com o botão direito do mouse sobre o nome da view. Em seguida, escolher a opção NEW VIEW. Visualização do Conteúdo da View Clicar com o botão direito do mouse sobre a tabela. Em seguida, escolher a opção OPEN VIEW. 17 Microsoft SQL Server Stored Procedures (Procedimentos Armazenados) Modificando o Conteúdo de uma Stored Procedure Clicar com o botão direito do mouse sobre o nome da Stored Procedure. Em seguida, escolher a opção MODIFY. 18 9 Microsoft SQL Server PROCEDIMENTO DE BACKUP Backup Completo da Base de Dados Backup Diferencial da Base de Dados Backup do Log No log estão as transações (procedimentos de atualização) efetivadas no banco de dados e as transações que ainda estão para serem efetivadas no banco. 19 Microsoft SQL Server EXEMPLOS DE PROCEDIMENTO DE BACKUP Realização de um ou mais backups completos diariamente. Neste caso é evidente que todos os dados entre os backup serão perdidos caso algo ocorra, independente da frequência em que eles sejam feitos. Backup Diferencial entre os completos. A vantagem é que o diferencial é menor e consequentemente mais rápido. Pode-se fazer vários entre os completos. Para se recuperar os dados basta recuperar o completo mais o último diferencial ou o diferencial mais próximo ao horário que se quer recuperar os dados. Observação: Qualquer que seja a política adotada, sempre haverá a possibilidade de perda de dados, uma vez que o banco de dados é dinâmico. A idéia do backup é minimizar esta perda. 20 10 Microsoft SQL Server PROCEDIMENTO DE RESTORE - Recuperação de Dados Obedecer a sequência de Restore: 1. Recuperar primeiro o Backup Completo; 2. Recuperar o último Backup diferencial próximo ao horário que se deseja recuperar os dados; 3. Recuperar por último todos os backups de log. Observação: O procedimento de restore deve ser realizado com muito critério porque se a sequência lógica de recuperação não for obedecida, pode-se perder dados. 21 Microsoft SQL Server Noções do Microsoft Query Editor 22 11 Microsoft SQL Server Considerações Iniciais O Query Editor é uma ferramenta gráfica que permite, entre outras facilidades, realizar as seguintes tarefas: • Editar SQL Scripts e Queries; • Retornar o resultado de uma Query no formato Grid ou texto; • Visualizar informações estatísticas sobre a execução da Query. 23 Microsoft SQL Server Primeiros Passos 1) Indicar qual base de dados você deseja manipular, através da opção DB, localizada no canto superior direito da janela de query. A partir daí, toda referência à tabelas será direcionada para a base de dados escolhida; 2) Digitar a query ou carregar o arquivo script (.SQL); Observação: Ao digitar uma query ou carregar um arquivo script, serão automaticamente habilitadas algumas opções no menu tais como Clear Query Window (Limpa Janela de Query) e Execute Query (Executa a Query). 3) Após digitar a Query, o usuário terá três opções para executá-la: Através do ícone Execute Query (Seta Verde); Através da tecla F5; Selecionando toda a query e digitando CTRL E; 4) Após executar a Query, o usuário poderá visualizar os resultados numa janela de resultados que será aberta logo abaixo da janela de query. Esses resultados poderão ser expressos de várias formas, baseado no tipo de query que foi executada. Poderão aparecer registros ou simplesmente mensagens indicando que uma determinada tarefa foi concluída com sucesso ou não. 24 12 Microsoft SQL Server Tarefa: 1)Criar um banco de dados para armazenar as tabelas modeladas do cenário visto anteriormente; 2)Criar as tabelas e respectivos campos. 25 13