Microsoft SQL Server
Microsoft SQL Server é um sistema gerenciador de Banco de dados relacional (SGBD) desenvolvido pela Sybase em parceria com a Microsoft.
Imagem: Филатов Алексей · BY-SA · Openverse
A camada de protocolo implementa a interface externa para o SQL Server. Todas as operações que podem ser chamadas no SQL Server são comunicadas a ele por meio de um formato definido pela Microsoft, chamado TDS (Tabular Data Stream). TDS é um protocolo da camada de aplicação, usado para transferir dados entre um servidor de banco de dados e um cliente. Inicialmente projetados e desenvolvidos pela Sybase Inc. para seu mecanismo de banco de dados relacional Sybase SQL Server em 1984 e posteriormente pela Microsoft no Microsoft SQL Server, os pacotes TDS podem ser encapsulados em outros protocolos dependentes de transporte físico, incluindo TCP / IP, pipes nomeados e compartilhados memória. Conseqüentemente, o acesso ao SQL Server está disponível nesses protocolos. Além disso, a API do SQL Server também é exposta em serviços da web.
Armazenamento de dados
O armazenamento de dados é um banco de dados, que é uma coleção de tabelas com colunas digitadas. O SQL Server suporta diferentes tipos de dados, incluindo tipos primitivos como Integer, Float, Decimal, Char (incluindo cadeias de caracteres), Varchar (cadeias de caracteres de comprimento variável), binário (para blobs de dados não estruturados), Text (para dados textuais) entre outros. . O arredondamento de floats para inteiros usa Rounding Aritmético Simétrico ou Round Redondo Simétrico (correção) dependendo dos argumentos: O Microsoft SQL Server também permite que os tipos compostos definidos pelo usuário (UDTs) sejam definidos e usados. Ele também disponibiliza estatísticas do servidor como tabelas e exibições virtuais (chamadas DMVs ou Visualizações de Gerenciamento Dinâmico). Além das tabelas, um banco de dados também pode conter outros objetos, incluindo exibições, procedimentos armazenados, índices e restrições, juntamente com um log de transações. Um banco de dados do SQL Server pode conter no máximo 231 objetos e pode abranger vários arquivos no nível do SO com um tamanho máximo de arquivo de 260 bytes (1 exabyte). Os dados no banco de dados são armazenados em arquivos de dados primários com uma extensão .mdf. Os arquivos de dados secundários, identificados com uma extensão .ndf, são usados para permitir que os dados de um único banco de dados sejam distribuídos em mais de um arquivo e, opcionalmente, em mais de um sistema de arquivos. Os arquivos de log são identificados com a extensão .ldf.
Gerenciamento de buffers
O SQL Server armazena em buffer páginas na RAM para minimizar a E / S do disco. Qualquer página de 8 KB pode ser armazenada em buffer na memória, e o conjunto de todas as páginas atualmente armazenadas em buffer é chamado de cache de buffer. A quantidade de memória disponível para o SQL Server decide quantas páginas serão armazenadas em cache na memória. O cache de buffer é gerenciado pelo Gerenciador de Buffer. Ler ou gravar em qualquer página copia para o cache do buffer. Leituras subseqüentes ou gravações são redirecionadas para a cópia na memória, em vez da versão no disco. A página é atualizada no disco pelo Gerenciador de Buffer apenas se o cache na memória não for referenciado por algum tempo. Ao gravar as páginas no disco, a E / S assíncrona é usada, por meio da qual a operação de E / S é feita em um encadeamento secundário, para que outras operações não precisem aguardar a conclusão da operação de E / S. Cada página é escrita junto com sua soma de verificação quando está escrita. Ao ler a página de volta, sua soma de verificação é computada novamente e combinada com a versão armazenada para garantir que a página não tenha sido danificada ou adulterada nesse meio tempo.
Concorrência e bloqueio
O SQL Server permite que vários clientes usem o mesmo banco de dados simultaneamente. Como tal, ele precisa controlar o acesso simultâneo aos dados compartilhados, para garantir a integridade dos dados - quando vários clientes atualizam os mesmos dados ou os clientes tentam ler dados que estão em processo de serem alterados por outro cliente. O SQL Server fornece dois modos de controle de simultaneidade: simultaneidade pessimista e simultaneidade otimista. Quando o controle de concorrência pessimista está sendo usado, o SQL Server controla o acesso simultâneo usando bloqueios. Os bloqueios podem ser compartilhados ou exclusivos. Bloqueio exclusivo concede ao usuário acesso exclusivo aos dados - nenhum outro usuário pode acessar os dados, desde que o bloqueio seja mantido. Os bloqueios compartilhados são usados quando alguns dados estão sendo lidos - vários usuários podem ler dados bloqueados com um bloqueio compartilhado, mas não adquirir um bloqueio exclusivo. O último teria que esperar que todos os bloqueios compartilhados fossem liberados.
Imagem: Секул Камберов · BY-NC-SA · Openverse
O principal modo de recuperar dados de um banco de dados do SQL Server é consultá-los. A consulta é expressa usando uma variante do SQL chamada T-SQL, um dialeto do Microsoft SQL Server compartilha com o Sybase SQL Server devido ao seu legado. A consulta especifica declarativamente o que deve ser recuperado. Ele é processado pelo processador de consultas, que descobre a sequência de etapas que será necessária para recuperar os dados solicitados. A seqüência de ações necessárias para executar uma consulta é chamada de plano de consulta. Pode haver várias maneiras de processar a mesma consulta. Por exemplo, para uma consulta que contém uma instrução de junção e uma instrução select, executar junção nas duas tabelas e, em seguida, executar a seleção nos resultados forneceria o mesmo resultado da seleção de cada tabela e executaria a junção, mas resultaria em execução diferente planos. Nesse caso, o SQL Server escolhe o plano que deve gerar os resultados no menor tempo possível. Isso é chamado de otimização de consulta e é executado pelo próprio processador de consultas.
T-SQL
T-SQL (Transact-SQL) é o meio secundário de programação e gerenciamento do SQL Server. Ele expõe palavras-chave para as operações que podem ser executadas no SQL Server, incluindo criação e alteração de esquemas de banco de dados, entrada e edição de dados no banco de dados, bem como monitoramento e gerenciamento do próprio servidor. Os aplicativos cliente que consomem dados ou gerenciam o servidor aproveitam a funcionalidade do SQL Server enviando consultas e instruções T-SQL que são processadas pelo servidor e os resultados (ou erros) retornados ao aplicativo cliente. O SQL Server permite que ele seja gerenciado usando o T-SQL. Para isso, expõe as tabelas somente leitura das quais as estatísticas do servidor podem ser lidas. A funcionalidade de gerenciamento é exposta por meio de procedimentos armazenados definidos pelo sistema, que podem ser chamados a partir de consultas T-SQL para executar a operação de gerenciamento. Também é possível criar servidores vinculados usando o T-SQL. Servidores vinculados permitem que uma única consulta processe operações executadas em vários servidores.
Imagem: Филатов Алексей · BY-SA · Openverse
O SQL Server Management Studio é uma ferramenta de GUI incluída no SQL Server 2005 e posterior para configurar, gerenciar e administrar todos os componentes no Microsoft SQL Server. A ferramenta inclui editores de scripts e ferramentas gráficas que trabalham com objetos e recursos do servidor. O SQL Server Management Studio substitui o Enterprise Manager como a principal interface de gerenciamento do Microsoft SQL Server desde o SQL Server 2005. Uma versão do SQL Server Management Studio também está disponível para o SQL Server Express Edition, que é conhecida como SQL Server Management Studio Express (SSMSE ). Um recurso central do SQL Server Management Studio é o Pesquisador de Objetos, que permite ao usuário navegar, selecionar e atuar sobre qualquer um dos objetos dentro do servidor. Ele pode ser usado para observar visualmente e analisar planos de consulta e otimizar o desempenho do banco de dados, entre outros. O SQL Server Management Studio também pode ser usado para criar um novo banco de dados, alterar qualquer esquema de banco de dados existente, adicionando ou modificando tabelas e índices ou analisando o desempenho. Inclui as janelas de consulta que fornecem uma interface baseada em GUI para escrever e executar consultas.
Service Broker
Usado dentro de uma instância, ambiente de programação. Para aplicativos de instância cruzada, o Service Broker se comunica por TCP / IP e permite que os diferentes componentes sejam sincronizados por meio da troca de mensagens. O Service Broker, que é executado como parte do mecanismo do banco de dados, fornece uma plataforma confiável de mensagens e enfileiramento de mensagens para aplicativos do SQL Server
Serviços de Replicação
Os Serviços de Replicação do SQL Server são usados pelo SQL Server para replicar e sincronizar objetos de banco de dados, na íntegra ou em um subconjunto dos objetos presentes, nos agentes de replicação, que podem ser outros servidores de banco de dados na rede ou caches de banco de dados no lado do cliente. O Lulla segue um modelo de editor / assinante, isto é, as alterações são enviadas por um servidor de banco de dados ("editor") e são recebidas por outros ("assinantes"). O SQL Server oferece suporte a três tipos diferentes de replicação:
Analysis Services
O SQL Server Analysis Services adiciona recursos de OLAP e mineração de dados para bancos de dados do SQL Server. O mecanismo OLAP suporta os modos de armazenamento MOLAP, ROLAP e HOLAP para dados. O Analysis Services suporta o padrão XML for Analysis como o protocolo de comunicação subjacente. Os dados do cubo podem ser acessados usando consultas MDX e LINQ. A funcionalidade específica de mineração de dados é exposta por meio da linguagem de consulta DMX. O Analysis Services inclui vários algoritmos - árvores de decisão, algoritmo de agrupamento, algoritmo Naive Bayes, análise de séries temporais, algoritmo de agrupamento de sequências, análise de regressão linear e logística e redes neurais - para uso em mineração de dados.
Reporting Services
O SQL Server Reporting Services é um ambiente de geração de relatórios para dados coletados de bancos de dados do SQL Server. É administrado através de uma interface web. Os serviços de relatórios apresentam uma interface de serviços da Web para suportar o desenvolvimento de aplicativos de relatórios personalizados. Relatórios são criados como arquivos RDL. Os relatórios podem ser criados usando versões recentes do Microsoft Visual Studio (Visual Studio.NET 2003, 2005 e 2008) com o Business Intelligence Development Studio, instalado ou com o Report Builder incluído. Uma vez criados, os arquivos RDL podem ser renderizados em vários formatos, incluindo Excel, PDF, CSV, XML, BMP, EMF, GIF, JPEG, PNG e TIFF e HTML Web Archive.
Serviços de Notificação
Originalmente apresentado como um complemento pós-lançamento para o SQL Server 2000, o Notification Services foi empacotado como parte da plataforma Microsoft SQL Server pela primeira e única vez com o SQL Server 2005. O SQL Server Notification Services é um mecanismo de geração de dados notificações, que são enviadas aos assinantes do Notification Services. Um assinante se registra para um evento ou transação específica (que é registrado no servidor de banco de dados como um acionador); Quando o evento ocorre, o Notification Services pode usar um dos três métodos para enviar uma mensagem ao assinante informando sobre a ocorrência do evento. Esses métodos incluem SMTP, SOAP ou gravando em um arquivo no sistema de arquivos. O Notification Services foi descontinuado pela Microsoft com o lançamento do SQL Server 2008 em agosto de 2008 e não é mais um componente oficialmente suportado da plataforma de banco de dados do SQL Server.
Serviços de Integração
O SSIS (SQL Server Integration Services) fornece recursos de ETL para o SQL Server para importação de dados, integração de dados e necessidades de data warehousing. O Integration Services inclui ferramentas GUI para criar fluxos de trabalho, como extrair dados de várias origens, consultar dados, transformar dados - incluindo agregação, eliminação de duplicação, desnormalização e mesclagem de dados - e exportar os dados transformados em bancos de dados ou arquivos de destino.
Imagem: Michael Kappel · BY-NC · Openverse
O SQL Server 2019 é instalado em um servidor (este servidor pode ter o sistema operacional Windows ou Linux) ou em um container Docker. Essa é uma das diferenças entre o SQL Server 2019 e o Banco de Dados SQL do Azure que é um serviço na nuvem, ou seja não é instalado em um servidor. Os requisitos de memória e processador a seguir aplicam-se a todas as edições do SQL Server: Todas as outras edições: 1 GB Recomendado:Edições Express: 1 GB Todas as outras edições: pelo menos 4 GB e deve ser aumentado à medida que o banco de dados cresce para garantir um ótimo desempenho.
Sua opção de linguagens e plataformas
Crie aplicativos modernos usando a linguagem de sua preferência, na infraestrutura local e na nuvem, agora em contêineres do Docker, Windows e Linux.
Performance líder da indústria
Aproveite a escalabilidade, a performance e a disponibilidade inovadoras para aplicativos inteligentes de missão crítica e data warehouses.
Banco de dados menos vulnerável
Proteja dados em repouso e em movimento com o banco de dados menos vulnerável dos últimos sete anos no banco de dados de vulnerabilidades do NIST.
Inteligência em tempo real
Obtenha insights transformadores para a sua empresa com análises em tempo real a até 1 milhão de previsões por segundo.
BI móvel de ponta a ponta
Transforme dados brutos em relatórios significativos que podem ser enviados a qualquer dispositivo por um quarto do custo de outras soluções de self-service. Saiba por que a Gartner reconhece a Microsoft como líder em ODBMS
Versões SQL Server
Em Agosto de 2019, as seguintes versões são suportadas pela Microsoft: Do SQL Server 2016 em diante, o produto é suportado apenas em processadores x64. Tambem foi adicionado novos recursos de segurança, recursos de consulta, integração do Hadoop com a nuvem, análise R e vários aprimoramentos e melhorias. O SQL Server 2017 é uma etapa importante para transformar o SQL Server em uma plataforma que oferece opções de linguagens de desenvolvimento, tipos de dados, locais ou nuvens e sistemas operacionais, utilizando a capacidade do SQL Server no Linux, em contêineres do Docker baseados em Linux e no Windows. Essa Versão tambem oferece suporte à implantação de soluções de aprendizado de máquina distribuídas e escalonáveis em várias plataformas, usando várias fontes de dados empresariais, inclusive Hadoop e Teradata.


