Acesso Clientes

Número Azul Das 8 às 22 horas 808 78 1000

Guias de utilização

Aproveite os serviços da arsys.pt ao máximo

Ajuda

Pesquisa de temas de ajuda



Bases de dados

SQL Server

A forma recomendada para publicar bases de dados na Internet é utilizar um servidor de bases de dados, já que é um sistema muito mais robusto e escalável que ficheiros individuais como as bases de dados de Access, ficheiros de texto, etc.

  • SQL Server é o servidor de bases de dados de Microsoft, seguro, robusto e com as característicasmais avançadas : transacções, procedimentos armazenados, triggers, etc.
  • Administração simples, através dos seguintes programas de acesso remoto:
    • MS SQL Server Management Studio Express (gratuito).
    • MS Access (só para bases de dados até a versão SQL Server 2000).
    • A consola de administração do SQL Server (caso de ter o SQL Server instalado no computador de trabalho).

Dispõe de bases de dados SQL Server, em ambientes Windows, com os nossos produtos:

  • Plano Empresarial e a subscrição adicional de um Alojamento de Base de Datos SQL Server.
  • Plano Master e produtos de alojamento superiores.
  • De forma independente, com um Alojamento de Base de Datos SQL Server, para o acesso desde um hosting externo.
  • Se as suas necessidades de espaço ou rendimento de SQL Server são muito elevadas, é possível também contratar um Servidor Dedicado SQL Server.

Poderá administrar as suas bases de dados MS SQL Server e o espaço em disco correspondente através de um painel de controlo, podendo verificar o espaço utilizado, aumentar o espaço em disco, configurar e eliminar as bases de dados.

Estes acessos devem limitar-se as tarefas próprias de manutenção e/ou sincronização dos dados. Não é permitida a utilização de programas executáveis que acedam ao servidor de dados como parte do seu funcionamento habitual. Entende-se que o servidor de dados deve ser utilizado principalmente pelas aplicações web do domínio (scripts CGI, ASP...).

SQL Server vs Access

Um servidor de bases de dados num programa que guarda dados estruturados na forma de tabelas relacionais, atende uma porta TCP/IP através da qual aceita ligações de clientes autenticados, admite comandos na linguagem SQL e retorna ao cliente através da rede os dados resultantes do processamento dos comandos SQL.

Este documento tenciona esclarecer as diferenças entre um servidor de bases de dados e um sistema de bases de dados mais simples como Access, FoxPro, dBase, etc.

O servidor de bases de dados que utilizamos na arsys.pt é o Microsoft SQL Server. Entre as vantagens estão:

  • Perfeita integração com o sistema operativo Windows Server 2003, que é o instalado em todos os nossos servidores, e com outras ferramentas populares da Microsoft como são Access e Excel.
  • A partir do Access é possível criar e gerir bases de dados de SQL server tão facilmente como se faz com os originais de Access.

O que é o Access e o motor Microsoft Jet?

Muitas vezes se fala de bases de dados Access para se referir aos ficheiros *.mdb. Estritamente falando, isto não é o correcto. Access não é quem cria e gere directamente os ficheiros mdb, mas sim o motor Microsoft Jet.

  • O motor Jet está formado por uma série de ficheiros .dll de distribuição gratuita que se instalam na directoria do sistema de Windows.

    De facto, utilizando o painel de controlo | Fontes de dados ODBC é possível criar no Windows um ficheiro mdb mesmo sem ter o Access. Também é possível preencher tal ficheiro de tabelas e dados sem utilizar o Access. Para isso basta utilizar ODBC ou ADO em programas feitos em VisualBasic ou inclusive a partir de scripts em Perl.

  • Desde este ponto de vista, o Access é simplesmente um "visor" e administrador de ficheiros mdb.

    Realmente, é o mais completo, mas um programador poderia preparar o seu próprio "access a medida" utilizando VisualBasic. Toda a lógica do processo destes ficheiros, interpretação de sentenças SQL, criação de tabelas, etc., está nas DLL que formam o motor Jet.

Portanto na hora de estabelecer comparações entre SQL Server e os ficheiros mdb, a comparação será feita entre SQL server e o motor Jet da Microsoft.

Quais são as semelhanças e diferenças entre Jet e SQL Server?

As semelhanças são:

  • Ambos são sistemas de armazenamento de dados na forma de tabelas relacionais.
  • Ambos admitem comandos na linguagem SQL, ainda que o de SQL Server esteja muito mais desenvolvido, já que realmente é a interface do servidor com o cliente.

Com relação às diferenças, estas são as mais complexas:

SQL Server é um executável autónomo e Jet são ficheiros DLL.

Esta diferença é muito importante para a publicação de bases de dados na Internet e no fundo é um ponto-chave para preferir SQL Server sobre Jet nestes casos.

  • Os ficheiros DLL contêm bibliotecas: funções que serão solicitadas a partir de outros executáveis e se executam no seu espaço de memória. Isto significa que a sobrecarga de utilização dos dados recai em último extremo no executável que solicita as DLL. Assim, se utilizarmos bases de dados mdb na web, a sobrecarga em consumo de memória e ciclos de CPU recai sobre o servidor web que é quem solicita o motor Jet.
  • No entanto SQL Server é uma aplicação completa que realiza toda a administração relacionada com os dados. O servidor web só tem que lhe enviar uma cadeia de caracteres (a sentença SQL) e esperar a que lhe sejam retornados os dados. O servidor SQL encarrega-se de tudo. Esta divisão de papéis é muito mais conveniente para a publicação web.

Imaginemos que utilizamos ficheiros mdb e existe um problema com os dados. Como Jet está a ser executado no espaço de memória do servidor web, é possível que este se veja afectado e as páginas web do domínio deixem de ser totalmente visíveis, o que seria catastrófico. Isto nunca ocorrerá com SQL Server.

SQL Server atende uma porta TCP/IP e Jet não.

  • SQL Server pode receber ligações (clientes que desejam manipular dados) a partir de qualquer computador ligado a Internet.

    Neste aspecto é igual a um servidor web ou a um servidor de correio. A diferença é o número da porta e, naturalmente, o protocolo com o qual se comunicará com o cliente. Um navegador é um cliente para um servidor web, mas não conhece o protocolo para falar com um servidor de bases de dados. Access 2000 é um cliente para SQL Server.

  • Pelo contrário Jet não atende nenhuma porta.

    Ainda que seja possível criar aplicações que trabalham na rede com ficheiros .mdb (com VisualBasic ou Access) a utilização da rede refere-se unicamente a que o ficheiro mdb exista num computador diferente ao da aplicação. No entanto todo o processamento é realizado num único equipamento. A rede actua aqui apenas como se fosse outro disco rígido.

SQL Server admite a programação cliente-servidor e Jet não.

A programação cliente-servidor emprega-se quando queremos realizar aplicações que utilizem redes e que comuniquem vários computadores entre si. Basicamente consiste em que o programa se divide em duas partes:

  • A parte Cliente que está no equipamento onde o utilizador está e se encarrega da interacção com este.
  • A parte Servidor que se aloja num computador ligado à rede permanentemente e é o encarregado de manipular os dados.

Ambas as partes da aplicação se comunicam entre si utilizando algum protocolo de rede TCP/IP. A justificação deste paradigma é a minimização do tráfego de rede, principalmente para evitar lentidão e poupar largura de banda.

SQL Server admite procedimentos armazenados (stored procedures) realizados na linguagem SQL.

  • Trata-se de procedimentos que se armazenam semi-compilados no servidor e que podem ser solicitados a partir do cliente.
  • Os procedimentos armazenados poderiam ser a "parte servidor" de uma aplicação cliente-servidor.
  • A parte cliente poderia ser uma aplicação ASP ou inclusive uma aplicação em VisualBasic ou Access 2000, que pode aceder directamente a SQL Server.

Poder na manipulação de dados e ligações simultâneas.

  • O motor Jet é um sistema de bases de dados pessoal, idealizado para ser utilizado a partir de um único computador ou de uma pequena rede local.

    Para Jet o acesso simultâneo aos dados é uma excepção mais que algo habitual. Dispõem de um sistema de bloqueio (os ficheiros ldb), mas não está idealizado para que muitos clientes tentem aceder simultaneamente os dados.

  • Pelo contrário, SQL Server pode perfeitamente utilizar bases de dados de TeraBytes com milhões de registos e funcionar sem problemas com milhares de ligações simultâneas aos dados.

    É um servidor e está idealizado para administrar tantos clientes simultâneos como a potência do hardware do equipamento no qual estiver instalado admita.

Quais as vantagens que o SQL Server oferece para publicar dados na Internet?

Estabilidade para o servidor web.

  • Quando utilizamos bases de dados mdb e recebemos muitas visitas ou a base de dados cresce muito, existem riscos de instabilidade para o servidor web que podem produzir erros. Isto deve-se ao facto de que o motor Jet sobrecarrega o servidor Web.
  • Pelo contrário, SQL Server está num computador diferente ao do servidor web e está preparado para admitir qualquer número de visitas e tamanho de bases de dados. Utilizando SQL Server, liberamos o servidor web das tarefas relacionadas com os dados, o que melhorará sensivelmente o seu rendimento e estabilidade.

Acesso directo aos dados.

  • Quando utilizamos bases de dados mdb, cada vez que quisermos actualizar a base de dados é necessário enviá-la na sua totalidade por FTP. Isto, além de ser pouco eficaz, pode causar problemas se a base estiver bloqueada (se nesse momento está a receber visitas). O que não poderemos fazer nunca com os ficheiros mdb é modificar directamente, a partir do nosso computador, o ficheiro que está no servidor.
  • Com o SQL Server é possível obter um DSN no nosso equipamento local que aponte a uma base de dados do servidor. Depois podemos utilizar Access ou aplicações próprias no VisualBasic para aceder directamente as tabelas do servidor.

Por exemplo, poderíamos fazer uma consulta de actualização que sincronizasse as tabelas locais com as do servidor, anexando dados onde seja procedente. A característica Cliente-Servidor comentada anteriormente manifesta-se aqui desta forma: É possível aceder a base de dados do servidor utilizando um cliente num computador ligado a Internet.

Como se utiliza uma base de dados em SQL Server?

A partir das versões 7.0 de SQL Server e 2000 de Office, gerir uma base de dados em SQL Server é tão simples como uma do Access. Tudo o que se aprendeu com Access é valido para as bases de SQL Server: Consultas, informes, formulários, etc.

O MS Access a partir da versão 2000 incorpora uma característica chamada projectos (ficheiros .adp).

  • Os projectos de Access são como as bases mdb com a diferença de que os dados são guardados num servidor SQL Server.
  • Os projectos .adp são portanto aplicações cliente-servidor realizadas com Access.
  • Também é possível vincular tabelas de SQL Server sobre aplicações normais de Access (.mdb). Isto tem um resultado parecido, pois a aplicação estaria trabalhando através da vinculação com tabelas que se encontram no servidor. É lógico que para funcionar, tais aplicações necessitam que o computador esteja ligado a Internet.

Outra possibilidade para gerir a sua base de SQL Server é instalar você mesmo SQL Server no seu computador ou na rede local.

  • A mesma aplicação que utiliza para gerir o seu SQL Server local (Administrador corporativo - Enterprise manager) serve para gerir a sua base de dados no nosso servidor.
  • Com o administrador corporativo poderá criar tabelas e procedimentos guardados na base de dados do servidor.
  • Para utilizar o seu administrador corporativo com a base de dados do nosso servidor tem que registar em primeiro lugar o servidor. Para isso ser-lhe-á solicitado o nome (utilize aquele que aparece na secção SQL Server do Painel de Controlo), o login e password da base de dados correspondente.

Como copio os dados de um ficheiro .mdb ao servidor SQL Server?

Access 2000 incorpora um Assistente para converter para SQL Server. Se encontra na opção Ferramentas / Utilitários da base de dados.

O assistente lhe solicita os seguintes dados:

Utilizar base de dados existente ou criar nova base de dados.

Escolha utilizar uma base de dados existente. Não tem permissões para criar bases de dados no nosso servidor, somente para criar objectos no seu. O assistente apresenta-lhe a janela de "Seleccionar origem de dados". Se já criou um DSN para aceder a SQL Server utilize-o, caso contrário pode criá-lo agora (clicando no botão Novo...).Se tiver de criar a origem de dados (o DSN) utilize os seguintes dados:

  • O driver: Microsoft SQL Server.
  • Nome e descrição: à escolha.
  • No campo "Servidor SQL para a ligação" indique o endereço IP do seu servidor SQL (pode obtê-lo no item SQL do seu painel de controlo).
  • Escolha "autenticação de SQL Server" e escreva o seu login e password de acesso.
  • Clique no botão "Configuração do cliente..." e seleccione TCP/IP.
  • Mantenha o resto das opções por defeito.

É conveniente estar ligado à Internet quando se cria o DSN para poder testar a origem de dados.

Tabelas a exportar.

  • Pode escolher as tabelas da sua base de dados actual .mdb que deseja exportar para SQL Server.
  • Também poderá escolher se deseja copiar somente a estrutura da tabela (os campos e tipos de dados) ou também os registos.

Mudança para Cliente-Servidor.

Pode escolher simplesmente exportar os dados para SQL Server, vincular essas tabelas a uma aplicação existente, ou criar um novo ficheiro de projecto (aplicação Cliente-Servidor armazenada num ficheiro .adp).

Os projectos .adp de Access 2000 não permitem modificar tabelas de SQL se não existir uma chave primária definida sobre as mesmas. Considere isso na hora de modificar dados.

Como acedo ao SQL Server a partir de páginas ASP?

ADO permite aceder a bases de dados da mesma forma, independentemente da sua origem. Se actualmente utiliza ADO para aceder às bases de dados mdb, terá que modificar muito pouco o código para utilizar SQL Server. Realmente a única diferença está na cadeia de ligação.

Se utilizar as bases de dados .mdb, a sua cadeia de ligação será do tipo:

"DSN=meudsn"

Se utilizar SQL Server deve anexar o login e password:

"DSN=meudsn;UID=login;PWD=password"

O resto fica igual.

O DSN para aceder ao SQL Server obtém-se no painel de controlo do seu Plano Master ou Alojamento de Base de Dados SQL Server.

Note que é necessário escrever um login e uma senha num ficheiro de texto (ASP). Aumente as precauções tanto sobre o servidor (por exemplo, tirando permissões de leitura da directoria no qual estão os ASP) como das pessoas que têm acesso ao seu computador habitual de trabalho ou das suas cópias de segurança local.

Voltar à ajuda

* Os preços não incluem IVA.