Microsoft SQL Server

De Wikipedia, la enciclopedia libre
Saltar a: navegación, búsqueda
Microsoft SQL Server
Desarrollador
Microsoft
www.microsoft.com/sql/
Información general
Última versión estable 2012 (11)
06 de marzo de 2012
Género RDBMS
Sistema operativo Microsoft Windows
Licencia Microsoft EULA
[editar datos en Wikidata]

Microsoft SQL Server es un sistema de manejo de bases de datos del modelo relacional, desarrollado por la empresa Microsoft.

El lenguaje de desarrollo utilizado (por línea de comandos o mediante la interfaz gráfica de magnament studio) es Transact-SQL (TSQL), una implementación del estándar ANSI del lenguaje SQL, utilizado para manipular y recuperar datos (DML), crear tablas y definir relaciones entre ellas (DDL).

Los competidores principales de SQL Server, en el mercado de las bases de datos relacionales, son productos como Oracle, MariaDB, MySQL, PostgreSQL etc.; SQL Server solo está disponible para sistemas operativos de Windows de Microsoft.

Puede ser instalado utilizando varias instancias en el mismo servidor físico, la primera instalación lleva generalmente el nombre del servidor, y las siguientes - nombres specíficos (con un guión invertido entre el nombre del servidor y el nombre de la instalación).

Versiones[editar]

Historia de versiones
Versión Año Nombre de la versión Nombre clave
1.0
(OS/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.0 [1] Sphinx
- 1999 SQL Server 7.0
OLAP Tools
Plato
8.0 2000 SQL Server 2000 [2]
8.0 2003 SQL Server 2000
64-bit Edition
Liberty
9.0 2005 SQL Server 2005 [3] Yukon
10.0 2008 SQL Server 2008 [4] Katmai
10.25 2010 SQL Azure DB CloudDatabase
10.50 2010 SQL Server 2008 R2 [5] Kilimanjaro
11.0 2012 SQL Server 2012 [6] Denali
12.0 2014 SQL Server 2014 [7] SQL14 (antes Hekaton)

El código original de SQL Server que fue utilizado en las versiones previas a la versión 7.0 habría sido comprado de Sybase, pero fue actualizado en las versiones 7.0 y 2000, y reescrito en la versión 2005. Generalmente, cada 2-3 años, una nueva versión es publicada. Entre dichas publicaciones, se proponen service packes con mejoras y correcciones de bugs, y hotfixes por problemas urgentes en el sistema de seguridad o bugues críticos.

Ediciones y servicios[editar]

Cada versión de SQL Server posee distintas versiones con distintos costos (para cada versión) que dependen también en la configuración física del servidor. [8] A continuación se presentan las versiones principales:

Enterprise[editar]

Contempla todas las características (deshabilitadas en otras ediciones).

Developer[editar]

Una edición con las mismas características como la Enterprise, con el fin de ser instalada solamente en ambiente de desarrollo y no en producción. Claro que en el desarrollo a una edición Standard hay que tomar en cuenta las características deshabilitadas en la producción.

Standard[editar]

Una versión limitada según la configuración del servidor y sus características, diseñada para servidores inferiores.

Por ejemplo: en la versión 2012, la edición Enterprise soporta un número ilimitado de procesadores, y la agregación de memoria y CPUs sin interrupción del servicio o del servidor; mientras la edición Standard esta limitada a 16 procesadores y no soporta la "agregación en caliente".

Express[editar]

Una versión gratuita que posibilita la creación de bases de datos limitadas con características básicas, con el fin de apoyar aplicaciones que necesiten una solución simple para almacenamiento de una cantidad limitada de datos, o usuarios que sus recursos y necesidades son limitados.

En la versión 2012, esta edición puede utilizar un máximo de 1 GB de memoria, y almacenar no más de 10GB, funciona en servidores con un número máximo de 4 procesadores.

SQL Azure[editar]

Es una versión de SQL Server en la nube, que permitía pagar mensualmente por el servicio sin la necesidad de mantener un servidor físico (On Premise). La empresa paga solo por el servicio, y el servicio es manejado a través de torres de servidores en distintos lugares en el mundo.

Con SQL Azure no es necesario instalar, mantener o actualizar un servidor físico; a pesar que este servicio depende de aspectos relacionados a problemas de seguridad con respecto a su presencia fuera de la empresa y a la disponibilidad de conexión a Internet.

Durante un tiempo, el servicio fue amplificado con opciones para crear un servidor virtual por la red, e instalar SQL Server tanto como uno de los servicios competidores, y manejar el servidor virtual como si fuera un servidor físico local (aunque físicamente no esta accesible); y se puede diferenciar entre la opción original que esta denominada PAAS (Platforma as a Service, El Plataforma como un Servicio) y la nueva opción de los servidores virtuales denominada IAAS (Infrastructure as a Service, Infraestructura como un Servicio).

Este servicio esta otorgado por Microsoft desde 2009 y se une a servicios similares de empresas de third-party.

Interfaz de usuario[editar]

SQL Server proporciona unos interfaz que han cambiado durante los años, de los cuales los más conocidos son los interfaz gráficos que están utilizados como herramienta de desarrollo estándar a los desarolladores y administradores.

El interfaz gráfico hasta 2005 incluyó el Enterprise Manager con una vista de árbol de los distintos objetos y con la capacidad de manejarlos; y el Query analyzer como interfaz textual para ejecutar comandos de TSQL.

En la versión 2005 las dos herramientas se unificaron a una - el SQL Server Management Studio (SSMS), y a partir de 2008 fue incluida la opción de trabajar con el Visual Studio - el inrefaz estándar de desarrollo de Microsoft (a los distintos lenguajes, BI etc.). Otro interfaz opcional es la utilización de Línea de comandos, con herramientas como SQLCmd, ISQL, OSQL que posibilita la ejecución de scripts y procesamiento por lotes. Desde 2008 se puede desarollar con SQLCmd (SQL Command) a través del SSMS sin interconectarse al interfaz textual de Windows. Otra opción en el ámbito de scripts es la utilización del lenguaje de scripts Powershell de Microsoft.

Aparte de los intefazes estándares de SQL Server, se puede ejecutar comandos de TSQL con herramientas de conexión como ODBC y OLE-DB [9] .

Servicios[editar]

A contrario de sistemas de bases de datos como Microsoft Access que son "pasivas" y contienen un archivo a cual hay que conectar y la ejecución de los comandos se lleva a cabo en el cliente (la computadora de usuario), en SQL Server hay número de servicios, software que están ejecutadas en la memoria del servidor por parte del sistema, y por lo tanto aprovechan las capacidades del servidor que es mas potente que los clientes, previenen congestión en la red, y pueden programar tareas que corran aún el cliente no esta conectado.

Los servicios principales:

  • SQL Server - El "motor" del sistema
  • SQL Agent - Ejecución de tarreas (Jobs, scripts programados) y envió de advertencias en caso de carga pesada e irregulares en el sistema
  • Full-Text Filter Daemon Launcher - La utilización en los indexes especiales del "Full text search" por busqueda textual avanzada
  • SQL Browser - El "oyente" dedicado a comandos enviados y redigir los a su destino
  • SSIS Server - La operació del SSIS (la herramienta de ETL)
  • SSAS Server - La operación del SSAS (la herramienta de OLAP)
  • SSRS Server - La operación del SSRS (la herramienta de informes)

Capacidades y herramientas básicas[editar]

Bases de datos[editar]

En cada instalación de SQL Server hay 4 bases de datos de sistema, y la capacidad de crear nuevas bases de datos por el usuario, en los cuales los datos están almacenados en tablas.

Estas bases de datos, creadas por parte de los usuarios, incluyen básicamente un archivo de datos (con el sufijo mdf) con las tablas y los distintos objetos a nivel de la base de datos; y un archivo de registro (con el sufijo ldf) con las transacciones abiertas, y transacciones cerradas, Sujeto al modelo de recuperación seleccionado (se puede acumular en el archivo de registro todos los cambios en la base de datos desde el último respaldo). Se puede crear un conjunto de archivos de datos además del principal (con el sufijo ndf) por consideraciones de eficiencia, partición de carga de trabajo entre los discos rígidos, etc.

Las bases de datos del sistema:

  • master - Todos los procedimientos, funciones y tablas del sistema que están utilizadas por parte de todas las bases de datos y que están instaladas automáticamente, tanto como las que han sido creado por parte de los administradores del sistema. Además, todas las definiciones en respecto a la seguridad a nivel del servidor, están almacenadas en esta base de datos.
  • msdb - Almacenamiento de las tareas del agente, los códigos de CLR combinados en el sistema, los paquetes de SSIS, y otros más.
  • model - El molde de las bases de datos. Cada nueva base de datos se crea como una copia de esta base de datos, menos que algo más estaba definido explicitamente.
  • tempdb - Base de datos temporal que se crea de nuevo cada vez que el servicio reinicia. Se utiliza para almacenar tablas temporales creadas por parte de los usuarios o el sistema (por ejemplo en ordenaciones complejos).

Características de Microsoft SQL Server[editar]

Este sistema incluye una versión reducida, llamada MSDE con el mismo motor de base de datos pero orientado a proyectos más pequeños, que en sus versiones 2005 y 2008 pasa a ser el SQL Express Edition, que se distribuye en forma gratuita.

Es común desarrollar completos proyectos complementando Microsoft SQL Server y Microsoft Access a través de los llamados ADP (Access Data Project). De esta forma se completa la base de datos (Microsoft SQL Server), con el entorno de desarrollo (VBA Access), a través de la implementación de aplicaciones de dos capas mediante el uso de formularios Windows.

En el manejo de SQL mediante líneas de comando se utiliza el SQLCMD, osql, o PowerShell.

Para el desarrollo de aplicaciones más complejas (tres o más capas), Microsoft SQL Server incluye interfaces de acceso para varias plataformas de desarrollo, entre ellas .NET, pero el servidor sólo está disponible para Sistemas Operativos.

El tipo NUMERIC fue mejorado para ser usado como identificador de columna a partir de la versión 2008 R2.

Programación[editar]

T-SQL[editar]

T-SQL (Transact-SQL) es el principal medio de interacción con el Servidor. Permite realizar las operaciones claves en SQL Server, incluyendo la creación y modificación de esquemas de la base de datos, la introducción y edición de los datos en la base de datos, así como la administración del servidor como tal. Esto se realiza mediante el envío de sentencias de T-SQL y declaraciones que son procesadas por el servidor y los resultados (o errores) regresan a la aplicación cliente.

Cliente Nativo de SQL[editar]

Cliente Nativo de SQL es la biblioteca de acceso a datos para los clientes de Microsoft SQL Server versión 2005 en adelante. Implementa de forma nativa soporte para las características de SQL Server, incluyendo la ejecución de la secuencia de datos tabular, soporte para bases de datos en espejo de SQL Server, soporte completo para todos los tipos de datos compatibles con SQL Server, conjuntos de operaciones asíncronas, las notificaciones de consulta, soporte para cifrado, así como recibir varios conjuntos de resultados en una sola sesión de base de datos. Cliente Nativo de SQL se utiliza como extensión de SQL Server plug-ins para otras tecnologías de acceso de datos, incluyendo ADO u OLE DB. Cliente Nativo de SQL puede también usarse directamente, pasando por alto las capas de acceso de datos.

Desventajas[editar]

  • En versiones de 32 bits, SQL Server usa Address Windowing Extension (AWE) para hacer el direccionamiento por encima de 4 GB. Esto le impide usar la administración dinámica de memoria, y sólo le permite alojar un máximo de 64 GB de memoria compartida. Esta limitación es exclusiva de sistemas operativos 32 bits; en sistemas operativos 64 bits, la memoria máxima que se puede direccionar en Edición Estándar es 64 Gb y en Edición Enterprise 4Tb.

Véase también[editar]

«SQl Server»

Referencias[editar]

Enlaces externos[editar]