Dado que SQL Server 2012 dejó de recibir soporte estándar el 11 de julio de 2017 y SQL Server 2014 dejará de recibir soporte estándar el 9 de julio de 2019, y dado que tanto SQL Server 2008 como SQL Server 2008 R2 dejarán de recibir soporte extendido el El 9 de julio de 2019, he tenido un número cada vez mayor de clientes que planean actualizar estas versiones heredadas de SQL Server a una versión más moderna (ya sea 2016 o 2017).
Si está considerando una actualización a una versión moderna de SQL Server, ¿debería pasarse a SQL Server 2016 o a SQL Server 2017? Mi guía general sería preferir SQL Server 2017 en la mayoría de los casos, a menos que tenga una razón válida y tangible para no hacerlo. Por ejemplo, si tiene un software de terceros que explícitamente no es compatible con SQL Server 2017, eso podría ser un bloqueo (aunque intentaría hablar con su proveedor de software al respecto).
Entonces, ¿por qué debería preferir SQL Server 2017? Aquí hay una serie de razones en varias categorías diferentes.
Nuevas características del motor en SQL Server 2017
Aunque gran parte del trabajo de desarrollo en SQL Server 2017 se dedicó a crear una versión que se ejecuta en varias distribuciones de Linux diferentes, todavía hay una serie de funciones nuevas y útiles del motor en SQL Server 2017.
Una nueva función útil es la Corrección automática de planes (que se basa en la función Almacén de consultas que se introdujo en SQL Server 2016). Esta característica ayuda a detectar y corregir automáticamente muchos problemas de estabilidad del plan de consulta. Mi colega, Erin Stellato, ha escrito sobre la corrección automática del plan y cómo funciona en SQL Server 2017 Enterprise Edition y Azure SQL Database con mucho más detalle.
Otra característica nueva es el Procesamiento de consultas adaptable (AQP) (que está habilitado con el modo de compatibilidad 140), que es muy útil para las operaciones en modo por lotes que se usan con índices de almacén de columnas. AQP tiene tres componentes, que incluyen retroalimentación de concesión de memoria adaptativa en modo por lotes, uniones adaptativas en modo por lotes y ejecución intercalada para funciones con valores de tabla de instrucciones múltiples.
¡También hay una serie de mejoras de diagnóstico y solución de problemas que hacen que la vida de un DBA sea mucho más fácil! Estos incluyen múltiples mejoras del Showplan que son muy útiles para el ajuste de consultas, junto con varios DMV nuevos que son útiles para la resolución de problemas de diagnóstico. Query Store es aún más eficiente en SQL Server 2017 en comparación con SQL Server 2016.
También hubo varias mejoras "impulsadas por la comunidad" en SQL Server 2017, como la copia de seguridad diferencial inteligente, la copia de seguridad del registro de transacciones inteligente, el rendimiento mejorado de la copia de seguridad para bases de datos pequeñas en servidores de gama alta y el diagnóstico y la supervisión tempdb mejorados.
Mejoras en la replicación
Microsoft ha hecho posible proteger una base de datos de distribución remota en un grupo de disponibilidad con SQL Server 2017 CU6. También agregaron la capacidad de recargar dinámicamente los parámetros del perfil del agente de transacciones en SQL Server 2017 CU3. Esto hace que sea mucho más fácil ajustar y mantener su topología de replicación que en el pasado.
Asistencia técnica de Microsoft
Una vez que una versión principal de SQL Server queda fuera del soporte estándar, no hay más Service Packs ni actualizaciones acumulativas. Solo se publican actualizaciones de seguridad mientras la versión principal está en soporte extendido. Una vez que finaliza el soporte extendido, no hay más actualizaciones a menos que compre Microsoft Premium Assurance (que solo está disponible para SQL Server 2008 y posteriores).
Una evidencia reciente de esta política es el hecho de que Microsoft no lanzará un parche de seguridad de Spectre/Meltdown para SQL Server 2005. Una vez que el Reglamento general de protección de datos (RGPD) entre en vigencia el 25 de mayo de 2018, las versiones anteriores de SQL Server serán más vulnerables con el tiempo, ya que quedan fuera del Soporte de Microsoft.
SQL Server 2017 será totalmente compatible durante aproximadamente 15 meses más que SQL Server 2016. Microsoft tiene una página con muchos recursos sobre el final del soporte para SQL Server 2008 y 2008 R2.
Las fechas de finalización del soporte estándar y extendido para todas las versiones recientes de SQL Server se muestran en la Tabla 1.
Versión del servidor SQL | Fin del soporte estándar | Fin del soporte extendido |
---|---|---|
Servidor SQL 2005 | 12 de abril de 2011 | 12 de abril de 2016 |
Servidor SQL 2008 Servidor SQL 2008 R2 | 8 de julio de 2014 | 9 de julio de 2019 |
Servidor SQL 2012 | 11 de julio de 2017 | 12 de julio de 2022 |
Servidor SQL 2014 | 9 de julio de 2019 | 9 de julio de 2024 |
Servidor SQL 2016 | 13 de julio de 2021 | 14 de julio de 2026 |
Servidor SQL 2017 | 11 de octubre de 2022 | 12 de octubre de 2027 |
Política de servicio de Microsoft
Microsoft SQL Server 2017 se lanzó el 2 de octubre de 2017 y, hasta el momento, se han publicado seis actualizaciones acumulativas de SQL Server 2017. Microsoft ha adoptado lo que ellos llaman el "Modelo de servicio moderno" para SQL Server 2017, lo que significa que no habrá Service Packs para SQL Server 2017 o versiones futuras.
En su lugar, habrá Actualizaciones acumulativas mensuales durante el primer año y luego Actualizaciones acumulativas trimestrales durante los siguientes cuatro años. Esto significa que los defectos se solucionarán mucho más rápidamente durante el primer año después del lanzamiento. SQL Server 2017 se lanzó lo suficiente como para considerarlo bastante estable.
Microsoft no solo corrige defectos específicos en las actualizaciones acumulativas, sino que también lanza nuevas funciones y otras mejoras del producto, que a menudo se centran en mejorar el rendimiento. Aquí está la lista de actualizaciones y mejoras para SQL Server 2017, a partir de CU6.
- Actualización para admitir la eliminación de particiones en planes de consulta que tienen índices espaciales en SQL Server 2016 y 2017
- Mejora:habilite el mecanismo de "vaciado forzado" en SQL Server 2017 en Linux
- Un mejor paralelismo intraconsulta bloquea la resolución de problemas en SQL Server 2017
- Mejora el rendimiento de la consulta cuando se aplica un filtro de mapa de bits optimizado a un plan de consulta en SQL Server 2016 y 2017
- Mejora:mejora el rendimiento de SQL Server 2017 en sistemas más pequeños
Servidor SQL 2017 CU3
- La actualización agrega soporte para la opción MAXDOP para las declaraciones CREATE STATISTICS y UPDATE STATISTICS en SQL Server 2017
- Mejore el diagnóstico de derrames de tempdb en DMV y eventos extendidos en SQL Server 2017
- La actualización permite que XML Showplans proporcione una lista de estadísticas utilizadas durante la optimización de consultas en SQL Server 2017
- La actualización agrega estadísticas de ejecución de una función definida por el usuario con valores escalares al archivo Showplan XML en SQL Server 2017
- La actualización agrega información sobre el objetivo de la fila del optimizador en los planes de ejecución de consultas en SQL Server 2017
- La actualización habilita la tecnología PolyBase en SQL Server 2016 y 2017
- La actualización agrega la configuración de tiempo de espera de la CPU al grupo de trabajo del regulador de recursos REQUEST_MAX_CPU_TIME_SEC en SQL Server 2017
Servidor SQL 2017 CU2
- Actualización para el procedimiento de limpieza de seguimiento de cambios manual en SQL Server 2017
- Mejora:mejoras generales en el proceso de limpieza del seguimiento de cambios en SQL Server 2017
- La actualización agrega un nuevo evento extendido "marked_transaction_latch_trace" en SQL Server 2017 en Linux y Windows
- Mejora del rendimiento del filtro espacial intermedio en SQL Server 2017
Servidor SQL 2017 CU1
- Actualización para mejorar el rendimiento de las vistas de administración dinámica de almacén de columnas "column_store_row_groups" y "dm_db_column_store_row_group_physical_stats" en SQL Server 2016 o 2017
- Agregue la capacidad de deshabilitar o habilitar algunos DMV y DMF nuevos introducidos en SQL Server 2017
- Mejora:se agrega una nueva palabra clave a las declaraciones CREAR y ACTUALIZAR ESTADÍSTICAS para mantener la tasa de muestreo para futuras actualizaciones de estadísticas en SQL Server
Aunque podría pensar que SQL Server 2017 era "solo un puerto de Linux", en realidad hay muchas mejoras del mundo real en el motor de base de datos central que beneficiarán a todas las plataformas. Microsoft continúa agregando funciones adicionales al producto en las actualizaciones acumulativas de SQL Server 2017, y SQL Server 2017 será totalmente compatible con Microsoft durante un período de tiempo más largo que SQL Server 2016.