Microsoft SQL Server és un sistema de gestió de bases de dades relacional (SGBDR) produït per Microsoft. Està basat en el llenguatge de consulta Transact-SQL, una implementació de l'estàndard ANSI/ISO SQL (Structured Query Language), capaç de posar a disposició de molts usuaris grans quantitats de dades de manera simultània.

Característiques Entre les seves característiques tenim: Suport de transaccions. Escalabilitat, estabilitat i seguretat integrades en Directori Actiu. Suport per procediments emmagatzemats. Inclou també un potent entorn gràfic d'administració, que permet l'ús comandaments DDL i DML de manera gràfica. Permet treballar en mode client-servidor on la informació i dades viuen en el mateix servidor i els terminals o clients de la xarxa només accedeixen a la informació. A més a més, permet administrar informació d'altres servidors de dades. Aquest sistema inclou una versió reduïda, anomenada MSDE amb el mateix motor de base de dades però orientat a projectes més petits, que en llur versió 2005 passa a ser el que s'anomena com SQL Express Edition.

Microsoft SQL Server constitueix l'alternativa de Microsoft a altres potents sistemes gestors de bases de dades com són Oracle, Sybase ASE, PostgreSQL o MySQL.

És comuna la pràctica de desenvolupar grans projectes complementant Microsoft SQL Server i Microsoft Access mitjançant els anomenats ADP (Access Data Project). D'aquesta manera es completa una potent base de dades (Microsoft SQL Server) amb un entorn de desenvolupament còmode i d'alt rendiment (VBA Access) via la implementació d'aplicacions de dues capes i l'ús de formularis Windows.

És pràctica comuna desenvolupar grans projectes complementant Microsoft SQL Server i Microsoft Access mitjançant els anomenats ODBC i OLEDB. D'aquesta manera es completa una potent base de dades (Microsoft SQL Server) amb un entorn de desenvolupament còmode i d'alt rendiment (VBA Access) via a implementació d'aplicacions de dues capes i l'ús de formularis Windows.

Per el desenvolupament d'aplicacions més complexes, més de dues capes, Microsoft SQL Server inclou interfícies d'accés per diverses plataformes de desenvolupament, entre elles, .NET.

Microsoft SQL Server, a diferència de la seva més propera competència, no és multiplataforma, donat que només pot córrer en sistemes operatius propis de Microsoft.

Versions + Història de versionsSQL Server Development History Versió Any Nom de la versió Nom clau 1.0(US/2) 1989 SQL Server 1-0 SQL 4.21(WinNT) 1993 SQL Server 4.21 SEQUEL 6.0 1995 SQL Server 6.0 SQL95 6.5 1996 SQL Server 6.5 Hydra 7.0 1998 SQL Server 7.0What's New in Microsoft SQL Server 7 Sphinx - 1999 SQL Server 7.0OLAP Tools Plat 8.0 2000 SQL Server 2000What's New in Microsoft SQL Server 2000Shiloh 8.0 2003 SQL Server 200064-bit Edition Liberty 9.0 2005 SQL Server 2005Novetats de SQL Server 2005Yukon 10.0 2008 SQL Server 2008Novetats (SQL Server 2008) Katmai 10.25 2010 SQL Azure DB CloudDatabase10.50 2010 SQL Server 2008 R2What's New in Microsoft SQL Server 2008 R2 Kilimanjaro11.0 2012 SQL Server 2012Novetats de SQL Server 2012 Denali12.0 2015 SQL Server 2014Novetats de SQL Server 2014 SQL14 (abans Hekaton)13.02016SQL Server 201614.02017SQL Server 2017vNext 2017 El codi font original de SQL Server que va ser utilitzat en les versions prèvies a la versió 7.0 hauria estat comprat de Sybase, però va ser actualitzat en les versions 7.0 i 2000, i reescrit en la versió 2005. Generalment, cada 2-3 anys, una nova versió és llançada i, entre aquests llançaments, es proposen service packs amb millores i correccions de bugs, i hotfixs per problemes urgents en el sistema de seguretat o bugs crítics.

Programació T-SQL T-SQL (Transact-SQL) és el principal mitjà d'interacció amb el Servidor, el qual permet realitzar les operacions claus en SQL Server, incloent la creació i modificació d'esquemes de base de dades, inserció i modificació de dades en la base de dades, així com l'administració del servidor com a tal. Això es realitza mitjançant l'enviament de sentències en T-SQL i declaracions que són processades pel servidor i els resultats (o errors) tornen a l'aplicació client.

Client Natiu de SQL Client Natiu de SQL, és la biblioteca d'accés a dades per als clients de Microsoft SQL Server versió 2005 d'ara endavant. Implementa de forma nativa suport per a les característiques de SQL Server, incloent l'execució de la seqüència de dades tabular, suport per a bases de dades en mirall de SQL Server, suport complet per a tots els tipus de dades compatibles amb SQL Server, conjunts d'operacions asíncrones, les notificacions de consulta, suport per xifrat, així com rebre diversos conjunts de resultats en una sola sessió de base de dades. Client Natiu de SQL s'utilitza com a extensió de SQL Server plug-ins per a altres tecnologies d'accés de dades, incloent ADO o OLE DB. Client Natiu de SQL pot també usar-se directament, passant per alt les capes d'accés de dades.

Edicions i serveis Cada versió de SQL Server posseeix diferents versions amb diferents preus (per a cada versió) que depenen també en la configuració física del servidor. Característiques compatibles amb les edicions de SQL Server 2014 A continuació es presenten les versions principals:

Enterprise Inclou totes les característiques (deshabilitades en altres edicions). És el tipus de versió amb més privilegis existent al mercat.

Developer Una edició amb les mateixes característiques que l'Enterprise, amb la finalitat de ser instal·lada solament en ambient de desenvolupament i no en producció. Si es desenvolupa per a una edició Standard cal tenir en compte les característiques deshabilitades per a aquesta versió.

Standard Una versió limitada segons la configuració del servidor i les seves característiques, dissenyada per a servidors inferiors.

Per exemple: en la versió 2012, l'edició Enterprise suporta un nombre il·limitat de processadors, i l'agregació de memòria i CPUs en calent sense la interrupció del servei o del servidor; mentre l'edició Standard aquesta limitada a 16 processadors i no suporta la "agregació en calenta".

Express Una versió gratuïta que possibilita la creació de bases de dades limitades amb característiques bàsiques, amb la finalitat de recolzar aplicacions que necessitin una solució simple per a emmagatzematge d'una quantitat limitada de dades, o usuaris que els seus recursos i necessitats són limitats.

En la versió 2012, aquesta edició pot utilitzar un màxim de 1 GB de memòria, i emmagatzemar no més de 10GB, funciona en servidors amb un nombre màxim de quatre processadors. Aquestes limitacions es mantenen en la versió 2014 (4 cores, 1GB ram, i 10Gb per base de dades).

SQL Azure És una versió de SQL Server en el núvol, que permet pagar mensualment pel servei sense la necessitat de mantenir un servidor físic (On Premise). L'empresa paga solament pel servei, i el servei és manejat a través de torres de servidors en diferents llocs al món.

Amb SQL Azure no és necessari instal·lar, mantenir o actualitzar un servidor físic; a pesar que aquest servei depèn d'aspectes relacionats a problemes de seguretat pel que fa a la seva presència fora de l'empresa i a la disponibilitat de connexió a Internet.

Durant un temps, el servei va ser ampliat amb l'opció de crear un servidor virtual per la xarxa, i instal·lar SQL Server tant com un dels serveis competidors, i manejar el servidor virtual com si fos un servidor físic local (encara que físicament no està accessible); i es pot diferenciar entre l'opció original que aquesta denominada PAAS (Platform as a Service: El Plataforma com un Servei) i la nova opció dels servidors virtuals denominada IAAS (Infrastructure as a Service, Infraestructura com un Servei).

Aquest servei aquesta atorgat per Microsoft des de 2009 i s'uneix a serveis similars de empreses de third-party.

Interfície d'usuari SQL Server proporciona uns interfície que han canviat durant els anys, dels quals els més coneguts són els interfície gràfics que estan utilitzats com a eina de desenvolupament estàndard als desenvolupadors i administradors.

La interfície gràfica fins a 2005 va incloure l'Enterprise Manager amb una vista d'arbre dels diferents objectes i amb la capacitat de manejar-los; i el Query analyzer com a interfície textual per executar comandos de TSQL.

En la versió 2005 les dues eines es van unificar a una –el SQL Server Management Studio (SSMS), i a partir de 2008 va ser inclosa l'opció de treballar amb el Visual Studio– la interfície estàndard de desenvolupament de Microsoft (als diferents llenguatges, BI, etc.). Un altre interfície opcional és la utilització de Línia de comandos, amb eines com SQLCmd, ISQL, OSQL que possibilita l'execució de scripts i processament per lots. Des de 2008 es pot desenvolupar amb SQLCmd (SQL Command) a través del SSMS sense interconnectar-se a l'interfície textual de Windows. Una altra opció en l'àmbit de scripts és la utilització del llenguatge de scripts Powershell de Microsoft.

A part dels intefaces estàndards de SQL Server, es pot executar comandos de TSQL amb eines de connexió com ODBC i OLE-DB.

Serveis A contrari de sistemes de bases de dades com Microsoft Access que són "passives" i contenen un arxiu a qual cal connectar i l'execució dels comandos es duu a terme en el client (la computadora d'usuari), en SQL Server hi ha nombre de serveis, programari que estan executades en la memòria del servidor per part del sistema i, per tant, aprofiten les capacitats del servidor que és més potent que els clients, prevenen congestió en la xarxa, i poden programar tasques que corrin encara que el client no està connectat.

Els serveis principals: SQL Server - El "motor" del sistema SQL Agent - Execució de tasques (Jobs, scripts programats) i va enviar d'advertiments en cas de càrrega pesada i irregulars en el sistema Full-Text Filter Daemon Launcher - La utilització en els indexis especials del "Full text search" per recerca textual avançada SQL Browser - El "oïdor" dedicat a comandos enviats i redirigir-los a la seva destinació SSIS Server - L'operació del SSIS (l'eina de ETL) SSAS Server - L'operació del SSAS (l'eina de OLAP) SSRS Server - L'operació del SSRS (l'eina d'informes)

Capacitats i eines bàsiques Bases de dades En cada instal·lació de SQL Server hi ha 4 bases de dades de sistema, i la capacitat de crear noves bases de dades per l'usuari, en els quals les dades estan emmagatzemades en taules.

Aquestes bases de dades, creades per part dels usuaris, inclouen bàsicament un arxiu de dades (amb el sufix mdf) amb les taules i els diferents objectes a nivell de la base de dades; i un arxiu de registre (amb el sufix ldf) amb les transaccions obertes, i transaccions tancades, Subjecte al model de recuperació seleccionat (es pot acumular en l'arxiu de registre tots els canvis en la base de dades des de l'últim respatller). Es pot crear un conjunt d'arxius de dades a més del principal (amb el sufix ndf) per consideracions d'eficiència, partició de càrrega de treball entre els discos rígids, etc.

Les bases de dades del sistema: master - Tots els procediments, funcions i taules del sistema que estan utilitzades per part de totes les bases de dades i que estan instal·lades automàticament, tant com les que han estat creat per part dels administradors del sistema. A més, totes les definicions en respecte a la seguretat a nivell del servidor, estan emmagatzemades en aquesta base de dades. msdb - Emmagatzematge de les tasques de l'agent, els codis de CLR combinats en el sistema, els paquets de SSIS, i uns altres més. model - El motlle de les bases de dades. Cada nova base de dades es crea com una còpia d'aquesta base de dades, menys que una mica més estava definit explícitament. tempdb - Base de dades temporal que es crea de nou cada vegada que el servei reinicia. S'utilitza per emmagatzemar taules temporals creades per part dels usuaris o el sistema (per exemple en ordenacions complexos).