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

Reflexiones sobre las ediciones de SQL Server 2019

Ahora que me embarco en mi primera Cumbre PASS en unos pocos años, es difícil contener mi entusiasmo por la versión más nueva de SQL Server. Ayudé a Bob Ward (@bobwardms) con la edición técnica de su libro más reciente, "SQL Server 2019 Revealed", y participé activamente con los equipos de productos y mis compañeros de MVP a lo largo de los ciclos de CTP y RC. Incluso asistí al muy exclusivo evento Airlift de SQL Server 2019 en Redmond en la primera semana de octubre, y aunque era demasiado tarde para proporcionar comentarios que afectarían a RTM, hice varias sugerencias constructivas que esperamos ver en una CU ( o tan tarde como vNext).

El producto aún no se ha lanzado, al menos en el momento de escribir este artículo, pero han comenzado a determinar qué funciones (y hay muchas) estarán disponibles en qué ediciones. Como recordará, en SQL Server 2016 SP1, abrieron todas las características de la superficie de programación para todas las ediciones y muchas (pero ciertamente no todas) de las características de rendimiento y disponibilidad. Escribí sobre esto en una publicación titulada "Un gran problema:SQL Server 2016 Service Pack 1". Este fue un momento muy emocionante, y solo quería compartir algunos pensamientos sobre los aciertos y errores en la versión más reciente.

Éxitos

  • La recuperación acelerada de la base de datos está en la edición estándar . Esta fue fácilmente la mayor sorpresa para mí, ya que pensé que sería una función de Enterprise Edition. Es una función de disponibilidad, porque puede reducir drásticamente el tiempo de recuperación y conmutación por error, y también puede considerarse una función de rendimiento, porque ahora puede usar el mismo almacén de versiones local para cosas como RCSI en lugar de compartir el almacén de versiones en tempdb. Incluso puede colocar la tienda de versión local en su propio grupo de archivos, lo cual no era una opción cuando escribí sobre la función en marzo. Tener esto disponible en todas las ediciones es fantástico, pero debe asegurarse de probar su carga de trabajo con una línea de base.
  • El cifrado de datos transparente (TDE) ahora está en la edición estándar . Teniendo en cuenta que la documentación no es definitiva, este es un gran cambio para muchas tiendas, y tiene sentido que una característica de seguridad tan importante no sea un diferenciador para la edición más cara. No es una función de rendimiento ni de disponibilidad, y la seguridad básica y sensible de los datos no debería costar más, en mi humilde opinión. Nike Neugebauer está de acuerdo. Always Encrypted y otras características como la seguridad de nivel de fila y el enmascaramiento dinámico de datos están disponibles en todas las ediciones, pero no siempre encajan en la solución de "botón fácil" que buscan los clientes.
  • Inserción de UDF escalar está en todas las ediciones, incluso Express . Esta es una gran característica que esencialmente oculta todo el mal rendimiento que solía obtener de funciones definidas por el usuario escalares ineficientes (escribí por primera vez sobre esta característica hace un año). Me sorprende que esta no sea solo para Enterprise; podría haber sido como vistas indexadas, donde la funcionalidad está disponible en todas partes, pero el comportamiento es mejor (al menos de forma predeterminada) en Enterprise Edition. Me alegra que todos se beneficien en este caso.
  • La configuración proporciona mejores recomendaciones del mundo real . Este no es un elemento en la lista de características, per se, pero hay algunas opciones y sugerencias nuevas sobre MAXDOP y la memoria mínima/máxima del servidor que creo que son excelentes adiciones y permitirán que las personas configuren mejor sus instancias desde el principio:

    Nueva pantalla MaxDOP en configuración ( haga clic para ampliar)

    Nueva pantalla de memoria en configuración ( haga clic para ampliar)

    Ahora, si tan solo pudieran agregar opciones para otras cosas que son disruptivas después de la instalación, como Bloquear páginas en la memoria, cambiar el umbral de costo predeterminado para el paralelismo, especificar marcas de seguimiento de inicio (¡como 3226!), Resaltar configuraciones de planes de energía subóptimos y habilitar Grupos de disponibilidad directamente en lugar de usar Configuration Manager después del hecho. Y tal vez podrían eliminar esa molesta advertencia sobre el firewall; siempre es lo mismo y, al menos para mí, nunca ha sido significativo o útil en ningún escenario.

Señoritas

  • Todavía no se moverán en el límite de 128 GB para la Edición estándar , a pesar de muchas solicitudes (como esta de Erik Darling). No es mi idea original, y no simplificaría la concesión de licencias o la aplicación, pero los límites de memoria podrían hacerse en relación con el número de núcleos con licencia. De esta manera, su límite de memoria se basa en cuánto gastó en licencias, no en un límite arbitrario decidido en una sala de conferencias en algún lugar hace 5 años.

    Brent Ozar (@BrentO) también habló sobre la "tormenta perfecta " que involucra concesiones de memoria en la Edición estándar, y estoy bastante de acuerdo:creo que los clientes pagarían felizmente la prima de cambiar de CAL a licencias básicas en la Edición estándar si ahora significa que pueden usar más (o incluso toda) su memoria.
  • TempDB optimizada para memoria es solo para Enterprise Edition , mientras que otras tecnologías de base de datos en memoria, como las tablas optimizadas para memoria y el grupo de búfer híbrido, están disponibles en la edición estándar. Siento que esta función es una especie de híbrido entre rendimiento y disponibilidad; al menos más de un equilibrio que, digamos, UDF en línea. Las funciones lentas solo hacen esperar a la gente; un tempdb abrumado puede acabar casi literalmente con su instancia. También siento que los clientes empresariales tienden a tener más y mejor hardware para resolver el problema que las tiendas más pequeñas que pueden pagar. Los clientes que eligen la Edición estándar no necesariamente tienen los ahorros esperando para escribir cheques.

    Una de las sugerencias que tuve sobre esta función fue que debería haber argumentos en la línea de comandos y/o una casilla de verificación de la interfaz de usuario durante la configuración para habilitar esta función inmediatamente después de una instalación o actualización. Esto evitaría la interrupción después de la instalación, ya que la única forma de habilitar la función es reiniciar el servicio. La razón por la que no está activado de forma predeterminada es que hay patrones de carga de trabajo en los que el beneficio no será obvio y algunos escenarios de ruptura que involucran transacciones y otras bases de datos con tablas optimizadas para memoria, por lo que quieren que pruebe su carga de trabajo y se asegure de que están observando los tipos correctos de contención y que el beneficio está ahí. Pero, ¿y si ya lo hice en otro sistema con la misma carga de trabajo?

Pensamientos de despedida

Si bien puede parecer que me estoy quejando, todavía estoy muy entusiasmado con esta versión y todo lo que tiene para ofrecer. Espero que se anuncie la disponibilidad tanto en Ignite como en PASS Summit, por lo que es posible que tenga los bits de RTM en su mano cuando lea esto.