Review técnica: SQL Server 2019

Review técnica: SQL Server 2019

Juan Ignacio Oller Aznar

Aprovechando que en una de las sesiones de la pasada edición de Microsoft Ignite 2021, celebrado el pasado mes de noviembre, el gigante de Redmond anunció el lanzamiento de Microsoft SQL Server 2022, y a la espera de poder liberar información sobre la misma, hemos pensado que sería interesante hablar de la versión vigente de su Sistema de Gestión de Base de Datos, Microsoft SQL Server 2019.

 

A lo largo de este pequeño articulo vamos a hablar de las distintas ediciones de SQL Server que tenemos disponibles, de ventajas, desventajas y novedades que trajo esta versión de SQL Server que ya lleva con nosotros dos años.

 

 

 

Análisis técnico de SQL Server 2019

 

 

¿Qué ediciones nos presenta SQL Server 2019?

 

SQL Server 2019 nos presenta cinco versiones distintas muy encaminadas a segmentos o tareas concretas. Las ediciones disponibles son:

  • Enterprise.
  • Estándar.
  • Web.
  • Desarrollador.
  • Edición Express.

 

Vamos a ver para que podemos usar cada una de ellas y que características diferenciales tienen:

  • Enterprise: Se trata de la versión premium, y proporciona funcionalidades completas para el centro de datos. No tiene ningún tipo de limitación y presenta un rendimiento potenciado, opciones de virtualización casi ilimitadas (para los clientes con Software Assurance) y sistemas de inteligencia empresarial integrada. Todo esto posibilita recibir una mayor carga de trabajo que el resto de las ediciones.   
  • Estándar: Es una versión menor a la anterior, pero sigue siendo una solución de primer orden. Proporciona administración básica de datos y base de datos de inteligencia empresarial, pero en este caso está enfocado a pequeñas organizaciones.
  • Web: Esta es la opción de bajo costo que permite a los proveedores de hosting web o de servicios proporcionar escalabilidad, rentabilidad y sencillez de uso para propiedades web que pueden ir desde pequeña a gran escala.
  • Desarrollador: La llamada SQL Server Developer Edition permite a los developers (desarrolladores) programar y probar aplicaciones de cualquier tipo sobre SQL Server, para así, cuando se pongan en producción hayan sido lo más testeadas posible. Dispone de las mismas funcionalidades que la versión Enterprise, para así poder testear todo en un entrono lo más real posible, pero no se puede poner en producción.
  • Ediciones Express: (Express Edition) es la versión de base de datos gratuita, ideal para estudiantes o principiantes, que podrán hacer pruebas, pequeñas aplicaciones de todo tipo sin tener que invertir en una licencia.
 
Sobre este tema, también me gustaría comentar que si se hace uso de una licencia de tipo Enterprise o CAL y el equipo supera los 20 núcleos físicos (40 lógicos), mostrará un aviso durante la instalación. Este aviso no se mostrará para los de 40 lógicos si no se tiene activo el Hyper-Threading. 

¿Qué opciones y novedades tenemos en SQL Server 2019?

 

Aunque me chirria a usar el termino de novedades en una versión que lleva 2 años en el mercado, lo usaré para así diferenciarla de versiones anteriores, y en realidad, más que novedades vamos a hablar de funcionalidades generales del SGBD de Redmond.

 

 

¿Qué mejoras hay en la seguridad?

 

Por un lado, en lo que respecta a la seguridad, disponemos de múltiples ventajas.

 

SQL Server 2019 ha sido rediseñada y dispone de una arquitectura diseñada para prevenir las amenazas actuales. Este es un camino que empezó años atrás y que a mí me gusta datar (aunque en realidad es previo) en 2016, que es cuando considero que Microsoft empezó a recorrer la senda correcta en este sentido.

 

Entre estas funcionalidades de seguridad podemos encontrar SQL Server Audit que permite elevar el nivel de seguridad auditando de manera más extensa los registros.

 

Por otro lado, también podemos encontrar con una mejora en la clasificación y detección de datos, que permite usar un sistema de etiquetado, que para los que están familiarizados con el TAGGING de los sistemas de seguridad y cumplimiento de Microsoft 365 les resultarán más que familiares.

 

El sistema de gestión de certificados para la administración de configuración de SQL Server también ha sufrido una gran remodelación consiguiendo asegurar de manera notable la plataforma.

 

Por último, y dejando de lado el servicio de parcheo continuo de Microsoft, que es algo a tener en cuenta, tenemos el Always Encrypted que ha mejorado con la inclusión del cifrado de contexto y los cálculos enriquecidos, mejorando tanto el rendimiento como la seguridad de las operaciones criptográficas.

 

 

¿Sobre disponibilidad de las bases de datos?

 

Como ya sabemos, la disponibilidad es uno de los fundamentos básicos en los que debemos tener cimentados nuestros servicios, y por eso, SQL Server 2019 presenta distintas mejoras y nuevas funcionalidades en este sentido.

 

Se aumenta elnúmero de réplicas síncronas que se pueden desplegar de 3 a 5, usando un modelo de réplica principal y cuatro secundarias sincronizadas automáticamente dentro de un mismo grupo de trabajo, permitiendo la evacuación entre miembros en caso de necesidad.

 

Por supuesto, se mantiene elmodelo de clústeres failovercon una mejora especial para los que dispongan de Software Assurance, disponiendo en este caso detres tipos distintos de failover: el clásico HA (alta disponibilidad) destinado a evitar la caída del servicio, un DR (recuperación de desastres) destinado a prevenir desastres de mayor alcance, como una caída de la sede principal, recuperando el servicio en una delegación, y por último el modelo de DR sobre Azure, que permite replicar sus bases de datos a Azure y soportar una caída de gran alcance en su sede física.

 

También tenemos la redirección de conexiones, una funcionalidad que permite que las conexiones de las aplicaciones se dirijan a la réplica principal independientemente del servidor de destino especificado.

 

En esta versión de SQL Server 2019 también se presenta una versión de recuperación acelerada de base de datos, en la que se optimizan la puesta en marcha tras un reinicio, o tras un rollback de una operación de ejecución prolongada, mejorando notablemente los tiempos de recuperación del servicio y beneficiando especialmente los entornos con un solo servidor o con múltiples servidores, pero una gran carga de trabajo.  

 

Relacionado con esto último, también podemos encontrar ventajas como la compilación y el redeploy en línea de índices del almacén de columnas o en líneas en clúster y por último la suspensión y reanudación del examen inicial de cifrado de datos transparente.

¿Qué podemos decir de configuración y rendimiento?

 

En este apartado, no vamos a entrar en las grandes ventajas que nos proporciona esta versión en lo que respecta a rendimiento, sino que vamos a ir más a opciones de configuración que tenemos disponibles y algunos temas puntuales.

 

Por un lado, tenemos nuevas opciones de configuración de memoria, que permiten establecer una memoria correctamente dimensionada en lo que respecta a uso y aprovechamiento de la memoria. También tenemos el nuevo paralelismo y sus opciones de configuración, que nos permite optimizar la base de datos durante su instalación.

 

Llegados a este punto, no nos queda otra que hablar de la base de datos inteligente de la que tanto habla Microsoft. SQL Server mejora los soportes para esta tecnología para proporcionar una mejora de rendimiento inmediato. Presenta muchas características que van encaminadas en este sentido, como los relacionados con el procesamiento de consultas, en el que podemos hablar de funcionalidades como la inserción de UDF escalares, la compilación diferida de las variables de tabla, el modo por lotes en el almacén de filas o la concesión de memoria en modo fila.

 

También mejora notablemente la gestión de memoria de la base de datos, usando las ventajas que nos brinda el hardware actual, dándonos, por ejemplo, grupos de búferes híbridos, optimización de los tempdb frente a la memoria, o la compatibilidad de OLTP en memoria mediante el uso de instantáneas de datos.

 

Por último, también nos brinda otras mejoras como la regulación de recursos, la escalabilidad de puntos de control, las actualizaciones de PFS simultaneas, etc.

 

 

¿Una sola plataforma?

 

Otro punto de gran interés es que desde que apareció SQL Server 2017, se permite correr este motor de base de datos sobre distintas plataformas, ya no se ejecuta solo en Windows, sino que se puede ejecutar sobre GNU/Linux o sobre contenedores.

 

SQL Server 2019 sigue este mismo camino, pero mejora las prestaciones y funcionalidades disponibles, pudiendo citar para GNU/Linux: mejoras en la gestión de los temporales, compatibilidad con la captura de datos modificados, servicios de machine learning, compatibilidad con OpenLDAP de terceros, compatibilidad con la coordinación de transacciones distribuidas de Microsoft, compatibilidad con la replicación.

 

Mientras que para Contenedores se pueden citar: Contenedores no raíz, imágenes certificadas por RedHat (referente del mundo Linux), compatibilidad con PolyBase y machine learning y el registro de contenedores de Microsoft.

¿Y en la parte de desarrolladores?

 

SQL Server proporciona distintas herramientas destinadas a mejorar la experiencia de desarrollo y administración, incluyendo por ejemplo las mejoras en los mensajes de error, preparando una mejor gestión de los errores en operaciones de ETL (Extracción Transformación y Carga) reduciendo el tiempo de traza en la resolución de un problema.

 

Por otro lado, se introducen extensiones del lenguaje SQL y un nuevo DDL (lenguaje de definición de datos) que permite a su vez hacer uso de lenguajes externos como Java, que toma especial relevancia en esta versión. Y hablando de Java, es sin duda esta la que más mejoras trae, contándose hasta seis mejoras en la parte de desarrollo.

 

Por último, se actualizan elementos todo los relacionados con el SDK de Java, que mejora respecto a los anteriores de manera notable, lo cual beneficia a los desarrolladores y les proporciona un mejor entorno de desarrollo.

 

 

¿Nos dejamos alguna mejora o novedad en el tintero?

 

En esta versión de SQL Server 2019 tenemos una gran cantidad de mejoras por lo que es imposible revisar todo en profundidad, de hecho, cuando escribía este artículo, estaba pesando que daría para 4 o 5 artículos, porque podría escribir un artículo por cada uno de los apartados; pero bueno, tenemos el espacio que tenemos ahora mismo, por lo que vamos a citar algunos otros temas que aún no hemos reflejado:

 

Tenemos distintas opciones servicios de machine learning, como los modelos basados en partición o poder aprovechar los clústeres de conmutación por error de Windows Server para estas tareas.

 

También encontramos mejoras en lo que respecta a SQL Server Analysis Services, mostrando grupos de cálculo de modelos tabulares, relaciones de varios a varios en las relaciones tabulares, ciertas mejoras relacionadas con PowerBI e incluso con la gestión de la gobernanza de datos y un largo etc.

¿Hay problemas con SQL Server 2019?

 

Pero no todo son alegrías en lo que respecta a SQL Server 2019, y de hecho se han encontrado múltiples errores, problemas y fallos a lo largo de sus dos años de vida. A continuación, vamos a hablar de algunos de ellos.

 

El primero del que podemos hablar es de los problemas de instalación que pueden presentarse al trabajar con SQL Server 2019 y SQL Server Management Studio (SSMS) 18.x que puede presentar problemas en la instalación. Esto se debe a un pequeño problema con la versión 18.0.x a 18.3.0 y que se soluciona en las versiones 18.3.1 y superiores.

 

Por suerte, como casi todos los problemas que presentan los productos de Microsoft, es fácilmente solucionable haciendo uso de las actualizaciones de versión, pero en este caso requiere de una desinstalación manual de SSMS para poder instalar la última versión sin problema.

 

También existe un problemarelacionado con lasnotificaciones, concretamente con el correo electrónico de notificación de Master Data Services, que contiene un vínculo roto en la versión RTM, y cuya solución, pasa por acceder al recurso de manera manual. Esto me recuerda a ciertos problemas que ya se produjeron en la versión de System Center Service Manager 2016 e incluso en el propio SQL Server 2016.

 

Otro de los problemas que se ha detectado es el relacionado con las intercalaciones habilitadas para UTF-8, con las características de tablas OLTP en memoria y con la funcionalidad de Always Encrypted. Esto también se da en algunas versiones, sobre todo en las versiones preliminares, solucionándose en las últimas versiones o mediante actualizaciones.

 

Como podemos ver, se cumple la regla de que con la última versión todo va un poco mejor.

 

 

 

Conclusiones:

 

A la espera de la disponibilidad pública de SQL Server 2022, la versión actual, que ya lleva dos años en el mercado está más en forma que nunca. Nos presenta grandes ventajas frente a sus predecesores, sobre todo en el campo de la seguridad y la continuidad de negocio, cosas que, quizá por deformación profesional, me parecen los puntos más importantes.

 

Su rediseño a nivel de gestión de recursos, especialmente de memoria hace que este producto sea realmente óptimo para la gestión de bases de datos y la posibilidad de ser desplegado tanto en sistemas Windows como GNU/Linux como en contenedores hace que pueda llegar a un amplio abanico de empresas.

 

Como siempre, y lo hemos visto un poco más arriba, una vez más, este producto nos ratifica la importancia de disponer de las últimas actualizaciones de producto, para evitar problemas, errores e incluso incompatibilidades.

 

En líneas generales, podemos decir que se trata de un buen producto y que Microsoft continúa afianzándose como un serio proveedor de software y servicios.  

Categorías: Sysadmin, Cloud y sistemas

SQL Serverbase de datosSQL
Otros posts que te pueden interesar

Review técnica de SQL Server 2022

15 de diciembre de 2021

Durante la pasada edición de Ignite 2021, el mayor evento de novedades de Microsoft, celebrado el pasado mes de noviembre, el gigante de Redmond anunció el lanzamiento de Microsoft SQL Server 2022, la nueva versión de su Sistema de Gestión de Base de Datos, que prometía traer grandes novedades y ava

Los 20 mejores Blogs que todo Administrador de Sistemas debería seguir en 2019

11 de abril de 2019

Análisis de los 20 mejores blogs para Administradores de Sistemas en 2019. Analizamos el número de visitas, seguidores, tipo de contenido y mucho más para que los visites y leas con criterio. Una parte importante del rol del Administrador de Sistemas es mantenerse al día en lo relativo a las

Primer vistazo a Windows Server 2022

3 de diciembre de 2021

Hace escasamente un mes, el gigante de Redmond lanzo su nuevo sistema operativo de servidor, Windows Server 2022 y lo lanzó sin mucho boato, de hecho, fue un lanzamiento inicialmente silencioso al que pasados unos días le siguieron algunos eventos online. Esto se aleja bastante de la tónica habitual