Cómo instalar el motor de base de datos gratuito SQL derver 2017 Express de Microsoft en un equipo con Windows Server 2012 (válido para Windows Server 2016 y Windows Server 2019). Es la última versión de SQL Server Express que permite instalación en sistemas operativos Windows Server. Mostramos sus características y sus limitaciones.

Novedades de SQL Server 2017

SQL Server 2017 incluye muchas mejoras de rendimiento, perfeccionamiento y características de Motor de base de datos. A continuación listamos algunas de ellas.

Para el motor de la base de datos SQL Server 2017:

  • Los ensamblados CLR se pueden agregar a una lista de ensamblados de confianza, como solución alternativa para la característica clr strict security. Además, sp_add_trusted_assembly, sp_drop_trusted_assembly y sys.trusted_asssemblies se agregan para admitir la lista de ensamblados de confianza (RC1).
  • La recompilación de índices en línea reanudable reanuda una operación de recompilación de índices en línea desde donde se detuvo después de un error (como una conmutación por error en una réplica o espacio en disco insuficiente), o bien pausa y reanuda más adelante una operación de recompilación de índices en línea.
  • La opción IDENTITY_CACHE de ALTER DATABASE SCOPED CONFIGURATION permite evitar lagunas en los valores de columnas e identidad si un servidor se reinicia inesperadamente o realiza conmutación por error en un servidor secundario.
  • Una nueva generación de mejoras de procesamiento de consultas que adapta las estrategias de optimización a las condiciones de tiempo de ejecución de la carga de trabajo de la aplicación. En esta primera versión de la familia de características de procesamiento de consultas adaptable se incluyen tres nuevas mejoras: combinaciones adaptables del modo por lotes, comentarios de concesión de memoria del modo por lotes y ejecución intercalada para funciones con valores de tabla de varias instrucciones.
  • El ajuste automático de bases de datos proporciona información de los posibles problemas de rendimiento de las consultas, recomienda soluciones y puede corregir automáticamente los problemas identificados.
  • Las nuevas funcionalidades de base de datos de gráficos para modelar relaciones varios a varios incluyen una nueva sintaxis de CREATE TABLE para crear tablas de nodos y perimetrales, y la palabra clave MATCH para consultas.
  • Una opción de sp_configure llamada clr strict security se habilita de manera predeterminada para mejorar la seguridad de los ensamblados CLR.
  • El programa de instalación ahora permite especificar el tamaño de archivo tempdb inicial hasta 256 GB (262 144 MB) por archivo, con una advertencia si el tamaño del archivo es mayor que 1 GB y si IFI no está habilitado.
  • La columna modified_extent_page_count en sys.dm_db_file_space_usage hace seguimiento de los cambios diferenciales en cada archivo de base de datos, lo que habilita soluciones de copia de seguridad inteligentes que realizan copia de seguridad diferencial o copia de seguridad completa según el porcentaje de páginas modificadas en la base de datos.
  • La sintaxis SELECT INTO T-SQL ahora admite la carga de una tabla en un grupo de archivos distinto del grupo de archivos predeterminado del usuario mediante la palabra clave ON.
  • Ahora se admiten las transacciones entre bases de datos entre todas las bases de datos que forman parte de un grupo de disponibilidad AlwaysOn, incluidas las bases de datos que son parte de la misma instancia.
  • La nueva funcionalidad de los grupos de disponibilidad incluye la compatibilidad de escalado de lectura sin clúster, la configuración de grupos de disponibilidad de confirmación de réplica mínima y migraciones y pruebas entre distintos sistemas operativos Windows y Linux.
  • Nuevas vistas de administración dinámica:
    • sys.dm_db_log_stats expone atributos a nivel de resumen e información sobre los archivos de registro de transacciones, lo que resulta útil para supervisar el estado de los registros de transacciones.
    • sys.dm_tran_version_store_space_usage hace seguimiento del uso del almacén de versiones por base de datos, lo que resulta útil para planear de manera proactiva el dimensionamiento de tempdb según el uso del almacén de versiones por base de datos.
    • sys.dm_db_log_info expone información de VLF para supervisar, alertar y evitar posibles problemas con los registros de transacciones.
    • sys.dm_db_stats_histogram es una nueva vista de administración dinámica para examinar estadísticas.
    • sys.dm_os_host_info proporciona información de sistema operativo para Windows y Linux.
  • El Asesor de optimización de base de datos (DTA) tiene opciones adicionales y mejor rendimiento.
  • Las mejoras en memoria incluyen compatibilidad con columnas calculadas en tablas optimizadas para memoria, compatibilidad total con funciones JSON en módulos de compilación nativa y el operador CROSS APPLY en módulos de compilación nativa.
  • Las nuevas funciones de cadena son CONCAT_WS, TRANSLATE y TRIM, y WITHIN GROUP ahora es compatible con la función STRING_AGG. (CTP 1.1) Hay nuevas opciones de acceso masivo (BULK INSERT y OPENROWSET(BULK…) ) para archivos CSV y de Azure Blob.
  • Las mejoras de objetos optimizados para memoria incluyen sp_spaceused y la eliminación de la limitación de ocho índices en las tablas optimizadas para memoria, sp_rename para tablas optimizadas para memoria y módulos T-SQL de compilación nativa y CASE y TOP (N) WITH TIES para módulos T-SQL de compilación nativa. Los archivos de grupos de archivos con optimización para memoria ahora se pueden almacenar, se puede crear una copia de seguridad de ellos y se pueden restaurar en Azure Storage.
  • DATABASE SCOPED CREDENTIAL es una nueva clase de protegible, que admite los permisos CONTROL, ALTER, REFERENCES, TAKE OWNERSHIP y VIEW DEFINITION. ADMINISTER DATABASE BULK OPERATIONS ahora es visible en sys.fn_builtin_permissions.

Para SQL Server 2017 Integration Services (SSIS):

  • La nueva característica Escalabilidad horizontal de SSIS tiene las siguientes características nuevas y modificadas.
    • Patrón de escalabilidad horizontal ahora admite alta disponibilidad.
    • Se mejoró el control de conmutación por error de los registros de ejecución de Trabajadores de escalabilidad horizontal.
    • Se cambió el nombre del parámetro runincluster del procedimiento almacenado [catálogo].[create_execution] a runinscaleout para mejorar la coherencia y la legibilidad.
    • El catálogo de SSIS tiene una nueva propiedad global para especificar el modo predeterminado de ejecución de los paquetes de SSIS.
  • En la nueva característica Escalabilidad horizontal de SSIS, ahora puede usar el parámetro Use32BitRuntime cuando desencadena la ejecución.
  • SQL Server 2017 Integration Services (SSIS) ahora admite SQL Server en Linux y un paquete nuevo le permite ejecutar paquetes de SSIS en Linux desde la línea de comandos.
  • La nueva característica Escalabilidad horizontal de SSIS facilita en gran medida la ejecución de SSIS en varias máquinas.
  • Origen OData y Administrador de conexiones OData ahora admiten la conexión a fuentes de OData de Microsoft Dynamics AX Online y Microsoft Dynamics CRM Online.

Para SQL Server 2017 Master Data Services (MDS):

  • La experiencia y el rendimiento mejoran al actualizar de SQL Server 2012, SQL Server 2014 y SQL Server 2016 a SQL Server 2017 Master Data Services.
  • Ahora se pueden ver las listas ordenadas de entidades, colecciones y jerarquías en la página del Explorador de la aplicación web.
  • Se ha mejorado el rendimiento del almacenamiento provisional de millones de registros con el procedimiento almacenado de almacenamiento provisional.
  • Se ha mejorado el rendimiento al expandir la carpeta Entidades de la página Administrar grupos para asignar permisos de modelos. La página Administrar grupos se encuentra en la sección Seguridad de la aplicación web.

Y más mejoras en SQL Server 2017 Analysis Services (SSAS), SQL Server 2017 Reporting Services (SSRS) y Machine Learning en SQL Server 2017.

Limitaciones de SQL Server Express 2017

A continuación se muestra una tabla con las limitaciones de la versión gratuita de SQL Server Express 2017:

Capacidad máxima de cálculo que usa una sola instancia: Motor de base de datos de SQL ServerLimitada a menos de 1 socket o 4 núcleos
Capacidad máxima de cálculo que usa una sola instancia: Analysis Services o Reporting ServicesLimitada a menos de 1 socket o 4 núcleos
Memoria máxima para el grupo de búferes por cada instancia de Motor de base de datos de SQL Server1410 MB
Capacidad máxima de la extensión del grupo de búferes por instancia de Motor de base de datos de SQL ServerNo admitido
Cantidad máxima de memoria para la caché de segmento del almacén de columnas por cada instancia de Motor de base de datos de SQL Server352 MB
Tamaño máximo de datos optimizados para memoria por base de datos en Motor de base de datos de SQL Server352 MB
Memoria máxima usada por instancia de Analysis ServicesNo aplicable
Memoria máxima usada por instancia de Reporting ServicesNo aplicable
Tamaño máximo de la base de datos relacional10 GB

La limitación más importante para un entorno de producción es que la base de datos SQL Server Express no puede ocupar más de 10GB.

Descarga e instalación de Microsoft SQL Server 2017 Express en Windows Server 2012/2016/2019

Descargaremos el fichero que, a su vez, nos permitirá realizar la descarga del instalador de SQL Server Express 2017. Actualmente la versión de SQL Server Express es la 2019, pero esta versión ya no puede instalarse en equipos con Windows Server 2012, 2016 y 2019. Por ello mostramos cómo instalar esta última versión gratuita permitida para Windows Server.

Descarga e instalación de Microsoft SQL Server 2017 Express en Windows Server 2012/2016/2019

Pulsaremos en «Nueva instalación independiente de SQL Server o agregar características a una instalación existente»:

Descarga e instalación de Microsoft SQL Server 2017 Express en Windows Server 2012/2016/2019

Marcaremos «Acepto los términos de licencia» y pulsaremos «Siguiente»:

Descarga e instalación de Microsoft SQL Server 2017 Express en Windows Server 2012/2016/2019

Si queremos que Microsoft Update nos aviso de nuevos parches para SQL Server marcaremos la opción «Usar Microsoft Update para comprobar las actualiaciones (recomendado)»:

Descarga e instalación de Microsoft SQL Server 2017 Express en Windows Server 2012/2016/2019

El asistente comprobar las reglas de instalación para ver si el sistema actual las cumple. Algunas no son obligatorias y nos las indicará con una advertencia pero nos dejará continuar.

Descarga e instalación de Microsoft SQL Server 2017 Express en Windows Server 2012/2016/2019

Marcaremos las características de SQL Server 2017 que queramos instalar: replicación de SQL Server, Machine Learning Services (R, Python), conectividad con las herramientas cliente, etc. En nuestro caso dejaremos las características por defecto. También indicaremos las unidades y carpetas para la raíz de la instancia, para las características compartidas y para la características compartidas x86:

Descarga e instalación de Microsoft SQL Server 2017 Express en Windows Server 2012/2016/2019

Marcaremos «Instancia con nombre» e introduciremos un nombre para la instancia, por ejemplo SQLEXPRESS2017:

Descarga e instalación de Microsoft SQL Server 2017 Express en Windows Server 2012/2016/2019

A continuación elegiremos las credenciales y el tipo de inicio para los servicios de SQL Server 2017:

  • Motor de la base de datos SQL Server: inicio automático. Se usará la cuenta local del sistema NT Service para iniciarlo.
  • Launchpad de SQL Server: inicio automático. Se usará la cuenta local del sistema NT Service para iniciarlo.
  • Selector de demonio de filtro de texto completo: inicio manual. Se usará la cuenta local del sistema NT Service para iniciarlo.
  • SQL Server Browser: deshabilitado. Se usará la cuenta local del sistema NT AUTHORITY para iniciarlo.
Descarga e instalación de Microsoft SQL Server 2017 Express en Windows Server 2012/2016/2019

Elegiremos ahora el tipo de autenticación de SQL Server, podremos elegir entre:

  • Modo de autenticación de Windows: se usarán los usuarios de Windows para iniciar sesión y conectar con SQL Server. Marcando esta opción podremos indicar qué usuarios de equipo (o dominio si el equipo pertenece a un dominio) tendrán acceso a SQL Server.
  • Modo mixto (autenticación de SQL Server y de Windows): permite crear usuarios «locales» de la propia base de datos SQL Server y también usuarios del equipo Windows. En nuestro caso marcaremos esta opción. Introduciremos una contraseña para el superusuario sa que se creará por defecto. Este usuario será el que tenga privilegios totales sobre la instancia de la base de datos, también los usuarios que se elijan de Windows.
Descarga e instalación de Microsoft SQL Server 2017 Express en Windows Server 2012/2016/2019

En la pestaña «Diretorios de datos» podremos indicar en qué carpetas se guardarán los datos de las bases de datos que se creen en SQL Server: el raíz, la base de datos del sistema, la base de datos de usuario, el registro de base de datos y el de copia de seguridad:

Descarga e instalación de Microsoft SQL Server 2017 Express en Windows Server 2012/2016/2019

Si hemos elegido instalar Microsoft R Open, deberemos aceptar los términos de licencia:

Descarga e instalación de Microsoft SQL Server 2017 Express en Windows Server 2012/2016/2019

Lo mismo para Python:

Descarga e instalación de Microsoft SQL Server 2017 Express en Windows Server 2012/2016/2019

Inciará la instalación de SQL Server 2017 en el equipo Windows Server:

Descarga e instalación de Microsoft SQL Server 2017 Express en Windows Server 2012/2016/2019

Tras la instalación, es muy posible que nos pida reiniciar el equipo:

Descarga e instalación de Microsoft SQL Server 2017 Express en Windows Server 2012/2016/2019

Tras el reinicio, SQL Server 2017 quedará instalado:

Descarga e instalación de Microsoft SQL Server 2017 Express en Windows Server 2012/2016/2019

Y todos sus servicios iniciados:

Descarga e instalación de Microsoft SQL Server 2017 Express en Windows Server 2012/2016/2019

Instalar SQL Server Management Studio, crear base de datos y tabla

Para instalar SQL Server Management Studio, volveremos a abrir el asistente de instalación descargado anteriormente y pulsaremos en «Instalar herramientas de administración de SQL Server»:

Instalar SQL Server Management Studio, crear base de datos y tabla

Guardaremos el archivo SSMS-Setup-ENU.exe que se descargará:

Instalar SQL Server Management Studio, crear base de datos y tabla

Y lo ejecutaremos como administrador, pulsando con el botón derecho sobre él y eligiendo «Ejecutar como administrador»:

Instalar SQL Server Management Studio, crear base de datos y tabla

Se iniciará el asistente para instalar Microsoft SQL Server Management Studio with Azure Data Studio. Elegiremos la carpeta de instalación y pulsaremos «Install»:

Instalar SQL Server Management Studio, crear base de datos y tabla

Una vez finalizada la instalación puede que nos pida reiniciar el equipo:

Instalar SQL Server Management Studio, crear base de datos y tabla

Tras el renicio dispondremos de esta potente herramienta, SQL Server Management. Para acceder, desde el menú, en el grupo «Microsoft SQL Server Tools 18», pulsaremos en «Microsoft SQL Server Management»:

Instalar SQL Server Management Studio, crear base de datos y tabla

Elegiremos el método de autenticación, en nuestro caso «SQL Server Authentication», introduciremos el usuario y la contraseña y pulsaremos «Connect»:

Instalar SQL Server Management Studio, crear base de datos y tabla

Y ya podremos administrar el servidor SQL Server 2017. Por ejemplo, podremos crear una nueva base de datos, pulsando con el botón derecho del ratón sobre «Databases» y eligiendo «New Database…»:

Instalar SQL Server Management Studio, crear base de datos y tabla

Introduciremos el nombre para la base de datos, por ejemplo «bdproyectoa» y el resto de datos de configuración:

Instalar SQL Server Management Studio, crear base de datos y tabla

SQL Management Studio nos mostrará el script que se ejecutará para crear la base de datos:

Una vez creada la base de datos, la desplegaremos en el árbol y podremos, por ejemplo, crear una tabla, pulsando con el botón derecho del ratón sobre «Tables» y eligiendo «New» – «Table»:

Instalar SQL Server Management Studio, crear base de datos y tabla

Agregaremos todos los campos que queramos, con sus tipos de datos, índices y sus reglas de integridad referencial

Instalar SQL Server Management Studio, crear base de datos y tabla

Para el caso del campo «codigo», clave primaria, elegiremos «Set Primary Key»

Instalar SQL Server Management Studio, crear base de datos y tabla

Y para que sea autoincremental elegiremos este campo [1] y en las propiedades, modificaremos la propiedad «Is Identity» [2] a valor «Yes» [3]

Instalar SQL Server Management Studio, crear base de datos y tabla

Guardaremos los cambios:

Instalar SQL Server Management Studio, crear base de datos y tabla

Introduciremos un nombre para la tabla:

Instalar SQL Server Management Studio, crear base de datos y tabla

También nos mostrará el script de creación de la tabla, muy útil por si queremos automatizar la tarea:

Y ya tendremos disponible nuestra tabla «facturas» en la base de datos «bdproyectoa»:

Instalar SQL Server Management Studio, crear base de datos y tabla

Desde el propio SQL Server Management podremos mostrar los registros de la tabla (hacer select) e incluso insertar registros:

Instalar SQL Server Management Studio, crear base de datos y tabla