Review SQL Server 2019

Review técnica: SQL Server 2019

Compartir

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 ventajasdesventajas 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 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:Cloud y sistemas, Recursos Sysadmin

Bases de datos SQL SQL Server

Otros posts que te pueden interesar

12 de julio de 2024
A lo largo de las siguientes líneas vamos a hacer una breve review de Windows Server 2025 en la
3 de julio de 2024
Disaster Recovery de Jotelulu es una solución diseñada pensando en la pyme. ¿Qué argumentos debería utilizar la empresa de
2 de julio de 2024
Continúa leyéndonos si quieres saber cuáles son las principales claves para entender un plan de Disaster Recovery con JOTELULU.

Rellena el formulario y nuestro equipo de Sales contactará contigo lo antes posible.

growth@jotelulu.com  |  +34 911 333 712  |  jotelulu.com 

Puedes darte de baja de estas comunicaciones en cualquier momento.  Consulta nuestra Política de privacidad.

Precios competitivos para la pyme y mucho más margen para el partner

Disaster Recovery ha sido diseñado, implementado y puesto en producción teniendo en cuenta dos premisas: Debe tener un precio atractivo para la pyme a la vez que deja un buen margen de beneficio a la empresa de IT que lo comercializa y gestiona.

DR_buen_precio_y_mas_margen

De esta manera, Disaster Recovery pretende ser un producto diferencial que permita incrementar la seguridad de todo tipo de empresas de manera asequible e implicando, además, rentabilidad para el distribuidor que lo comercializa.

Protege la infraestructura de tus clientes

Disaster Recovery permite replicar cualquier suscripción de infraestructura (Escritorio Remoto y Servidores) en otra zona de disponibilidad creando un entorno de alta disponibilidad y blindando así el servicio.

Replica en pocos pasos no sólo los discos sino todos los elementos que forman parte de cada suscripción:

  • Servidores: Instancias, discos, reglas de firewall, redes, IPs…
  • Escritorio Remoto: Usuarios, Aplicaciones, Licencias, Personalización…
DR_blinda_la_infraestructura

Tratamos de hacer fácil lo difícil

Las herramientas de Disaster Recovery existentes necesitan de conocimientos avanzados para poder ser gestionadas, implicando, muchas veces, un expertise difícil de alcanzar.

 

Disaster Recovery de Jotelulu busca hacer fácil lo difícil y plantea un despliegue muy sencillo basado en una configuración de tres pasos:

Origin (Primary Site)
Determina la ubicación de origen de la suscripción sobre la que se va a establecer el servicio de Disaster Recovery.

Destino (Recovery Site)
Establece la ubicación de destino (zona de disponibilidad) en la que quieres que se despliegue el Recovery Site.

Características de la réplica
Establece los datos asociados al número de copias que se quieren guardar y la frecuencia con la que se va a llevar a cabo la réplica.