Hay muchas razones para considerar una actualización a SQL Server 2016. La mayoría de las veces, estas razones varían según la versión de SQL Server de la que provenga. Esta no será una lista exhaustiva, pero daré algunas razones que me vienen a la mente. Incluyendo una gran razón por la que acabamos de enterarnos con el lanzamiento de SQL Server 2016 SP1 en noviembre de 2016. Espero ver otras respuestas para la expansión o características que me perdí.
Gran razón: muchas características disponibles en la edición estándar ahora
El 16 de noviembre de 2016, Microsoft anunció el lanzamiento del Service Pack 1 para SQL Server 2016. Junto con este anuncio, también anunciaron que muchas características previamente reservadas para los clientes de Enterprise Edition estarían disponibles en todas las ediciones de SQL Server - Standard, Express (con algunas excepciones), Web además de Enterprise Edition.
Esto debería ser una razón muy convincente para actualizar a los proveedores de software que desarrollan y venden software que tiene un servidor SQL Server; muchas características ahora pueden estar disponibles para sus clientes independientemente de su edición con licencia de SQL Server. Esto también es convincente para las empresas en sectores que deben mantener auditorías u otras mejoras de seguridad que se han agregado al producto a lo largo del tiempo.
En mi humilde opinión, en más de 17 años de trabajo con SQL Server, esto hace que SQL Server 2016 SP1 sea posiblemente la actualización más convincente desde que comencé a trabajar con SQL Server en la versión 6.5. (¡No me malinterpreten, el 2000, 2005 y 2012 también tuvieron sus ventajas para su época!)
Mire la lista a continuación, pero solo como un ejemplo rápido de algunas de las características que ahora puede usar en la Edición estándar, tiene estas: Compresión, Cambio de captura de datos, Auditoría detallada, Seguridad a nivel de fila, Siempre cifrado, Particionamiento, Base de datos Instantáneas, OLTP en memoria, almacén de columnas.
Razones específicas para las nuevas características de SQL Server 2016
Estoy tratando de mantener las razones aquí en esta sección para las características introducidas en SQL Server 2016 solamente. También solo describo las mejoras principales del motor en esta respuesta, no informes, análisis, integración de datos, etc.
Seguridad relacionada
Seguridad a nivel de fila : tengo muchos clientes que buscan implementar la seguridad fila por fila. "El usuario x puede ver datos en esta fila, pero no en esa fila". Muchos de esos clientes han creado funciones y / o estructuras basadas en vistas complicadas para lograr esto. En SQL Server 2016 hay predicados integrados y políticas de seguridad disponibles para ayudar aquí. Puede leer más sobre RLS aquí .
Enmascaramiento dinámico de datos : este suena muy bien en papel, pero me pregunto si será menos útil que los otros dos cambios en el área de seguridad. Básicamente, puede enmascarar u ofuscar dinámicamente los datos en el momento de la consulta en función de los permisos de la persona que llama. La cantidad de datos a ofuscar es algo programable. Por ejemplo, en el ejemplo que usa Microsoft, podría enmascarar todos menos los últimos cuatro dígitos de un número de Tarjeta de crédito para que un receptor de llamadas en un centro de llamadas pudiera verificar esos cuatro últimos dígitos. Puedes leer más sobre eso aquí .
Siempre cifrado : tal vez haya escuchado sobre algunos de los defectos o inquietudes sobre el cifrado de datos transparente. Quizás no desee utilizar TDE por temor a que alguien con acceso a SA pueda descifrar definitivamente si así lo desea. Always Encrypted se lanzó como una característica que pone la capacidad de descifrado / cifrado en manos de la aplicación que llama a SQL Server. Los datos en reposo en SQL Server están encriptados. Los datos en vuelo que se dirigen a SQL Server también se cifran como resultado de este enfoque. Puede leer más sobre Siempre cifrado aquí .
Características de HA / DR
Algunas características salieron aquí. Una es la capacidad de usar Grupos de disponibilidad siempre activa en SQL Server Standard: el Grupo de disponibilidad básica. Esto fue necesario ya que Mirroring está en desuso y no tuvo reemplazo. La funcionalidad se limita al número de réplicas y al enfoque para la sincronización. Puedes leer más aquí .
Ese no es el único cambio en los Grupos de disponibilidad (que, por cierto, se introdujeron en SQL Server 2012). También hay algunos otros cambios (puede ver la lista exhaustiva con enlaces a otros cambios aquí ):
- Se admiten cuentas de servicio administrado de grupo.
- Se admiten transacciones distribuidas (con algunas advertencias ).
- Las conexiones de intención de lectura se pueden equilibrar en carga entre las réplicas de solo lectura.
- Ahora pueden participar tres réplicas en failovers automáticos.
- Las bases de datos cifradas ahora pueden participar en un grupo de disponibilidad siempre activo.
- Mejoras de rendimiento: parte del tema de SQL Server 2016 es "es más rápido", ese es el giro de Microsoft Marketing, pero está demostrando en el mercado. Se realizaron varias mejoras en el rendimiento del grupo de disponibilidad.
El instalador corrige algunos errores comunes
El instalador de SQL Server que comienza en SQL Server 2016 corrige algunos errores comunes cometidos al configurar TempDB. La GUI de configuración lo guía a través de la configuración de mejores prácticas ahora.
Tienda de consultas
Un favorito entre los MVP y sintonizadores de SQL Server. Esta característica es una herramienta para brindarle información sobre cómo el motor ejecuta las consultas. Especialmente útil en el seguimiento de problemas de rendimiento causados por cambios en los planes de consulta a lo largo del tiempo. Esta puede ser una herramienta para ver, pero también una herramienta para arreglar. Ayuda a simplificar algunos conceptos de ajuste de rendimiento. Puedes leer más sobre eso aquí .
Tablas temporales
A menudo veo la necesidad de hacer una pregunta como "¿Cómo se veían estos datos a partir de tal y tal fecha?". Las tablas temporales son un método para hacerlo. Definitivamente tiene algunos casos de uso de almacenamiento. Ver más aquí .
Mejoras en el almacén de columnas
Tres grandes mejoras para mí aquí entre un par de otros. Uno son los índices de almacén de columnas no agrupados actualizables. SQL Server 2014 nos dio clústeres actualizables, pero ahora tenemos actualizables no agrupados. SQL Server 2016 también permite índices de almacén de columnas en tablas OLTP en memoria. Y la capacidad de colocar un índice tradicional no agrupado de árbol B en un índice de almacén de columnas agrupado ahora existe en SQL Server 2016.
Mejoras de características adicionales en OLTP en memoria
Varias de las funciones que no eran compatibles dentro de las tablas en memoria o en los procedimientos compilados de forma nativa ahora están disponibles. Algunas adiciones (pero vea este artículo para más información): restricciones ÚNICAS, restricciones de verificación, cláusula OUTPUT en DML, unión externa, subconsultas en la lista de selección, SELECCIONAR DISTINTO, UNIÓN / UNIÓN TODAS, y más.
Mejoras generales de rendimiento
SQL Server 2014 realizó algunas mejoras en el rendimiento en varias áreas clave a medida que cada versión lo hace. SQL Server 2016 realizó mejoras clave adicionales en todo el producto. Eso incluye eliminar para muchos clientes parte del dolor que a veces se encuentra al actualizar a SQL Server 2014 debido a los cambios del estimador de cardinalidad. Se hicieron varios cambios arriba y abajo del motor para mejorar el rendimiento diario. El equipo CSS de Microsoft ha estado blogueando sobre esto en su blog. Puede buscar "SQL Server 2016 simplemente se ejecuta más rápido". Una publicación de blog de ejemplo para esta serie está aquí .
He visto esto en clientes que han actualizado y esperan verlo cada vez más.
Algunas desventajas
Obviamente, hay inconvenientes para cualquier actualización. Podría ser porque hago esto para vivir como consultor, pero creo que los inconvenientes son increíblemente manejables y realmente solo los considero elementos de "contar el costo primero" para tener en cuenta y manejarlos.
Actualizaciones en general : en general, las actualizaciones significan que está introduciendo una nueva funcionalidad. Necesitas poder probarlos. Entre las versiones de SQL Server, varias características están en desuso. Esto no significa que desaparezcan de inmediato, pero significa que pueden hacerlo en futuras versiones, a menudo tres versiones más tarde. Por ejemplo, el tipo de datos TEXT, o hacer las uniones externas en la cláusula where con *=
o=*
la sintaxis no es compatible si proviene de una base de datos que se ejecuta en modo de compatibilidad de SQL Server 2000. Hablando de modos de compatibilidad, solo retroceden tres versiones también. Entonces, si tiene una base de datos que se ejecuta en los modos de compatibilidad 80 (SQL Server 2000) o 90 (SQL Server 2005), no pueden pasar a SQL Server 2016 de esa manera. Entonces, si ha estado evitando hacer esa prueba y escabullirse los niveles de compatibilidad, es hora de calcular.
Otra vez. Eso es algo fácil. Existen herramientas para ayudar a capturar y probar datos para ver qué interrupciones. Hay contadores de perfmon que pueden ayudar a buscar funciones obsoletas.
Licencias : dos cosas aquí:
- Basado en el núcleo: si está acostumbrado a los términos de licencia de SQL Server 2012 anteriores, las licencias de CPU eran solo eso: licencias de CPU. Desde SQL Server 2012, las licencias basadas en CPU se han basado en el núcleo. Entonces hay un período de ajuste allí. También Enterprise para nuevas licencias (con algunas excepciones que se hicieron cuando 2012 se lanzó por primera vez) debetener licencia en el nivel central, sin servidor + CAL para la empresa. El brillo plateado en esta nube aquí es lo que dije sobre SP1 que permite características empresariales en SKU no empresariales. Si necesita más de 128 GB de RAM. Si necesita escaneos avanzados, mejoras en el rendimiento. Si necesita más de 32 GB de RAM para un almacén de columnas o en memoria, está buscando Enterprise. Si no lo haces ¿Y no necesita reconstrucciones de índices en línea? Standard puede ser solo para usted, y puede ser más para usted ahora con esas características recientemente disponibles para usted.
- Software Assurance (SA): si no compró SA, debe comprar uno nuevo. Por lo tanto, si está ejecutando SQL Server 2005 y le preocupa no tener el soporte principal, no muy lejos del final del soporte extendido y desearía tener las funciones disponibles ahora, no puede simplemente actualizar como un Service Pack. Si nunca compró SA, entonces su actualización es una compra nueva. Está bien, realmente vale la pena. Pero es algo que tiene que golpear el presupuesto.
Resumen
Hay muchas más razones, como el soporte de JSON, la introducción de R, etc. Pero estas son solo algunas de las razones por las que consideraría una actualización. El elemento más importante, una vez más, es la capacidad de usar muchas características anteriores de Enterprise Edition solo en Standard, o incluso Express. He visto grandes historias de éxito entre mis clientes y espero ver más.
Y si está utilizando SQL Server 2005 o 2008, la lista es aún más grande. Los grupos de disponibilidad AlwaysOn salieron en 2012, los índices de almacén de columnas en SQL Server 2012, OLTP en memoria en SQL Server 2014, etc.
Sin mencionar que si todavía está en SQL Server 2005 o 2008, está fuera del soporte principal.