sistema de gerenciamento de sgbd sql...

67
UNIVERSIDADE REGIONAL DE BLUMENAU CENTRO DE CIÊNCIAS EXATAS E NATURAIS CURSO DE SISTEMAS DE INFORMAÇÃO BACHARELADO SISTEMA DE GERENCIAMENTO DE SGBD SQL SERVER MARLON RAFAEL SCHRAMM BLUMENAU 2012 2012/1-13

Upload: hakiet

Post on 30-Nov-2018

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SISTEMA DE GERENCIAMENTO DE SGBD SQL SERVERcampeche.inf.furb.br/tccs/2012-I/TCC2012-1-13-VF-MarlonRSchramm.pdf · tem que garantir o funcionamento correto, através de manutenções

UNIVERSIDADE REGIONAL DE BLUMENAU

CENTRO DE CIÊNCIAS EXATAS E NATURAIS

CURSO DE SISTEMAS DE INFORMAÇÃO – BACHARELADO

SISTEMA DE GERENCIAMENTO DE SGBD SQL SERVER

MARLON RAFAEL SCHRAMM

BLUMENAU

2012

2012/1-13

Page 2: SISTEMA DE GERENCIAMENTO DE SGBD SQL SERVERcampeche.inf.furb.br/tccs/2012-I/TCC2012-1-13-VF-MarlonRSchramm.pdf · tem que garantir o funcionamento correto, através de manutenções

MARLON RAFAEL SCHRAMM

SISTEMA DE GERENCIAMENTO DE SGBD SQL SERVER

Trabalho de Conclusão de Curso submetido à

Universidade Regional de Blumenau para a

obtenção dos créditos na disciplina Trabalho

de Conclusão de Curso II do curso de Sistemas

de Informação - Bacharelado.

Prof. Mauro Marcelo Mattos, Dr. - Orientador

BLUMENAU

2012

2012/1-13

Page 3: SISTEMA DE GERENCIAMENTO DE SGBD SQL SERVERcampeche.inf.furb.br/tccs/2012-I/TCC2012-1-13-VF-MarlonRSchramm.pdf · tem que garantir o funcionamento correto, através de manutenções

SISTEMA DE GERENCIAMENTO DE SGBD SQL SERVER

Por

MARLON RAFAEL SCHRAMM

Trabalho aprovado para obtenção dos créditos

na disciplina de Trabalho de Conclusão de

Curso II, pela banca examinadora formada

por:

______________________________________________________

Presidente: Prof. Mauro Marcelo Mattos, Doutor - Orientador, FURB

______________________________________________________

Membro: Prof. Cláudio Ratke, Mestre - FURB

______________________________________________________

Membro: Prof. Alexander Roberto Valdameri, Mestre - FURB

Blumenau, 3 de julho de 2012.

Page 4: SISTEMA DE GERENCIAMENTO DE SGBD SQL SERVERcampeche.inf.furb.br/tccs/2012-I/TCC2012-1-13-VF-MarlonRSchramm.pdf · tem que garantir o funcionamento correto, através de manutenções

Dedico este trabalho especialmente a minha

família e a todos os amigos que me ajudaram

diretamente ou indiretamente na realização

deste.

Page 5: SISTEMA DE GERENCIAMENTO DE SGBD SQL SERVERcampeche.inf.furb.br/tccs/2012-I/TCC2012-1-13-VF-MarlonRSchramm.pdf · tem que garantir o funcionamento correto, através de manutenções

AGRADECIMENTOS

A Deus, pela sabedoria, força e amparo.

À minha família, que nunca deixou de me apoiar e ajudar em todos os momentos da

minha vida.

Aos meus amigos, pela força e incentivo.

Ao meu grande amigo Johnny Virgil - Mestre, pela ajuda, palpites e disponibilidade.

Ao meu orientador, Mauro M. Mattos, por ter acreditado na conclusão deste trabalho.

Page 6: SISTEMA DE GERENCIAMENTO DE SGBD SQL SERVERcampeche.inf.furb.br/tccs/2012-I/TCC2012-1-13-VF-MarlonRSchramm.pdf · tem que garantir o funcionamento correto, através de manutenções

A mente que se abre a uma nova idéia jamais

volta ao seu tamanho original.

Albert Einstein

Page 7: SISTEMA DE GERENCIAMENTO DE SGBD SQL SERVERcampeche.inf.furb.br/tccs/2012-I/TCC2012-1-13-VF-MarlonRSchramm.pdf · tem que garantir o funcionamento correto, através de manutenções

RESUMO

Devido ao aumento de dados nas empresas, alinhado com a necessidade de gerenciamento das

mesmas fez com que surgissem os aplicativos de software e seus bancos de dados,

possibilitando armazenar todos os dados que uma empresa necessita. Garantir que todos os

Sistemas Gerenciadores de Banco de Dados (SGBD) de uma empresa estejam sendo

gerenciado e disponibilizado as informações de uma maneira eficaz é o objetivo principal

deste trabalho. Esta solução é aplicada a uma empresa de Blumenau que não possui nenhum

sistema de monitoramento de SGBD, centralizando as informações no produto da Microsoft

conhecido como SharePoint. O sistema foi desenvolvido em C# .Net criando Visual

WebParts para as telas no SharePoint Foundation, monitorando apenas SQL Server a partir da

versão 2008 para auxiliar o trabalho do administrador de banco de dados. Como resultado

tem-se um gerenciamento em tempo real com informações úteis aos administradores do SQL

Server.

Palavras-chave: Banco de Dados. Gerenciamento. SGBD.

Page 8: SISTEMA DE GERENCIAMENTO DE SGBD SQL SERVERcampeche.inf.furb.br/tccs/2012-I/TCC2012-1-13-VF-MarlonRSchramm.pdf · tem que garantir o funcionamento correto, através de manutenções

ABSTRACT

Due to the increasing amount of information in companies, in accordance with the need of

management, software applications and databases were created, making it possible to store all

the data that a company needs. To ensure that all database management systems (DBMS) in a

company are monitored and centralized effectively is the main purpose of this paper. This

solution is applied in a company in Blumenau which has no DBMS monitoring system,

centralizing all information in a Microsoft product known as SharePoint. The system was

developed in C#.Net, creating Visual WebParts for windows in SharePoint Foundation and

monitoring only SQL Server from version 2008 to assist the work of the database

administrator. As a result, there is a real-time management with useful information to SQL

Server administrators.

Key-words: Database. Management. DBMS.

Page 9: SISTEMA DE GERENCIAMENTO DE SGBD SQL SERVERcampeche.inf.furb.br/tccs/2012-I/TCC2012-1-13-VF-MarlonRSchramm.pdf · tem que garantir o funcionamento correto, através de manutenções

LISTA DE FIGURAS

Figura 1 - Fluxo do processo de cadastrar instância de SQL Server ........................................ 25

Figura 2 - Fluxo do processo do Job Status ............................................................................. 26

Figura 3 - Fluxo do processo do Job Monitoramento .............................................................. 26

Figura 4 - Processo pare realizar a exclusão de uma instância do monitoramento .................. 27

Figura 5 - Caso de uso .............................................................................................................. 29

Figura 6 - Caso de uso .............................................................................................................. 30

Figura 7 - Modelo de entidade do sistema de monitoramento ................................................. 31

Figura 8 - Execução de uma procedure de relatório ................................................................. 35

Figura 9 - Métodos da classe “BaseDados” para executar procedures..................................... 36

Figura 10 - Procedure do relatório de Status dos DataBases ................................................... 37

Figura 11 - Jobs para realizar monitoramento .......................................................................... 38

Figura 12 - Método responsável por gerar relatório de Status da Base de Dados .................... 39

Figura 13 - Classe responsável por gerar relatório PDF ........................................................... 40

Figura 14 - Criação do Job de Monitoramento ........................................................................ 40

Figura 15 - Scripts que ficam na biblioteca do SharePoint ...................................................... 41

Figura 16 - Método que extrai as informações do Script ......................................................... 42

Figura 17 - Laço de repetição para executar Script no SQL Server ......................................... 42

Figura 18 - Cadastro de Servidor SQL Server .......................................................................... 43

Figura 19 - Script utilizados pelo sistema ................................................................................ 44

Figura 20 - Lista de parâmetros ................................................................................................ 45

Figura 21 - Lista de relatórios................................................................................................... 46

Figura 22 - Lista de endereços Url do Sistema ......................................................................... 47

Figura 23 - Gerar relatório ........................................................................................................ 48

Figura 24 - Tela de visualização Geral por Instância ............................................................... 49

Figura 25 - Excluir Monitoramento .......................................................................................... 50

Figura 26 - Biblioteca de relatórios .......................................................................................... 51

Figura 27 - Lista de instância monitoradas ............................................................................... 52

Page 10: SISTEMA DE GERENCIAMENTO DE SGBD SQL SERVERcampeche.inf.furb.br/tccs/2012-I/TCC2012-1-13-VF-MarlonRSchramm.pdf · tem que garantir o funcionamento correto, através de manutenções

LISTA DE QUADROS

Quadro 1 - Requisitos funcionais ............................................................................................. 28

Quadro 2 - Requisitos não funcionais ...................................................................................... 28

Quadro 3 - Dicionário de dados da entidade “Servidor” .......................................................... 32

Quadro 4 - Dicionário de dados da entidade “ItensLog” .......................................................... 32

Quadro 5 - Dicionário de dados da entidade “BaseDados” ...................................................... 33

Quadro 6 - Dicionário de dados da entidade “LogStatusBaseDados”...................................... 33

Quadro 7 - Dicionário de dados da entidade “Tabela” ............................................................. 33

Quadro 8 - Dicionário de dados da entidade “LogCrescimentoBaseDados” ........................... 34

Quadro 9 - Dicionário de dados da entidade “Cliente” ............................................................ 34

Quadro 10 - Dicionário de dados da entidade “UpgradeServidor” .......................................... 34

Quadro 11 - Caso de uso “Efetuar Login” ................................................................................ 58

Quadro 12 - Caso de uso “Cadastrar Instância” ....................................................................... 59

Quadro 13 - Caso de uso “Excluir monitoramento” ................................................................. 60

Quadro 14 - Caso de uso “Manter acesso ao sistema” ............................................................. 61

Quadro 15 - Caso de uso “Emitir relatório de histórico de espaço em disco” ......................... 61

Quadro 16 - Caso de uso “Emitir relatório da quantidade de objetos por instância” ............... 62

Quadro 17 - Caso de uso “Emitir relatório de percentual de crescimento das bases” .............. 63

Quadro 18 - Caso de uso “Emitir relatório da quantidade de memória utilizado por

Database” ............................................................................................................. 64

Quadro 19 - Caso de uso “Emitir relatório da quantidade de I/O por Database” ..................... 65

Quadro 20 - Caso de uso “Emitir relatório indicando o status do banco de dados” ................. 66

Page 11: SISTEMA DE GERENCIAMENTO DE SGBD SQL SERVERcampeche.inf.furb.br/tccs/2012-I/TCC2012-1-13-VF-MarlonRSchramm.pdf · tem que garantir o funcionamento correto, através de manutenções

LISTA DE SIGLAS

AD - Administrador de Dados

ANSI - American National Standards Institute

BI - Business Intelligence

CPU - Central Processing Unit

DA - Data Administrator

DBA - DataBase Administrator

DCL - Data Control Language

DDL - Data Definition Language

DML - Data Manipulation Language

DMV - Dynamic Management View

IO - Input/Output

ISO - International Standards Organization

ITIL - IT Infrastructure Library

LDF - Log Database Files

MDF - Master Database Files

MOSS - Microsoft Office SharePoint Server

SCOM - Microsoft System Center Operations Manager

SEQUEL - Structured English Query Language

SGBD - Sistema Gerenciador de Banco de Dados

SQL - Structured Query Language

TCC - Trabalho de Conclusão do Curso

TI - Tecnologia de Informação

T-SQL - Transaction-SQL

UML - Unified Modeling Language

Page 12: SISTEMA DE GERENCIAMENTO DE SGBD SQL SERVERcampeche.inf.furb.br/tccs/2012-I/TCC2012-1-13-VF-MarlonRSchramm.pdf · tem que garantir o funcionamento correto, através de manutenções

SUMÁRIO

1 INTRODUÇÃO .................................................................................................................. 12

1.1 OBJETIVOS DO TRABALHO ........................................................................................ 13

1.2 ESTRUTURA DO TRABALHO ...................................................................................... 13

2 FUNDAMENTAÇÃO TEÓRICA .................................................................................... 14

2.1 ADMINISTRAÇÂO DE DADOS E DE BANCO DE DADOS....................................... 14

2.2 GERENCIAMENTO DE BANCO DE DADOS .............................................................. 15

2.3 SHAREPOINT FOUNDATION ......................................................................................... 17

2.4 MICROSOFT SQL SERVER.............................................................................................. 17

2.5 TIPOS DE OBJETOS........................................................................................................ 18

2.6 LINGUAGEM SQL .......................................................................................................... 20

2.7 SISTEMA ATUAL ........................................................................................................... 22

2.8 TRABALHOS CORRELATOS ........................................................................................ 22

3 DESENVOLVIMENTO .................................................................................................... 24

3.1 SOLUÇÃO PROPOSTA ................................................................................................... 24

3.2 ESPECIFICAÇÃO ............................................................................................................ 27

3.2.1 Requisitos principais do sistema ..................................................................................... 28

3.2.2 Diagrama de casos de uso ............................................................................................... 29

3.2.3 Modelo de entidade e relacionamento (MER) ................................................................ 31

3.2.4 Dicionário de dados......................................................................................................... 32

3.3 IMPLEMENTAÇÃO ........................................................................................................ 34

3.3.1 Técnicas e ferramentas utilizadas.................................................................................... 35

3.3.2 Operacionalidade da implementação .............................................................................. 43

3.4 RESULTADOS E DISCUSSÃO ...................................................................................... 52

4 CONCLUSÕES .................................................................................................................. 54

4.1 EXTENSÕES .................................................................................................................... 55

REFERÊNCIAS BIBLIOGRÁFICAS ................................................................................. 56

APÊNDICE A - DETALHAMENTO DOS CASOS DE USO ............................................ 58

Page 13: SISTEMA DE GERENCIAMENTO DE SGBD SQL SERVERcampeche.inf.furb.br/tccs/2012-I/TCC2012-1-13-VF-MarlonRSchramm.pdf · tem que garantir o funcionamento correto, através de manutenções

12

1 INTRODUÇÃO

A partir do século 21, com a constante mudança nos processos de trabalho surge a era

do conhecimento dentro de uma empresa, e cada vez mais existe a necessidade de gerenciar e

controlar de maneira eficiente toda informação, uma vez que, adquirindo mais conhecimento

através da informação, têm-se mais soluções e possibilidades de evoluir o negócio. Segundo

Davenport e Prusak (1998, p. 6), o conhecimento pode ser comparado a um sistema vivo, que

cresce e se modifica à medida que interage com o meio ambiente.

Devido ao aumento de dados nas empresas, alinhado com a necessidade de gerenciar

este aumento, surgiram aplicativos de software e seus bancos de dados, possibilitando

armazenar todos os dados de que uma empresa necessita. Para que seja viável guardar as

informações de uma forma segura e que seja recuperada facilmente, chegando-se a criar um

Sistema Gerenciador de Banco de Dados (SGBD). Segundo Silberschatz, Korth e Sudarshan

(1999, p. 21), um SGBD consiste em uma coleção de arquivos e programas que são inter-

relacionados que acabam permitindo ao usuário um acesso para consulta e alterações desses

dados.

Em qualquer organização onde muitas pessoas compartilham muitos recursos, existe a

necessidade de um administrador chefe para supervisionar e gerenciar estes recursos (LIMA,

1997). Num ambiente de base de dados, o recurso primário é uma base de dados e os recursos

secundários são o próprio SGBD e aplicativos relacionados. A administração desses recursos

é de responsabilidade de um administrador de banco de dados (DataBase Administrator -

DBA) (DATE, 2000, p.18).

Logo, esse DBA detém todos os privilégios a respeito de definição de acesso a dados e

tem que garantir o funcionamento correto, através de manutenções regulares e

acompanhamento de qualquer alteração que for realizada. Esse processo é chamado de

monitoramento de banco de dados.

Conforme Risch (1989, p. 445), o monitoramento de banco de dados compreende

observar as constantes alterações feitas nas bases de dados e poder dar informações e alertar

para tomadas de decisões sobre as diferentes situações do banco de dados.

A KeepIT é uma empresa de prestação de serviço de infraestrutura de Tecnologia de

Informação (TI). Dentre os seus serviços está o monitoramento de servidores em seus clientes.

Em função de ser monitorado somente o status do serviço de DataBase Engine na parte de

SGBD, constatou-se a necessidade de gerenciar outros recursos, tais como processamento e

Page 14: SISTEMA DE GERENCIAMENTO DE SGBD SQL SERVERcampeche.inf.furb.br/tccs/2012-I/TCC2012-1-13-VF-MarlonRSchramm.pdf · tem que garantir o funcionamento correto, através de manutenções

13

memória. Neste contexto propõe-se um sistema que consiga monitorar as atividades de

manutenção periódica e preventiva de um SGBD tipo SQL Server, centralizando o acesso a

essas informações em uma intranet, utilizando a ferramenta de colaboração da Microsoft,

SharePoint Foundation.

1.1 OBJETIVOS DO TRABALHO

O objetivo deste trabalho é a concepção de uma solução de monitoramento de SGBD

tipo SQL Server. Os objetivos específicos são:

a) disponibilizar uma aplicação web para gerenciamento de memória, CPU, espaço

em disco e IO dos bancos de dados tipo SQL Server;

b) centralizar o acesso das informações de monitoramento através do SharePoint

Foundation;

c) validar a aplicação através de um estudo de caso.

1.2 ESTRUTURA DO TRABALHO

Esse trabalho está disposto em quatro capítulos.

No primeiro capítulo apresenta-se a introdução, os objetivos e a estrutura do trabalho.

No segundo capítulo apresenta-se a fundamentação teórica, destacando os conceitos de

SGBD e seus componentes agregados.

No terceiro capítulo é apresentado o desenvolvimento do sistema, implementação

realizada e operacionalidades do sistema.

O quarto capítulo apresenta as conclusões e sugestões de extensão e melhorias para

trabalhos futuros.

Page 15: SISTEMA DE GERENCIAMENTO DE SGBD SQL SERVERcampeche.inf.furb.br/tccs/2012-I/TCC2012-1-13-VF-MarlonRSchramm.pdf · tem que garantir o funcionamento correto, através de manutenções

14

2 FUNDAMENTAÇÃO TEÓRICA

Este capítulo introduz os conceitos relacionados ao escopo do projeto tais como a

Administração de Dados e de Banco de Dados, Monitoramento de Banco de Dados,

SharePoint Foundation, Microsoft SQL Server, Tipos de Objetos e a Linguagem SQL. Além

disso, serão apresentados os trabalhos correlatos.

2.1 ADMINISTRAÇÂO DE DADOS E DE BANCO DE DADOS

Na essência, um sistema de banco de dados simplesmente é um sistema

computadorizado que armazena registros (DATE, 2000). Realizando uma comparação, ele

próprio pode ser visto como o equivalente a um depósito de arquivamento. Em outros termos

é um repositório para coleções de arquivos. Para organizar tudo isso, deve-se ter um usuário

com autonomia para exercer tal função.

Ficam evidentes duas funções no contexto de banco de dados, que são esclarecidas o

administrador de dados (Data Administrator - DA) e o administrador de banco de dados

(DataBase Administrator – DBA) (DATE, 2000). Elas estão diretamente associadas, pois o

DA é responsável por tomar as decisões estratégicas e também de normas com relação às

informações da empresa. Já o DBA, fica com a tarefa de fornecer o suporte técnico necessário

para executar as decisões do DA (SILBERSCHATZ; KORTH; SUDARSHAN, 1999). Com

isto o DBA é responsável por controlar o sistema de banco de dados em um nível técnico

(DATE, 2000). Algumas das funções de um DBA são:

a) definir o esquema conceitual;

b) definir o esquema interno;

c) definir restrições de segurança e integridade;

d) monitorar o desempenho e responder a requisitos de mudança.

O administrador de banco de dados, diferentemente do administrador de dados, que

trabalha com as informações, é mais técnico, trabalha com a implementação chamado de

DBA (DataBase Administrator) (DATE, 2000).

Page 16: SISTEMA DE GERENCIAMENTO DE SGBD SQL SERVERcampeche.inf.furb.br/tccs/2012-I/TCC2012-1-13-VF-MarlonRSchramm.pdf · tem que garantir o funcionamento correto, através de manutenções

15

No ambiente de banco de dados, o principal recurso é o próprio banco de dados. A

seguir, vêm o SGBD e os aplicativos relacionados. A administração desses recursos é

responsabilidade do DBA (ELMASRI; NAVATHE, 2005).

O DBA pode ajudar a evitar problemas de integridade no banco de dados utilizando-se

de implementações do tipo restritivas de integridade que também são conhecidos como regras

de negócio (DATE, 2000).

O administrador do banco de dados tem autoridade especial para executar comandos

que alteram o schema de um banco de dados. Esses comandos por si só causam grandes

efeitos sobre o banco de dados (GARCIA-MOLINA; ULLMAN; WIDOM, 2001).

Segundo Date (2000, p. 25), o DBA tem a jurisdição completa sobre o banco de dados,

pode assegurar que o acesso seja unicamente por canais apropriados. Com isso, podem-se

tratar as regras para segurança ou regras a serem validadas sempre que houver uma tentativa

de acesso a essas informações, que sempre são confidenciais. O DBA também é responsável

pela coordenação e monitoração do uso delas e por adquirir recursos de software e hardware

conforme seja necessário (ELMASRI; NAVATHE, 2005).

2.2 GERENCIAMENTO DE BANCO DE DADOS

Para garantir um estado de funcionamento considerado apropriado para um banco de

dados, devem-se realizar vários gerenciamentos, que muitas vezes são realizados pelo DBA,

que detém conhecimento técnico para planejar monitoramentos periódicos e em tempo real.

Todos esses processos requerem muito tempo e dedicação, já que um SGBD fornece

informações sobre os vários recursos que um banco de dados disponibiliza. Entre eles estão à

possibilidade de conseguir acompanhar as mudanças ocorridas no banco de dados, tanto com

informações em tempo real quanto com histórico de problemas e acontecimentos. Isso amplia

a possibilidade de evitar futuros problemas.

Segundo Risch (1989, p. 445), o monitoramento do banco de dados se resume em

analisar as constantes mudanças realizadas nos bancos de dados e conseguir prover

informações e avisos para tomadas de decisões referentes às possíveis situações adversas.

O acompanhamento do banco de dados remotamente ou a distância é um dos desejos

da grande maioria dos que trabalham neste segmento da informática (LUCHTENBERG,

2002, p. 3).

Page 17: SISTEMA DE GERENCIAMENTO DE SGBD SQL SERVERcampeche.inf.furb.br/tccs/2012-I/TCC2012-1-13-VF-MarlonRSchramm.pdf · tem que garantir o funcionamento correto, através de manutenções

16

As informações do banco de dados, como espaço em disco, número de tabelas, número

de quantidade de vezes em que foi realizada uma manutenção, quantidade de objetos

bloqueados, são muito importante para o bom funcionamento do SGBD. Muitas vezes, são

esquecidas, que vêm à tona somente quando o problema ocorre (ALMEIDA, 2007).

Disponibilizar uma gestão de capacidade a nível, por exemplo, de espaço em disco,

uso de CPU e armazenamento deve vir junto com a capacidade de compreensão do negócio.

Na IT Infrastructure Library (ITIL) existe o processo de gerenciamento da capacidade, que é

responsável pela disponibilização no volume certo, no tempo certo ao atendimento das

demandas do negócio em termos de serviços de TI, garantindo que os recursos disponíveis

sejam utilizados de forma mais eficiente possível.

Para que seja possível atingir os objetivos, é imprescindível a identificação dos

serviços que são requeridos pelas áreas de negócio da organização (MAGALHÃES;

PINHEIRO, 2007).

Obter informações de uma atividade executada, a fim de restaurar um serviço ou outro

item de configuração para uma linha de base anterior é composto na ITIL, com o objetivo de

usar o retorno como uma forma de remediação quando uma mudança ou liberação não for

bem sucedida.

Segundo Almeida (2007, p. 17), as empresas têm um bom planejamento de

infraestrutura antes de ampliar o uso de um banco de dados. O estudo para que isso seja

possível é feito através de avaliação do hardware, para que consiga indicar se o mesmo está

ou não em condições de suportar a demanda de requisições de acesso, e também da rede, do

processador, do disco, entre outros. Esse estudo pode ser complementado com um

monitoramento de SGBD. Podemos dizer que um sistema de gerencialmente de banco de

dados atendem admiravelmente os desafios das aplicações comerciais das últimas décadas e

tais sistemas necessitam monitoramento (TAMER, 1997).

De maneira geral, o monitoramento de hardware é necessário, porém deixa de ser uma

atividade com mesma frequência do que o monitoramento de um SGBD (ALMEIDA, 2007,

p. 17).

Page 18: SISTEMA DE GERENCIAMENTO DE SGBD SQL SERVERcampeche.inf.furb.br/tccs/2012-I/TCC2012-1-13-VF-MarlonRSchramm.pdf · tem que garantir o funcionamento correto, através de manutenções

17

2.3 SHAREPOINT FOUNDATION

O SharePoint é uma plataforma de colaboração corporativa via web, que permite

conectar e capacitar pessoas por meio de um conjunto integrado de recursos avançados. Este

produto facilita o trabalho em conjunto, de modo que os colaboradores podem configurar sites

da web para compartilhar informações, gerenciar documentos com versionamento e até

publicar relatórios que ajudem na tomada de decisões. O SharePoint no mundo do Business

Intelligence (BI) é comumente utilizado como servidor front-end, ou seja, especialmente para

mostrar as informações úteis para a empresa (ENGLISH BILL; MARK, 2011, p. 6).

Posteriormente foi lançado a versão 2007, mais conhecida como Microsoft Office

SharePoint Server (MOSS), já utilizando a versão 2.0 da plataforma .NET. Nessa versão,

foram oferecidos recursos como BI, portal no conceito de criar sites e centralizar informações,

foi adicionado o recurso de pesquisa, gerenciamento de conteúdo e a facilidade de criar

formulários de negócios utilizando o produto InfoPath.

A última versão, lançada em 2010, foi totalmente desenvolvida no .NET FrameWork

3.5 e utiliza também recursos SilverLight para a camada de apresentação ficar mais interativa

e agradável. Todos os recursos existentes na versão anterior foram aprimoradas e algumas

foram incluídas, como por exemplo o pacote de soluções para implantação de projetos em

SharePoint, novas WebParts foram incluídas e diversas outras funcionalidades e integrações

com os produtos Microsoft.

2.4 MICROSOFT SQL SERVER

A empresa Microsoft possui um produto para atender o mercado de SGBD relacional,

chamado de SQL Server, que por sua vez, faz o uso de uma linguagem com nome próprio

Transaction-SQL (T-SQL) que é implementada sobre o padrão SQL ANSI.

A história do SQL Server começou com a Microsoft adquirindo o produto de outra

empresa chamada de Sybase em 1988 (ALMEIDA, 2007, p. 17). Após ter sido efetuado

diversas modificações no banco adquirido pela Sybase, o SQL Server conseguiu atingir um

reconhecimento de mercado grande, a partir de sua versão 7, quando acabou incorporando

Page 19: SISTEMA DE GERENCIAMENTO DE SGBD SQL SERVERcampeche.inf.furb.br/tccs/2012-I/TCC2012-1-13-VF-MarlonRSchramm.pdf · tem que garantir o funcionamento correto, através de manutenções

18

inúmeras funcionalidades e ferramentas até então existentes em outros bancos de dados

(ALMEIDA, 2007, p. 18).

O SQL Server em 1988 teve sua primeira versão lançada, foi desenvolvido para a

plataforma OS/2 entre Microsoft e a Sybase. Durante os anos 90 a Microsoft iniciou o

desenvolvimento do banco de dados SQL Server para a plataforma Win NT. Em 1994 houve o

rompimento da parceria Microsoft com a Sybase. Em 1995 foi lançado a versão 6.0 e em

1998 foi lançada a versão 7. Vale informar que nesta versão o SQL foi totalmente reescrito.

Em 2000 a Microsoft lançou o SQL Server 2000, que até o momento foi o mais

importante lançamento. Esta versão foi construída sobre o FrameWork do SQL Server 7.0,

com esta versão o time de desenvolvimento da Microsoft esperava possuir uma tecnologia

para os próximos 10 anos. E em 2003 surgiu a primeira versão 64-bit podendo acessar maior

quantidade de memória.

Em 2005 é lançado o SQL Server 2005 com uma grande integração com a plataforma

.NET incluindo recursos novos, tais como as Dynamic Management Views (DMVs) que são

views dinâmicas disponíveis que retornam informações de estado do servidor que podem ser

usadas para monitorar a integridade de uma instância do servidor, diagnosticar problemas e

ajustar o desempenho.

Em 2008 a Microsoft lança o SQL Server 2008 com diversas funcionalidades novas

como tipo de dados geográfico, controle de carga por usuário entre outras (HOTEK, 2010).

Na última versão no atual presente, foi lançada em 2010 a versão evoluída do SQL Server

2008 chamado de SQL Server 2008R2, dentre diversas melhorias a principal foi grandes

novidades no recurso de BI (MISTRY; MISNER, 2010).

2.5 TIPOS DE OBJETOS

Para cada tipo de banco de dados é diferente a quantidade de objetos que é possível

criar e utilizar. Quanto maior a possibilidade de criar estes objetos, maior será a facilidade em

obter recursos como: integridade, segurança e facilidade trabalhar com as informações. É

possível armazenar e manipular dados dentro de objetos, eles possuem definições de

restrições (OPPEL, 2009).

Page 20: SISTEMA DE GERENCIAMENTO DE SGBD SQL SERVERcampeche.inf.furb.br/tccs/2012-I/TCC2012-1-13-VF-MarlonRSchramm.pdf · tem que garantir o funcionamento correto, através de manutenções

19

As restrições (constraints) são aplicadas em tabelas, colunas ou até mesmo em um

domínio que limita o tipo de dado que pode ser inserido no objeto respectivo. Segundo Oppel

(2009) as restrições podem ser divididas em três categorias:

a) restrições relativas a tabelas: estas restrições podem ser incluídas como parte da

definição da coluna ou como um elemento na definição da tabela;

b) restrições de domínio: uma restrição de domínio é associada com qualquer coluna

que é definida utilizando domínio;

c) asserções: é uma restrição relacionada a uma ou mais tabelas.

Abaixo descrevem-se os objetos que definem as restrições:

a) Check Constraints: (Constraint de verificação), permite definir um predicado que

uma linha deve atender para ser inserida na tabela ou alterada (BEN-GAN, 2010);

b) Default Constraints: (Constraint padrão), permite associar com um determinado

atributo. Expressão usada como valor padrão quando um valor explícito não é

especificado (BEN-GAN, 2010);

c) Primary Key Constraints: (Constraint de chave primária), permite impor

exclusividade de linhas e também não permite valores nulos (NULL) (BEN-GAN,

2010);

d) Foreign Key Constraints: (Constraint de chave estrangeira), impõe uma

integridade referencial entre tabelas, com a finalidade de restringir o domínio de

valores permitidos nas colunas com relação àqueles existentes nas colunas

referenciadas (BEN-GAN, 2010);

e) Unique Constraints: (Constraint exclusiva), impõe uma exclusividade de linhas.

Diferente das Primary Keys, várias unique constraints podem ser definidas na

mesma tabela (BEN-GAN, 2010);

f) View: (Visões), tabelas virtuais cuja definição existe como objeto no esquema.

Diferente de tabelas persistidas, os dados não são armazenados nas visualizações

(OPPEL, 2009). Suas definições ficam guardadas como objeto de banco de dados e

somente são removidos dele se forem excluídos especificamente (BEN-GAN,

2010). View também pode ser definida como tabelas que não ocupam espaço físico,

mas que podem ser utilizadas como tabelas (MACHADO, 1998);

g) Tables: (Tabelas) é o objeto que armazena as informações que normalmente

possuem referencia com outras tabelas;

Page 21: SISTEMA DE GERENCIAMENTO DE SGBD SQL SERVERcampeche.inf.furb.br/tccs/2012-I/TCC2012-1-13-VF-MarlonRSchramm.pdf · tem que garantir o funcionamento correto, através de manutenções

20

h) Triggers: (Gatilhos) É um tipo especial de procedimento armazenado (Store

Procedure), um procedimento armazenado que não pode ser executado

explicitamente (BEN-GAN, 2010). São objetos que não fazem parte do modelo

lógico, mas que acabam tornando-se visíveis a um usuário como relação virtual

(SILBERSCHATZ; KORTH; SUDARSHAN, 1999, p. 65). Os gatilhos nos

produtos SQL são muito particulares e são implementados de maneira diferente

(OPPEL, 2009);

i) Store Procedures (Prodecimento Armazenado) são módulos de programa

armazenado pelo SGBD dentro de servidor de banco de dados (ELMASRI;

NAVATHE, 2005). Segundo Ben-Gan (2010) são rotinas armazenadas no servidor

que sintetizam os códigos SQL. Estes procedimentos armazenados podem ter

parâmetros de entrada e de saída, podem até mesmo retornar um conjunto de

resultados;

j) Índice: segundo Almeida (2007, p.20) são objetos responsáveis por facilitar e

aumenta o desempenho do banco de dados;

k) Índices FULL-Text: são objetos especiais derivados de índex para tratar diferentes

tipos de dados (ALMEIDA, 2007, p.20).

2.6 LINGUAGEM SQL

O Structured Query Language (SQL) é uma linguagem relacional implementada

diferente de outras linguagens de computação (OPPEL, 2009).

Segundo Ben-Gan (2010), a linguagem SQL foi projetada para consultar e gerenciar

dados em sistema de gerenciamento de banco de dados relacionais (RDBMSs). Um RDBMS

é um sistema de gerenciamento de banco de dados baseado em um modelo relacional;

A SQL ainda não possui das muitas funcionalidades básicas de outras linguagens de

programação. Por conta deste motivo ele é chamado de sub-linguagem de dados por conta da

frequência que é utilizada em associação com linguagens de desenvolvimento de aplicativos

como C e Java, cuja função não foi projetada para manipular dados armazenados em base.

O modelo relacional é independente da linguagem, pois pode ser implementado o

modelo relacional com diferentes linguagens da SQL. Um exemplo é o C# em um modelo de

classe. Hoje em dia é comum ver RDBMS suportando linguagens diferentes de um dialeto da

Page 22: SISTEMA DE GERENCIAMENTO DE SGBD SQL SERVERcampeche.inf.furb.br/tccs/2012-I/TCC2012-1-13-VF-MarlonRSchramm.pdf · tem que garantir o funcionamento correto, através de manutenções

21

SQL, como o CLR Integration no SQL Server. Conforme Almeida (2007, p. 8), o SQL como

o nome diz é uma linguagem de consulta estruturada.

Apesar de existirem outros modelos de sistema de banco de dados, no trabalho atual

será utilizado o modelo relacional. Este modelo é utilizado pela grande maioria de banco de

dados disponíveis no mercado (ALMEIDA, 2007, p. 8). Neste caso será utilizado o SQL

Server como banco de dados relacional. Conforme Silberschatz, Korth e Sudarshan (1999) um

banco de dados relacional consiste em uma coleção de tabelas, cada uma das quais contém um

nome único.

Conforme Elmasri e Navathe (2005) a linguagem SQL pode ser considerada um dos

maiores motivos para o sucesso dos bancos de dados relacionais no mundo comercial.

O nome SQL era chamado inicialmente de Structured English Query Language

(SEQUEL), linguagem de pesquisa em inglês estruturada, sendo projetada e implementada

pela IBM (ELMASRI; NAVATHE, 2005).

A SQL tornou-se padrão por volta de 1986 quando o American National Standards

Institute (ANSI) tornou o SQL como uma linguagem padrão para os bancos de dados

relacionais (LUCHTENBERG, 2002, p. 10).

Conforme Elmasri e Navathe (2005), a ANSI obteve ajuda da International Standards

Organization (ISO - Organização Internacional de Padrões) para chegar na versão padrão do

SQL do ANSI em 1986, chamado de SQL-86 ou SQL1.

Conforme Oppel (2009), o SQL pode ser dividido em 3 tipos de comandos para

categorizar, de acordo com as funções:

a) a Linguagem de Definição de dados (Data Definition Language - DDL): são

comandos utilizados para criar, modificar ou apagar objetos contidos na base de

dados, como: tabelas, visualizações, esquemas, domínios, gatilhos e procedimentos

armazenados. Para cada comando do tipo DDL existe uma palavra chave associada

na linguagem SQL;

b) a Linguagem de Controle dos Dados (Data Control Language - DCL): comandos

deste tipo permitem ter controle de quem ou o que (um usuário na base de dados

pode ser humano ou um programa) tem acesso a objetos em especifico. Resumindo,

poderá conceder ou restringir acesso a objetos do banco de dados utilizando

comandos DCL. Conforme Date (2000) para executar comandos SQL o usuário

deve possuir o privilégio apropriado para a combinação do operador e a operação

em questão;

Page 23: SISTEMA DE GERENCIAMENTO DE SGBD SQL SERVERcampeche.inf.furb.br/tccs/2012-I/TCC2012-1-13-VF-MarlonRSchramm.pdf · tem que garantir o funcionamento correto, através de manutenções

22

c) a Linguagem de Manipulação dos Dados (Data Manipulation Language - DML): os

comandos deste tipo são utilizados para inserir, alterar, recuperar ou apagar dados

armazenados em objetos nas bases de dados.

2.7 SISTEMA ATUAL

Atualmente a empresa KeepIT oferece serviços de monitoramento de BD e não possui

internamente uma solução para que esta atividade seja realizada de forma automática.

Atualmente é realizado o monitoramento do serviço do Engine Database para avaliar se o

status é on-line ou off-line.

Para qualquer atividade que envolva monitorar o SQL SERVER, é necessário que um

funcionário da empresa acesse o cliente, e utilize a ferramenta SQL Server Management

Studio de consulta do SQL Server para obter informações, de memória, processamento, IO, ou

seja, tem que acessar o cliente e diretamente o SQL SERVER para conseguir extrair

informações importantes tanto para desempenho quanto para garantir a qualidade dos serviços

do Banco.

2.8 TRABALHOS CORRELATOS

Três trabalhos estão relacionados ao escopo do presente trabalho que são o de Risch

(1989), o de Luchtenberg (2002) e o de Almeida (2007).

Risch (1989), dos laboratórios de pesquisa da empresa HP, descreve a arquitetura para

um sistema de monitoramento de objetos de banco de dados de alto nível. O trabalho ajudou

na compreensão de diversos conceitos sobre monitoramento e alertas. Entre as vantagens da

arquitetura, podem-se citar o fato de minimizar o peso de processamento do software de

monitoramento sobre o banco de dados, o sistema de notificações eficaz e a localização

automática de recursos a monitorar.

Luchtenberg (2002), descreve o desenvolvimento de um aplicativo chamado NetDBA

para o monitoramento do banco de dados Oracle através de uma ferramenta Web. Sua

Page 24: SISTEMA DE GERENCIAMENTO DE SGBD SQL SERVERcampeche.inf.furb.br/tccs/2012-I/TCC2012-1-13-VF-MarlonRSchramm.pdf · tem que garantir o funcionamento correto, através de manutenções

23

principal vantagem é executar procedimentos administrativos e monitoração básica

diariamente de um banco de dados Oracle, sem depender de sua estação de trabalho.

Almeida (2007) descreve o desenvolvimento de um sistema de monitoramento de

SGBD chamado de Einstein. Que foi idealizado como um sistema comum de monitoramento,

porém traz recursos que não estão disponíveis em outras ferramentas analisadas na

monografia e procura atender às necessidades dos DBAs. Além disso, aplicativos do tipo

serviço (o Einstein Monitor) têm uma forma de desenvolvimento diferenciada de sistemas

visuais, pois não possuem componentes e eventos assim como em outros tipos de software

para Web ou desktop.

Há ainda uma solução comercial da Microsoft chamada de System Center, que é uma

família de soluções de gerenciamento de TI. Nesta família existe um produto denominado de

Microsoft System Center Operations Manager (SCOM) que possui um complemento

(Package) para ser instalado possibilitando monitorar os SGBDs. O produto possibilita:

a) monitorar os usuários e funções atribuídas;

b) avaliar desempenho;

c) monitorar replicação de dados;

d) monitorar topologia do banco de dados;

e) monitorar os serviços (Jobs);

f) monitorar espaço das databases;

g) monitorar tempo de resposta para os sistemas que utilizam o SGBD.

Page 25: SISTEMA DE GERENCIAMENTO DE SGBD SQL SERVERcampeche.inf.furb.br/tccs/2012-I/TCC2012-1-13-VF-MarlonRSchramm.pdf · tem que garantir o funcionamento correto, através de manutenções

24

3 DESENVOLVIMENTO

Neste capítulo são descritas as especificações do sistema, as suas características, os

principais requisitos, o diagrama de caso de uso, o modelo entidade relacionamento, a

operacionalidade do sistema, as tecnologias utilizadas e os resultados obtidos.

3.1 SOLUÇÃO PROPOSTA

A solução desenvolvida consiste em um sistema web para monitoramento do SGBD

SQL Server, de fácil utilização e que possui uma melhor interatividade com o usuário que irá

gerenciar. Isto implica otimizar o tempo de um DBA responsável pelo estado do banco de

dados, garantindo assim uma resposta antecipada para evitar problemas com integridade dos

dados e o seu desempenho.

O sistema possui vários tipos de relatórios em formato PDF, são eles:

a) status dos databases;

b) percentual de crescimento dos databases;

c) quantidade de objetos (view, procedures, tables, triggers).

Também foi disponibilizado de forma gráfica para o usuário a situação das bases de

dados e o percentual de crescimento.

A solução desenvolvida não é funcional para versões do SQL Server inferiores a 2005,

devido às funções utilizadas que foram introduzidas somente na versão 2005 ou superiores, e

por conta da utilização de Dynamic Management View (DMVs) nas procedures cujo recurso

surgiu na versão 2005 do SQL Server.

Como infraestrutura de desenvolvimento do sistema foi utilizado o SharePoint

Foundation que permite controle de acesso e publicação do sistema e também possui um

banco de dados próprio. É possível cadastrar o monitoramento de várias instâncias de SQL

Server, garantindo que todos os bancos de dados da empresa fiquem sobre vigilância do

mesmo sistema. Para que seja possível realizar o gerenciamento das instâncias, cada instância

precisa ser cadastrada, com isto é criado automaticamente um banco de dados para coletar as

informações necessárias.

Page 26: SISTEMA DE GERENCIAMENTO DE SGBD SQL SERVERcampeche.inf.furb.br/tccs/2012-I/TCC2012-1-13-VF-MarlonRSchramm.pdf · tem que garantir o funcionamento correto, através de manutenções

25

A Figura 1 demonstra o fluxo do processo de cadastrar instância de SQL Server que

será monitorado.

Figura 1 - Fluxo do processo de cadastrar instância de SQL Server

O processo se inicia quando o usuário dba acessa o site de monitoramento, utilizando o

menu lateral esquerdo e escolhe a opção de “Cadastro Servidor”. Com isto irá aparecer a tela

para realizar o cadastramento da instância, após informar as informações em seus campos

devidos, o usuário dba clica no botão para “Salvar”. Após ter realizado todos estes passos, o

sistema irá tentar acessar a instância informada, utilizando o usuário e senha configurados na

lista de parâmetros, feito o acesso a instância, inicia o processo para criar uma base de dados,

suas tabelas, procedures e dois Jobs para realizar o monitoramento de informações

necessárias.

Page 27: SISTEMA DE GERENCIAMENTO DE SGBD SQL SERVERcampeche.inf.furb.br/tccs/2012-I/TCC2012-1-13-VF-MarlonRSchramm.pdf · tem que garantir o funcionamento correto, através de manutenções

26

A Figura 2 demonstra o fluxo de processo para obter os status das bases de dados.

Figura 2 - Fluxo do processo do Job Status

A Figura 3 demonstra o fluxo para obter informações das tabelas e bases.

Figura 3 - Fluxo do processo do Job Monitoramento

Page 28: SISTEMA DE GERENCIAMENTO DE SGBD SQL SERVERcampeche.inf.furb.br/tccs/2012-I/TCC2012-1-13-VF-MarlonRSchramm.pdf · tem que garantir o funcionamento correto, através de manutenções

27

Depois de ter cadastrado as instância de SQL Server desejadas, já é possível emitir os

relatórios e visualizar a tela de gráficos principais.

A Figura 4 demonstra o processo pare realizar a exclusão de uma instância do

monitoramento.

Figura 4 - Processo pare realizar a exclusão de uma instância do monitoramento

Pare realizar a exclusão do monitoramento, basta acessar o site de monitoramento,

escolher a opção “Excluir Servidor”, nesta tela terá um campo contendo a lista das instâncias

que estão sendo monitoradas, basta escolher um dos itens e clicar no botão “Executar”.

3.2 ESPECIFICAÇÃO

Nesta seção estão descritos os diagramas elaborados para desenvolvimento do sistema,

dentre eles o diagrama de caso de uso e seu detalhamento e o diagrama de atividades, ambos

com base na Unified Modeling Language (UML), utilizando a ferramenta Microsoft Visio

2010.

Page 29: SISTEMA DE GERENCIAMENTO DE SGBD SQL SERVERcampeche.inf.furb.br/tccs/2012-I/TCC2012-1-13-VF-MarlonRSchramm.pdf · tem que garantir o funcionamento correto, através de manutenções

28

3.2.1 Requisitos principais do sistema

O Quadro 1 apresenta os requisitos funcionais previstos para o sistema e sua

rastreabilidade, ou seja, vinculação com os casos de uso associados.

Requisitos Funcionais Caso de Uso

RF01: O sistema deverá permitir o usuário efetuar login no sistema. UC01

RF02: O sistema deverá permitir o usuário cadastrar as instâncias de SQL que

vão ser monitoradas. UC02

RF03: O sistema deverá permitir o usuário cancelar o monitoramento de uma

determinada instância SQL Server. UC03

RF04: O sistema deverá emitir relatório de histórico de espaço em disco. UC04

RF05: O sistema deverá emitir relatório de previsão de falta de espaço em

disco. UC05

RF06: O sistema deverá emitir relatório da quantidade de objetos por

instância. UC06

RF07: O sistema deverá emitir relatório de percentual de crescimento das

bases. UC07

RF08: O sistema deverá emitir relatório sobre a quantidade de memória

utilizado por Database. UC08

RF09: O sistema deverá emitir relatórios sobre a utilização de memória por

DataBase e IO por DataBase. UC09

RF10: O sistema deverá emitir relatório indicando status do banco de dados. UC10

RF11: O sistema deverá permitir o DBA controlar o acesso ao sistema UC11

Quadro 1 - Requisitos funcionais

O Quadro 2 lista os requisitos não funcionais previstos para o sistema.

Requisitos Não Funcionais

RNF01: O sistema deverá monitorar banco de dados SQL Server 2008R2.

RNF02: O sistema deverá ser implementado em C# 3.5.

RNF03: O sistema deverá ser web.

RNF04: O sistema deverá utilizar a plataforma SharePoint Foundation para hospedar as

páginas aspx.

Quadro 2 - Requisitos não funcionais

Page 30: SISTEMA DE GERENCIAMENTO DE SGBD SQL SERVERcampeche.inf.furb.br/tccs/2012-I/TCC2012-1-13-VF-MarlonRSchramm.pdf · tem que garantir o funcionamento correto, através de manutenções

29

3.2.2 Diagrama de casos de uso

Esta subseção apresenta na Figura 5 o diagrama de casos de uso do sistema.

Figura 5 - Caso de uso

O ator Administrador DBA é o usuário que faz a gestão do acesso ao sistema de

monitoramento, o mesmo incluir as permissões para a tela de cadastrar instância e excluir

servidor do monitoramento.

O sistema não possui módulos distintos, todas as telas referenciem o mesmo sistema,

sendo simplesmente a tela de cadastrar servidor de monitoramento, excluir servidor de

monitoramento, a tela que contém os gráficos do monitoramento e por fim a tela que emite os

relatórios do sistema.

Page 31: SISTEMA DE GERENCIAMENTO DE SGBD SQL SERVERcampeche.inf.furb.br/tccs/2012-I/TCC2012-1-13-VF-MarlonRSchramm.pdf · tem que garantir o funcionamento correto, através de manutenções

30

Na Figura 6, os usuários podem emitir diversos relatórios do sistema. Estes mesmos

relatórios são todos arquivados em uma biblioteca do SharePoint, que depois podem ser

consultados e visualizados nestes mesmos arquivos. Nesta tela que emite relatório o usuário

dba é que irá poder definir quais os usuários que podem executar os relatórios.

Figura 6 - Caso de uso

O ator usuário pode ser qualquer pessoa que esteja cadastrado no Active Directore do

domínio da empresa, logo somente o Administrador dba que poderá retirar o acesso de todos

os usuários e incluir somente permissão para usuários privilegiados de acordo com as regras

da empresa.

Page 32: SISTEMA DE GERENCIAMENTO DE SGBD SQL SERVERcampeche.inf.furb.br/tccs/2012-I/TCC2012-1-13-VF-MarlonRSchramm.pdf · tem que garantir o funcionamento correto, através de manutenções

31

3.2.3 Modelo de entidade e relacionamento (MER)

O modelo de entidade e relacionamento possui um grande objetivo, que é guardar as

informações dos objetos da instância do SQL Server. Todas as entidades são utilizadas pelo

sistema, mais precisamente por procedures, para cadastrar as informações desde o nível de

tabela até o nível de servidor, sendo que ao emitir relatórios e gerar gráficos são utilizando

novamente procedures para retornar as informações destas entidades e mostrar ao usuário. Na

Figura 7 podemos visualizar todas as entidades que o sistema necessita.

Figura 7 - Modelo de entidade do sistema de monitoramento

Já prevendo crescimento do sistema de monitoramento, foi criada uma tabela para

informar qual cliente esta sendo monitorado, isto poderá ser usado em um trabalho futuro.

Toda estrutura do sistema esta pronta para se tornar flexível e futuramente monitorar outros

banco de dados, além do SQL Server.

Page 33: SISTEMA DE GERENCIAMENTO DE SGBD SQL SERVERcampeche.inf.furb.br/tccs/2012-I/TCC2012-1-13-VF-MarlonRSchramm.pdf · tem que garantir o funcionamento correto, através de manutenções

32

3.2.4 Dicionário de dados

A seguir são mostradas as informações detalhadas do modelo de entidade e

relacionamento.

Os tipos de dados de cada campo são descritos a seguir:

a) varchar: Armazena caracteres;

b) smallint: Armazena números inteiros;

c) int: Armazena números inteiros;

d) tinyint: Armazena números inteiros;

e) date: Armazena datas.

O Quadro 3 apresenta o dicionário de dados da entidade “Servidor”.

Quadro 3 - Dicionário de dados da entidade “Servidor”

O Quadro 4 apresenta o dicionário de dados da entidade “ItensLog”

Quadro 4 - Dicionário de dados da entidade “ItensLog”

Page 34: SISTEMA DE GERENCIAMENTO DE SGBD SQL SERVERcampeche.inf.furb.br/tccs/2012-I/TCC2012-1-13-VF-MarlonRSchramm.pdf · tem que garantir o funcionamento correto, através de manutenções

33

O Quadro 5 apresenta o dicionário de dados da entidade “BaseDados”

Quadro 5 - Dicionário de dados da entidade “BaseDados”

O Quadro 6 apresenta o dicionário de dados da entidade “LogStatusBaseDados”

Quadro 6 - Dicionário de dados da entidade “LogStatusBaseDados”

O Quadro 7 apresenta o dicionário de dados da entidade “Tabela”.

Quadro 7 - Dicionário de dados da entidade “Tabela”

Page 35: SISTEMA DE GERENCIAMENTO DE SGBD SQL SERVERcampeche.inf.furb.br/tccs/2012-I/TCC2012-1-13-VF-MarlonRSchramm.pdf · tem que garantir o funcionamento correto, através de manutenções

34

O Quadro 8 apresenta o dicionário de dados da entidade “LogCrescimentoBaseDados”.

Quadro 8 - Dicionário de dados da entidade “LogCrescimentoBaseDados”

O Quadro 9 apresenta o dicionário de dados da entidade “Cliente”.

Quadro 9 - Dicionário de dados da entidade “Cliente”

O Quadro 10 apresenta o dicionário de dados da entidade “UpgradeServidor”

Quadro 10 - Dicionário de dados da entidade “UpgradeServidor”

3.3 IMPLEMENTAÇÃO

A seguir são mostradas as técnicas e ferramentas utilizadas e a operacionalidade da

implementação.

Page 36: SISTEMA DE GERENCIAMENTO DE SGBD SQL SERVERcampeche.inf.furb.br/tccs/2012-I/TCC2012-1-13-VF-MarlonRSchramm.pdf · tem que garantir o funcionamento correto, através de manutenções

35

3.3.1 Técnicas e ferramentas utilizadas

Para o desenvolvimento do projeto, foi utilizado a linguagem C# e o frameWork .NET

3.5 para auxiliar a construção das camadas de negócio, dados, infra e view.

Na camada de dados foram feitos acessos a procedures diretamente, para obter todas

informações necessários para apresentar na camada de visualização. A Figura 8 abaixo

mostrar a classe acessa os dados chamando uma procedure.

Figura 8 - Execução de uma procedure de relatório

Page 37: SISTEMA DE GERENCIAMENTO DE SGBD SQL SERVERcampeche.inf.furb.br/tccs/2012-I/TCC2012-1-13-VF-MarlonRSchramm.pdf · tem que garantir o funcionamento correto, através de manutenções

36

Nesta classe chamada de “BaseDados”, foram criados os métodos que obtém

informações das instâncias cadastradas como pode ser visto na Figura 9, existindo vários

métodos criados para chamar as procedure, neste caso foi realizado a chamada de uma

procedure que possui o nome de “SP_REL_STATUSDATABASE” que retorna cinco colunas

contendo as informações de todos as bases de dados da instância que foi solicitado emitir o

relatório.

Figura 9 - Métodos da classe “BaseDados” para executar procedures

Page 38: SISTEMA DE GERENCIAMENTO DE SGBD SQL SERVERcampeche.inf.furb.br/tccs/2012-I/TCC2012-1-13-VF-MarlonRSchramm.pdf · tem que garantir o funcionamento correto, através de manutenções

37

As store procedures que o sistema utiliza e realiza a seleção de informações, com a

camada de dados que devolve para a camada de negócio por fim é tratado e exibido no PDF

ou através de gráfico, na Figura 10 pode-se visualizar a store procedure que retorna as

informações do status atual das bases de dados. Esta informação é atualizada a cada 5 minutos

por um Job que é criado automaticamente pelo sistema de monitoramento ao cadastrar a

instância.

Figura 10 - Procedure do relatório de Status dos DataBases

Page 39: SISTEMA DE GERENCIAMENTO DE SGBD SQL SERVERcampeche.inf.furb.br/tccs/2012-I/TCC2012-1-13-VF-MarlonRSchramm.pdf · tem que garantir o funcionamento correto, através de manutenções

38

Para que seja possível realizar o retorno destas informações das bases de dados e

tabelas, o sistema utiliza Jobs para armazenar as informações necessárias, na Figura 11 pode-

se visualizar os dois Jobs existentes.

Figura 11 - Jobs para realizar monitoramento

Page 40: SISTEMA DE GERENCIAMENTO DE SGBD SQL SERVERcampeche.inf.furb.br/tccs/2012-I/TCC2012-1-13-VF-MarlonRSchramm.pdf · tem que garantir o funcionamento correto, através de manutenções

39

Para criar os relatórios no formato PDF, foi utilizado uma API chamada de iTextSharp,

que é utilizada na camada de negócio. Segue na Figura 12, o código que gerar o relatório de

status das bases de dados da instância selecionado pelo usuário que esta gerando o relatório.

Figura 12 - Método responsável por gerar relatório de Status da Base de Dados

Page 41: SISTEMA DE GERENCIAMENTO DE SGBD SQL SERVERcampeche.inf.furb.br/tccs/2012-I/TCC2012-1-13-VF-MarlonRSchramm.pdf · tem que garantir o funcionamento correto, através de manutenções

40

Para realizar a criação de todos os relatórios foi centralizado na camada de negócio a

chamada do método que cria os relatórios. Na Figura 13 pode-se ver a classe que chama o

método que gerar os relatórios PDF e grava na biblioteca do SharePoint este arquivo,

retornando para camada de view a url do arquivo publicado.

Figura 13 - Classe responsável por gerar relatório PDF

Para que seja possível gerar este relatório de status, teve que ser criado um Job no SQL

Server dinamicamente, que é gerado no momento que é cadastrado a instância para

monitoramento, na Figura 14 pode-se ver a construção deste Job, que fica em um arquivo

“02_CriaJob.sql”.

Figura 14 - Criação do Job de Monitoramento

Page 42: SISTEMA DE GERENCIAMENTO DE SGBD SQL SERVERcampeche.inf.furb.br/tccs/2012-I/TCC2012-1-13-VF-MarlonRSchramm.pdf · tem que garantir o funcionamento correto, através de manutenções

41

Este arquivo “02_CriaJob.sql” por sua vez fica salvo em uma biblioteca do SharePoint

Foundation, junto com outros diversos Scripts que são executados na hora de cadastrar a

instância para o monitoramento, como pode ser visto na Figura 15, existe diversos script para

serem executados.

Figura 15 - Scripts que ficam na biblioteca do SharePoint

Page 43: SISTEMA DE GERENCIAMENTO DE SGBD SQL SERVERcampeche.inf.furb.br/tccs/2012-I/TCC2012-1-13-VF-MarlonRSchramm.pdf · tem que garantir o funcionamento correto, através de manutenções

42

Para realizar a extração destas informações do script que esta dentro de uma biblioteca

do SharePoint e efetuar a execução na instância do SQL Server, foi criado alguns métodos, o

mais importante segue na Figura 16.

Figura 16 - Método que extrai as informações do Script

Este método de extrair as informações dos scripts que estão na biblioteca, é utilizado em

um laço de repetição que contém os objetos script para serem executados na ordem

correspondente como pode ser visto na Figura 17. Por conta disto existe uma coluna chamada

ordem.

Figura 17 - Laço de repetição para executar Script no SQL Server

Page 44: SISTEMA DE GERENCIAMENTO DE SGBD SQL SERVERcampeche.inf.furb.br/tccs/2012-I/TCC2012-1-13-VF-MarlonRSchramm.pdf · tem que garantir o funcionamento correto, através de manutenções

43

3.3.2 Operacionalidade da implementação

Para realizar o monitoramento de uma instância SQL Server, é necessários acessar o

menu esquerdo chamado “Cadastro Servidor”, nesta tela terá que ser informado o endereço

completo da instância do SQL Server, informando o nome do servidor e da instância, para que

seja automaticamente conectado, ao realizar o cadastro e clicar no botão “Salvar” inicia o

processo de criar uma base de dados, suas tabelas, procedures e Jobs que o sistema irá utilizar

para realizar o gerenciamento da instância. A Figura 18 mostra a tela de cadastro de Servidor

SQL Server.

Figura 18 - Cadastro de Servidor SQL Server

Page 45: SISTEMA DE GERENCIAMENTO DE SGBD SQL SERVERcampeche.inf.furb.br/tccs/2012-I/TCC2012-1-13-VF-MarlonRSchramm.pdf · tem que garantir o funcionamento correto, através de manutenções

44

Para que o sistema consiga criar uma base de dados no SQL Server, e consiga gerar

todas as informações para gerenciamento, é necessário criar vários scripts “.sql” utilizando a

linguagem T-sql, a partir disto o sistema consegue criar a base de dados, as tabelas, os jobs e

todos os objetos necessários, para isto fui utilizado uma técnica de criar arquivos separadas

para a criação de cada objeto, incluido eles todos em uma biblioteca do SharePoint, assim o

sistema acessar esta biblioteca, obtem em ordem de execução os arquivos, extrai as

informações deles e executa na instância que será monitorada. A Figura 19 mostra a biblioteca

que contém todos os scripts utilizados pelo sistema.

Figura 19 - Script utilizados pelo sistema

Este sistema não utiliza nenhuma configuração em arquivos separados, como por

exemplo WebConfig, que normalmente é utilizado em aplicações que usam o IIS para publicar

os sites em ASPX. Para isto é utilizado uma lista do SharePoint que irá guardar todas as

informações de parametrizações, tais como nome do usuário e senha que será utilizado para

acessar a instância do SQL Server, tal usuário e senha são únicos para todas as instância que

forem incluidas para realizar o monitoramento.

Page 46: SISTEMA DE GERENCIAMENTO DE SGBD SQL SERVERcampeche.inf.furb.br/tccs/2012-I/TCC2012-1-13-VF-MarlonRSchramm.pdf · tem que garantir o funcionamento correto, através de manutenções

45

Esta lista de parâmetros não é visivel para usuários que não tiverem permissão de

leitura diretamente nela, isto é feito através da funcionalidade do SharePoint de retirar todas

as permissões na lista que herda do Site, e incluir somente permissão para o usuário que

desejar, que neste caso será o DBA, mas através de programação, consegue-se acessar esta

lista elevando permissão. A Figura 20 mostra a lista de parâmetros utilizada pelo sistema.

Figura 20 - Lista de parâmetros

Page 47: SISTEMA DE GERENCIAMENTO DE SGBD SQL SERVERcampeche.inf.furb.br/tccs/2012-I/TCC2012-1-13-VF-MarlonRSchramm.pdf · tem que garantir o funcionamento correto, através de manutenções

46

No sistema existe uma lista que contém quais todos os relatórios que o sistema esta

disponibilizando para ser executado e gerado um arquivo PDF, que por fim é gravado na

biblioteca do SharePoint e mostrado ao usuário que esta executando este relatório. Estes itens

na lista de relatório, são totalmente associados ao código fonte do sitema, pois se não existir o

item nesta lista não irá aparecer na tela de realtório e o sistema não irá encontrar informações

sobre ele. A Figura 21 que mostra a lista onde é feito a configuração dos relatórios.

Figura 21 - Lista de relatórios

Page 48: SISTEMA DE GERENCIAMENTO DE SGBD SQL SERVERcampeche.inf.furb.br/tccs/2012-I/TCC2012-1-13-VF-MarlonRSchramm.pdf · tem que garantir o funcionamento correto, através de manutenções

47

Para que o sistema consiga acessar as listas e bibliotecas do SharePoint, foi criado uma

lista de “Endereços”, nela é configurado a url dos itens que o sistema irá utilizado, logo não é

necessários colocar diretamente no código fonte estes endereços, assim ficando um código

mais flexível e dinâmico, para que possa ser realizado implementações mais simples no

futuro. A Figura 22 mostra a lista de endereços de suas páginas que é utilizado no sistema de

monitoramento.

Figura 22 - Lista de endereços Url do Sistema

Page 49: SISTEMA DE GERENCIAMENTO DE SGBD SQL SERVERcampeche.inf.furb.br/tccs/2012-I/TCC2012-1-13-VF-MarlonRSchramm.pdf · tem que garantir o funcionamento correto, através de manutenções

48

Para executar os relatórios, existe o menu superior chamado “Relatório” que irá

mostrar uma tela com dois campos. No primeiro terá que ser selecionado o servidor que

deseja extrair as informações, e no segundo campo é selecionado qual o tipo de relatório que

deseja gerar, ao selecionar os dois itens, basta clicar no botão “Gerar”, com isto o sistema

executa uma procedure na instância do SQL Server selecionado, e extrair todas as

informações necessárias para gerar um PDF. A Figura 23 mostra a tela para gerar relatório.

Figura 23 - Gerar relatório

A principal tela de visualização das informações importantes da instância do SQL

Server, fica no link chamado de “Visualiza Geral”, nesta tela será mostrado 4 gráficos tipo

pizza, que irá informar, as maiores bases em questão de tamanho, juntando Master Database

Files (MDF) e Log Database Files (LDF).

No segundo gráfico será informado as bases que mais consomem memória ambos os

gráficos tem uma associação grande, pois normalmente a maior base de dados esta

consumindo uma grande quantidade de memória, e isto pode ser analisado o motivo de

crescimento.

Os dois últimos gráficos contém as informações sobre a quantidade de Central

Processing Unit (CPU) que esta sendo utilizado pela base de dados e o outro o Input/output

(IO) da base de dados, ou seja qual base de dados que esta fazendo mais escrita e leitura no

Hard Disk. Nestes gráficos também possuem uma lógica entre as informações, as bases de

dados que mais consomem CPU estão realizando também muita escrita e leitura.

Page 50: SISTEMA DE GERENCIAMENTO DE SGBD SQL SERVERcampeche.inf.furb.br/tccs/2012-I/TCC2012-1-13-VF-MarlonRSchramm.pdf · tem que garantir o funcionamento correto, através de manutenções

49

Com estas informações pode-se realizar uma análise da instância e verificar os motivos

de tais dados, e podendo realizar um trabalho próativo para melhorar o desempenho da

instância e prevenir possíveis problemas, tais como espaço em disco e falta de memória.

Na Figura 24 mostra a tela que possui os gráficos para monitoramento.

Figura 24 - Tela de visualização Geral por Instância

Page 51: SISTEMA DE GERENCIAMENTO DE SGBD SQL SERVERcampeche.inf.furb.br/tccs/2012-I/TCC2012-1-13-VF-MarlonRSchramm.pdf · tem que garantir o funcionamento correto, através de manutenções

50

Para excluir uma instância do gerenciamento, basta acessar o menu na esquerda

chamado de “Excluir Servidor”, após isto irá aparecer uma tela que mostrar em um campo

todas as instâncias que estão sendo monitoradas, basta selecionar qual item deseja e clicar no

botão executar.

Ao executar o passo de exclusão o sistema estará acessando a instância, excluindo os

Jobs que o sistema criou no cadastramento do monitoramento, e por fim exclui a base de

dados criada pelo sistema, assim retirando qualquer objeto do SQL Server que foi utilizado

pelo sistema de monitoramento, depois de realizar todas as tarefas na instância de SQL o

sistema exclui o item da lista do SharePoint, que contém informação dos servidor que estão

sendo monitoradas.

A Figura 25 mostra a tela de excluir monitoramento SQL Server.

Figura 25 - Excluir Monitoramento

Page 52: SISTEMA DE GERENCIAMENTO DE SGBD SQL SERVERcampeche.inf.furb.br/tccs/2012-I/TCC2012-1-13-VF-MarlonRSchramm.pdf · tem que garantir o funcionamento correto, através de manutenções

51

Todos relatórios que são gerados no sistema de monitoramento automaticamente são

inseridos em uma biblioteca do SharePoint, esta por sua vez guarda e disponibiliza para

acessar em qualquer momento, assim pode-se ter um histórico de todos os relatórios que

foram executados e quais eram as informações que continham naquele momento, para isto foi

criado a biblioteca de relatórios. A Figura 26 mostra a biblioteca guardando vários relatórios

que foram executados, todos eles são compostos por nome do relatório junto com um numéro

indentificador único para que não se repita o nome dos arquivos PDFs.

Figura 26 - Biblioteca de relatórios

Page 53: SISTEMA DE GERENCIAMENTO DE SGBD SQL SERVERcampeche.inf.furb.br/tccs/2012-I/TCC2012-1-13-VF-MarlonRSchramm.pdf · tem que garantir o funcionamento correto, através de manutenções

52

Existe também no SharePoint uma lista de Servidor, esta lista guarda as informações

dos servidores que foram cadastrados para realizar o monitoramento do SQL Server. A Figura

27 mostra a lista que guarda estas informações no sistema de monitoramento.

Figura 27 - Lista de instância monitoradas

3.4 RESULTADOS E DISCUSSÃO

O desenvolvimento da comunicação entre o SharePoint e o SQL Server retornando as

informações necessárias para obter o resumo das informações mais importantes para um DBA

analisar foram alcançadas neste projeto.

A meta do projeto foi gerar os gráficos e as informações de fácil visualização para o

administrador das bases de dados, assim podendo tomar ação a partir destas informações

consolidadas no portal do cliente.

Em relação aos trabalhos correlatos, o trabalho de Luchtenberg (2002) descreve uma

aplicação web voltada para gerenciamento de SGBD Oracle. Neste trabalho utiliza-se a

plataforma SharePoint para a publicação das telas, scripts, relatórios e parametrizações.

O trabalho de Almeida (2007) também é uma aplicação web destinada a monitorar

SGBD SQL Server até a versão 2005 e não utiliza plataforma de colaboração como suporte.

A Microsoft disponibiliza uma solução denominada Microsoft System Center

Page 54: SISTEMA DE GERENCIAMENTO DE SGBD SQL SERVERcampeche.inf.furb.br/tccs/2012-I/TCC2012-1-13-VF-MarlonRSchramm.pdf · tem que garantir o funcionamento correto, através de manutenções

53

Operations Manager (SCOM) a qual possui um módulo para realizar monitoramento das

instancias de SQL Server. Contudo, esta é solução comercial com um custo que inviabiliza

sua utilização em pequenas organizações. Da mesma forma, a solução da Microsoft não

utiliza a plataforma de colaboração que possui o nome de SharePoint para publicar e

centralizar as informações de monitoramento conforme foi apresentado neste trabalho.

Page 55: SISTEMA DE GERENCIAMENTO DE SGBD SQL SERVERcampeche.inf.furb.br/tccs/2012-I/TCC2012-1-13-VF-MarlonRSchramm.pdf · tem que garantir o funcionamento correto, através de manutenções

54

4 CONCLUSÕES

Neste trabalho apresentou-se o desenvolvimento de um sistema para realizar

monitoramento de SGBD SQL Server, que fosse de fácil utilização e integrasse com o produto

SharePoint Foundation que é utilizado nas empresas para a construção de portais. O objetivo

final era garantir uma maior segurança no monitoramento das instâncias SQL Server,

prevenindo possíveis problemas e disponibilizando informações úteis para que o usuário

administrador do banco de dados possa trabalhar pró ativo, focando em melhorar a qualidade

do serviço prestado pelo SQL Server.

Para que fosse possível criar este sistema de monitoramento, foi necessário criar várias

camadas na arquitetura da aplicação, cada camada tem uma função específica, sendo a

camada de View para mostrar as informações ao usuário, a camada de negócio que contém os

métodos para tratar as regras de negócio, a camada de infra que possui os métodos que

encapsulam funções úteis do SharePoint e por fim a cada de dados que faz todo o

encapsulamento dos métodos que acessam diretamente o banco de dados.

Foi utilizado somente um framework, o 3.5 .NET da Microsoft, utilizando também

referência a API do SharePoint. Em todos os níveis de camadas foram utilizado tanto o

framework .NET quanto a API do SharePoint, pois entre elas trafega o objeto que representa

o site que esta sendo acesso pelo usuário.

Este trabalho demonstrou que é possível realizar monitoramento de todas as instâncias

de SQL Server de uma empresa e centralizar estas informações no portal, através de uma

plataforma de colaboração que é o SharePoint Foundation 2010, totalmente gratuita, com

administração facilitada através de gráficos e relatórios. Com o desenvolvimento deste

trabalho foi possível concluir algumas vantagens:

a) centralizar informações das instâncias em tempo real;

b) monitorar possíveis problemas de performance;

c) monitorar falta de espaço em disco;

d) monitorar excesso de IO na base de dados.

Conclui-se com a realização deste trabalho o aumento dos conhecimentos sobre as

aplicações desenvolvidas para o ambiente web, o que compõem o seu desenvolvimento e as

integrações que são possíveis de realizar com a plataforma de colaboração SharePoint

Foundation 2010. A integração direta com o SQL Server sendo que foi deixado flexível o

Page 56: SISTEMA DE GERENCIAMENTO DE SGBD SQL SERVERcampeche.inf.furb.br/tccs/2012-I/TCC2012-1-13-VF-MarlonRSchramm.pdf · tem que garantir o funcionamento correto, através de manutenções

55

sistema para adaptar para outros SGBDs, também foram responsáveis por grande aumento de

conhecimento nesta área.

4.1 EXTENSÕES

Para dar continuidade ao sistema, pode-se desenvolver a comunicação entre o sistema

de gerenciamento que fica na empresa que realizada a prestação de serviço para seus clientes

com o próprio sistema instalado nos seus clientes. Assim pode-se criar uma central de

gerenciamento de seus clientes, facilitando a manutenção dos SGBDs.

Outra extensão que pode ser desenvolvida, é a adaptação do sistema para comportar

diferentes SGBDs, além do SQL Server, pode-se monitorar Oracle, MySQL e outros, com isto

tornará o sistema mais flexível e conseguirá atingir maior número de clientes monitorados.

Um item que não foi desenvolvido por não fazer parte do escopo foi à possibilidade de

monitorar os mirrorings, fazendo com que o sistema de monitoramento detecte quais são as

bases de dados que estão sendo monitoradas, o tempo de delay para realizar a replicação, e o

status atual da quantidade de itens que foi replicado podendo também agregar isto aos

gráficos e relatórios do sistema.

Page 57: SISTEMA DE GERENCIAMENTO DE SGBD SQL SERVERcampeche.inf.furb.br/tccs/2012-I/TCC2012-1-13-VF-MarlonRSchramm.pdf · tem que garantir o funcionamento correto, através de manutenções

56

REFERÊNCIAS BIBLIOGRÁFICAS

ALMEIDA, Henrique Gurgacz de. Einstein: sistema de monitoramento de SGBD. Curitiba:

s/e, 2007. 85p. Disponível em: <http://obusca.com/Sistema-de-Monitoramento-de-SGBD--

DOC.html>. Acesso em: 20 set. 2011.

BEN-GAN, Itzik. Microsoft SQL Server 2008: fundamentos em T-SQL. Porto Alegre:

Bookman, 2010. 412p. (Coleção Microsoft/Bookman)

DATE, C.J. Introdução a sistemas de banco de dados. 7. ed. Rio de Janeiro: Campus, 2000.

DAVENPORT, Thomas; PRUSAK, Laurence. Conhecimento empresarial. Rio de Janeiro:

Campus, 1998.

ELMASRI, Ramez; NAVATHE, Shamkant B. Sistemas de banco de dados. 4. ed. São

Paulo: Pearson Education do Brasil; Addison Wesley, 2005. 724p.

ENGLISH BILL, Brian A.; MARK, F. Microsoft SharePoint 2010 Administrator’s

companion. Redmond, Wash, 2011.

GARCIA-MOLINA, Hector; ULLMAN, Jeffrey D; WIDOM, Jennifer. Implementação de

sistemas de bancos de dados. Rio de Janeiro: Campus, 2001. 685p.

HOTEK, Mike. Microsoft SQL Server 2008: passo a passo. Porto Alegre: Bookman, 2010.

533p. 1 CD-ROM. (Coleção Microsoft/Bookman)

LIMA, Iremar Nunes. O ambiente web banco de dados: funcionalidades e arquiteturas de

integração. Rio de Janeiro: Departamento de Informática/PUC-Rio, 1997.

LUCHTENBERG, Rodrigo. Ferramenta web de monitoração, administração e extração

de informações de um SGBD Oracle. Blumenau, 2002. 56 f. Trabalho de Conclusão de

Curso (Graduação em Ciências da Computação) - Universidade Regional de Blumenau.

Disponível em: <http://www.bc.furb.br/docs/MO/2002/257304_1_1.pdf>. Acesso em: 10 nov.

2011.

MACHADO, Felipe Nery Rodrigues; ABREU, Mauricio Pereira de. Projeto de banco de

dados: uma visão prática. 4. ed. São Paulo: Erica, 1998. 298p.

MAGALHÃES, Ivan Luizio; PINHEIRO, Walfrido Brito. Gerenciamento de serviços de TI

na prática: uma abordagem com base na ITIL, inclui ISO/IEC 20.000 e IT Flex. São Paulo:

Novatec, 2007. 667p. (Gerenciamento de TI)

MISTRY, Ross; MISNER, Stacia. Introducing Microsoft SQL Server 2008R2. Redmond,

Washington: Microsoft Press, 2010.

OPPEL, Andy. SQL: um guia para iniciantes. 3. ed. Rio de Janeiro: Ciência Moderna, 2009.

577p.

RISCH, T. Monitoring database objects. Hewlett-Packard Laboratories, Amsterdam, 1989.

Page 58: SISTEMA DE GERENCIAMENTO DE SGBD SQL SERVERcampeche.inf.furb.br/tccs/2012-I/TCC2012-1-13-VF-MarlonRSchramm.pdf · tem que garantir o funcionamento correto, através de manutenções

57

SILBERSCHATZ, Abranham, KORTH, Henry F; SUDARSHAN, S. Sistema de banco de

dados. 3 ed. São Paulo: Makron Books, 1999.

TAMER, O. M. A new foundation. Database programming & design, s/l, v. 10, n. 3, p. 38-

5, mar. 1997.

Page 59: SISTEMA DE GERENCIAMENTO DE SGBD SQL SERVERcampeche.inf.furb.br/tccs/2012-I/TCC2012-1-13-VF-MarlonRSchramm.pdf · tem que garantir o funcionamento correto, através de manutenções

58

APÊNDICE A - Detalhamento dos casos de uso

O Quadro 11 apresenta o detalhamento do caso de uso “Efetuar Login”.

Quadro 11 - Caso de uso “Efetuar Login”

Page 60: SISTEMA DE GERENCIAMENTO DE SGBD SQL SERVERcampeche.inf.furb.br/tccs/2012-I/TCC2012-1-13-VF-MarlonRSchramm.pdf · tem que garantir o funcionamento correto, através de manutenções

59

Quadro 12 apresenta o detalhamento do caso de uso “Cadastrar instância”.

Quadro 12 - Caso de uso “Cadastrar Instância”

Page 61: SISTEMA DE GERENCIAMENTO DE SGBD SQL SERVERcampeche.inf.furb.br/tccs/2012-I/TCC2012-1-13-VF-MarlonRSchramm.pdf · tem que garantir o funcionamento correto, através de manutenções

60

Quadro 13 - apresenta o detalhamento do caso de uso “Excluir monitoramento”.

Quadro 13 - Caso de uso “Excluir monitoramento”

Page 62: SISTEMA DE GERENCIAMENTO DE SGBD SQL SERVERcampeche.inf.furb.br/tccs/2012-I/TCC2012-1-13-VF-MarlonRSchramm.pdf · tem que garantir o funcionamento correto, através de manutenções

61

Quadro 14 apresenta o detalhamento do caso de uso “Manter acesso ao sistema”.

Quadro 14 - Caso de uso “Manter acesso ao sistema”

Quadro 15 apresenta o detalhamento do caso de uso “Emitir relatório de histórico de

espaço em disco”.

Quadro 15 - Caso de uso “Emitir relatório de histórico de espaço em disco”

Page 63: SISTEMA DE GERENCIAMENTO DE SGBD SQL SERVERcampeche.inf.furb.br/tccs/2012-I/TCC2012-1-13-VF-MarlonRSchramm.pdf · tem que garantir o funcionamento correto, através de manutenções

62

Quadro 16 apresenta o detalhamento do caso de uso “Emitir relatório da quantidade de

objetos por instância”.

Quadro 16 - Caso de uso “Emitir relatório da quantidade de objetos por instância”

Page 64: SISTEMA DE GERENCIAMENTO DE SGBD SQL SERVERcampeche.inf.furb.br/tccs/2012-I/TCC2012-1-13-VF-MarlonRSchramm.pdf · tem que garantir o funcionamento correto, através de manutenções

63

Quadro 17 apresenta o detalhamento do caso de uso “Emitir relatório de percentual de

crescimento das bases”.

Quadro 17 - Caso de uso “Emitir relatório de percentual de crescimento das bases”

Page 65: SISTEMA DE GERENCIAMENTO DE SGBD SQL SERVERcampeche.inf.furb.br/tccs/2012-I/TCC2012-1-13-VF-MarlonRSchramm.pdf · tem que garantir o funcionamento correto, através de manutenções

64

Quadro 18 apresenta o detalhamento do caso de uso “Emitir relatório de memória

utilizado por Database”.

Quadro 18 - Caso de uso “Emitir relatório da quantidade de memória utilizado por Database”

Page 66: SISTEMA DE GERENCIAMENTO DE SGBD SQL SERVERcampeche.inf.furb.br/tccs/2012-I/TCC2012-1-13-VF-MarlonRSchramm.pdf · tem que garantir o funcionamento correto, através de manutenções

65

Quadro 19 apresenta o detalhamento do caso de uso “Emitir relatório da quantidade de

I/O por Database”.

Quadro 19 - Caso de uso “Emitir relatório da quantidade de I/O por Database”

Page 67: SISTEMA DE GERENCIAMENTO DE SGBD SQL SERVERcampeche.inf.furb.br/tccs/2012-I/TCC2012-1-13-VF-MarlonRSchramm.pdf · tem que garantir o funcionamento correto, através de manutenções

66

Quadro 20 apresenta o detalhamento do caso de uso “Emitir relatório indicando o

status do banco de dados”.

Quadro 20 - Caso de uso “Emitir relatório indicando o status do banco de dados”