sql >> Base de Datos >  >> RDS >> Sqlserver

Un gran problema:SQL Server 2016 Service Pack 1

Bueno, no puedo afirmar que lo hayas escuchado aquí primero, ya que Scott Guthrie (@ScottGu lo anunció hoy) ) en Conectar(); // 2016 y también en el blog del equipo de SQL Server , pero SQL Server 2016 Service Pack 1 es la compilación de SQL Server que finalmente hará que casi todos actualicen desde todas las versiones anteriores.

¿Por qué? Bueno, espero que estés sentado:

Muchas funciones empresariales ahora están disponibles en Estándar, Web y Express.

Esta es una GRAN OFERTA.

Durante mucho tiempo he sido un defensor de hacer que el área de superficie sea la misma en todas las ediciones y de restringir cada edición a los límites de hardware/recursos. Este último ya es el caso con Express Edition (1 CPU, 1 GB de memoria, 10 GB de tamaño de base de datos) y Standard Edition (24 núcleos, 128 GB), pero las características en sí mismas simplemente no existen allí. Si bien agregaron algunas funciones en torno a los grupos de disponibilidad (soporte limitado en la edición estándar y la capacidad de renunciar a un dominio), muchas de las funciones que actualmente son solo empresariales no parecen ser empresariales en absoluto. Aquí hay algunas razones y consecuencias de poner tantas características críticas solo en Enterprise, al menos en mi opinión:

  1. Seguridad de datos parece haber pasado a un segundo plano en los últimos años. Debería estar en todas las ediciones; Me decepcionó cuando se lanzó Always Encrypted y se restringió a Enterprise. El mensaje implícito era que, si es una pequeña empresa, no necesita poder cifrar los datos de la tarjeta de crédito (dicen lo mismo con el Cifrado de datos transparente, pero Always Encrypted es una oferta mucho más valiosa).
  2. Características de programabilidad que la luz de la luna como características de rendimiento, como la compresión de datos y el particionamiento, se encuentran posiblemente en el lado empresarial de las cosas, aunque siempre he sentido que el punto óptimo de la compresión de datos es la pequeña empresa que no puede permitirse simplemente agregar memoria, comprar discos más rápidos, o actualice a Enterprise.

    En las versiones actuales, cuando un proveedor desea aprovechar la compresión o el particionamiento, debe tener en cuenta que no todos sus clientes utilizarán Enterprise Edition. Del mismo modo, los clientes quieren usar la misma base de código en sus entornos de control de calidad, producción y desarrollo, pero es posible que no todos tengan la misma edición. Tanto los proveedores como los clientes también quieren poder usar las funciones que están disponibles tanto en la nube como en la caja, independientemente del nivel o la edición. Actualmente, necesitan escribir varias bases de código o simplemente rendirse al mínimo común denominador.
  3. Las tasas de adopción son lentas porque, en muchos aspectos, las actualizaciones de la Edición estándar han estado lejos de ser convincentes en los últimos años, lo que significa que muchas personas están satisfechas con sus instancias estándar de 2012. Simplemente no ganan mucho al cambiar a una versión más reciente y, en muchos casos, el costo de probar una migración y lidiar con las regresiones en realidad supera cualquier beneficio.

Colegas como Brent Ozar y Steve Jones han tenido pensamientos similares, argumentando que las mejores funciones permanecen excluidas de las ediciones estándar y más bajas por razones de ingresos, pero no es así como debería ser.

Y ahora no lo es.

Característica Estándar/Web Exprés Base de datos local
Cifrado siempre
Cambiar captura de datos
Columnstore
Compresión de datos
Instantáneas de la base de datos
Enmascaramiento dinámico de datos
Auditoría detallada
OLTP en memoria
Múltiples contenedores de flujo de archivos
División
PolyBase
Seguridad a nivel de fila

1. Limitado a 32 GB por instancia en Standard Edition, 352 MB en Express.
2. Limitado a 32 GB por base de datos en Standard Edition, 352 MB en Express.

No tengo ninguna evidencia de esto, pero creo que debido a las lentas tasas de adopción de SQL Server 2016, y específicamente de Standard Edition, Microsoft finalmente ha escuchado . Tal vez se hayan dado cuenta de que hacer que tantas funciones atractivas solo estén disponibles en Enterprise Edition no funciona. Dicen que no se puede sacar sangre de una piedra.

La siguiente tabla muestra el conjunto de funciones ahora habilitadas fuera de Enterprise Edition (algunas funciones ya estaban allí en Standard, pero no tenía una buena manera de ilustrarlo). Solo tiene que ser una tabla debido a tres características que no funcionan en Express y/o LocalDB (debido al Agente SQL Server, permisos o dependencias externas).

Esa es mi hoja de trucos rápida; consulta la documentación para las últimas actualizaciones. He probado la mayoría de las funciones y funcionan como cabría esperar, no para trivializar el esfuerzo, pero simplemente eliminaron las comprobaciones que bloqueaban la funcionalidad según la edición. Pensé en hacerles tropezar probando más allá de lo básico, como estadísticas incrementales en tablas particionadas y combinaciones como Columnstore en una tabla comprimida, para ver si se les escapaba algo. Pero no, todo en la tabla funcionó como si estuviera ejecutando Enterprise Edition.

Dicho esto, el enfoque aquí fue para un área de superficie de programación consistente (CPSA). Así que no, de repente no obtendrá todos los beneficios de Enterprise Edition de forma gratuita o con un descuento sustancial; consulte a continuación las funciones que no funcionarán. Y algunas de las funciones anteriores aún pueden tener una escala limitada según la edición.

No obstante, esto proporciona una gran solución para el n. ° 2 anterior:tener muchas de estas características que funcionen en todas las ediciones, incluso si admiten diferentes niveles de escala, facilitará tanto a los clientes como a los proveedores crear soluciones que funcionen sin importar dónde se encuentren. están desplegados. Esto va a ser una gran victoria, incluso más allá del beneficio puro de finalmente poder usar cosas como Always Encrypted y particionar en todas partes.

¿Qué sigue diferenciando a las ediciones?

Esencialmente, si antes era una característica operativa o de disponibilidad de nivel empresarial, o dentro de un determinado conjunto de características de rendimiento, permanecerá como tal. La siguiente no es una lista exhaustiva, pero probablemente captura la mayoría de las grandes diferencias:

  • Funciones de disponibilidad como las operaciones en línea, la restauración por etapas y los grupos de disponibilidad completamente funcionales (por ejemplo, réplicas de solo lectura) siguen siendo solo para empresas. Deseo el REBUILD + (ONLINE = ON) la sintaxis podría funcionar como no operativa en ediciones inferiores con una advertencia en lugar de devolver un error, pero no puedo ser demasiado quisquilloso aquí.
  • Funciones de rendimiento como el paralelismo aún no funcionará en Express Edition (o LocalDB). Uso automático de vistas indexadas sin NOEXPAND las sugerencias y las características de gama alta, como agregar memoria/CPU en caliente, seguirán estando disponibles solo en Enterprise.
  • Características operativas como Resource Governor, Extensible Key Management (EKM) y Transparent Data Encryption seguirán siendo solo Enterprise Edition. Otros, como Backup Encryption, Backup Compression y Buffer Pool Extension, seguirán funcionando en Estándar, pero seguirán sin funcionar en Express.
  • Agente SQL Server aún no está disponible en Express y LocalDB. Como resultado, y como se indicó anteriormente, Change Data Capture no funcionará. Service Broker entre servidores tampoco está disponible en estas ediciones.
  • OLTP en memoria y PolyBase son compatibles con Express, pero no están disponibles en LocalDB.
  • Derechos de virtualización no han cambiado y siguen siendo mucho más valiosos en Enterprise Edition con Software Assurance.
  • Límites de recursos en ediciones de nivel inferior sigue igual . Parece que los contadores de frijoles todavía controlan el límite de memoria superior en la Edición estándar, por lo que sigue siendo de 128 GB (mientras que la Edición empresarial ahora es de 24 TB). Personalmente, creo que este límite superior debería generar ganancias incrementales con cada nueva versión (Ley de Moore), porque creo que la Edición estándar es lo suficientemente costosa como para que sus límites de memoria nunca estén tan peligrosamente cerca del límite superior de una computadora portátil bien equipada. Pero tomaré lo que pueda obtener, y cuando esté atascado en la Edición estándar y se requiera escalar, ahora puede usar las funciones de Enterprise anteriores en múltiples cajas o instancias de la Edición estándar, en lugar de intentar escalar hacia arriba.

Resumen

Este es un movimiento audaz por parte de Microsoft, y ciertamente puedo ver cómo esto aumentará las ventas de Standard sin canibalizar las ventas de Enterprise. Los clientes de la Edición estándar pueden usar estas funciones para consolidar sus bases de código y, en muchos escenarios, crear soluciones que ofrezcan un mejor rendimiento. Y para aquellos que ya disfrutan de todos los beneficios de Enterprise Edition, esto puede no ser tan interesante para ustedes, pero también hay un montón de características nuevas disponibles en todas las ediciones de SP1 . Entonces, independientemente de la edición en la que se encuentre ahora, realmente no tiene excusa para aferrarse a esa versión antigua de SQL Server.

¡Actualice a SQL Server 2016 SP1!