¿Cuáles son las razones empresariales objetivas para preferir SQL Server 2012 sobre 2008 R2?

50

Mi empresa se enfrenta a la decisión de comprar SQL Server 2012 Denali o SQL Server 2008 R2 para un nuevo servidor de base de datos. Estoy buscando razones objetivas para elegir una sobre la otra.

Nuestras necesidades:

  • Edición estándar (por razones financieras y falta de necesidad de funciones empresariales)
  • Carga de trabajo OLTP (esto significa que no necesitamos las nuevas funciones de ventanas e índices de almacenamiento de columnas)
  • Tamaño de base de datos de 10-100 GB
  • No se necesitan funciones de inteligencia empresarial. Solo se requiere el motor relacional
  • Duplicación de base de datos síncrona

Actualmente, conozco las siguientes razones:

SQL Server 2012 Denali

  • La última versión disponible

SQL Server 2008 R2

  • Tecnología probada

Parece que no puedo encontrar muchas razones técnicas para preferir una sobre la otra. Básicamente, se trata de elegir tecnología probada que se ejecute con éxito frente a la versión más nueva y mejor disponible.

¿Cuáles son las razones objetivas para tomar la decisión?

usr
fuente
55
Creo que siempre y cuando el cambio de licencia por núcleo no altere su presupuesto, y no tenga que preocuparse por la lenta recuperación del proveedor, el uso de SQL Server 2012 es obvio. Esto se basa en tecnología probada, por lo que no debe considerarse una reescritura completa y / o un V1.
Aaron Bertrand
3
Según mi experiencia con las tres versiones anteriores, esperaría al menos un paquete de servicio. Con 2008 esperé hasta R2, y todavía tiene defectos. Solo desde la parte superior de mi cuenta: en 2008 R2 puedo omitir una restricción FK de confianza e insertar filas huérfanas, puedo ejecutar un script en SSMS y parte de él se ejecuta en la base de datos incorrecta.
AK
3
@AaronBertrand Creo que tu analogía es falsa. Si vio a una y la misma persona enviando mensajes de texto y conduciendo más de una vez, varias veces, es razonable concluir que esa persona es un conductor terrible. Así es como el OP se está generalizando, no como usted sugirió.
AK
3
Alex, avísame cuando una plataforma RDBMS complicada se envíe sin errores. IIRC tu reproche FK fue bastante complicado y no era un escenario común. También avíseme si cree que las compañías de software no pueden mejorar con el tiempo, o si espera una vulnerabilidad de tipo slammer en SQL 2012, luego en la versión posterior y la versión posterior ... en algún momento usted tengo que dejar de lado los cuentos de estas viejas esposas y tomar una plataforma por sí mismo y no juzgarlo por algún error en una versión anterior ...
Aaron Bertrand
77
El "esperar el paquete de servicio" es un viejo mito y FUD
gbn

Respuestas:

63

Todos están entusiasmados con AlwaysOn y ColumnStore, pero muchos de los beneficios de SQL Server 2012 no son exclusivos de las ediciones de gama alta. No quiero parecer un portavoz, pero he hecho muchas presentaciones sobre SQL Server 2012 y creo que tiene mucho que ofrecer en la edición que más le convenga.

  • Bases de datos parcialmente contenidas que le permiten mover bases de datos entre servidores o entornos con unos pocos grilletes (es decir, inicios de sesión a nivel de servidor y dependencias de intercalación de servidores; las versiones futuras manejarán elementos más espinosos como servidores vinculados y trabajos de agente).

  • Management Studio es ahora una herramienta mucho mejor, alineada con Visual Studio. IntelliSense es mejor y muchas otras funciones facilitan la edición. Ahora, por supuesto, puede tener 2008 R2 en su servidor y usar la versión 2012 de SSMS, pero no estoy seguro de cómo funciona eso en cuanto a licencias, y algunas tiendas no quieren versiones mixtas (prefiero tener las herramientas más recientes en mi estación de trabajo incluso para administrar servidores de nivel inferior). Hice un blog sobre los cambios desde el principio, cuando todavía había errores, así que ignore los aspectos negativos, ya que la mayoría o todos están solucionados a partir de RTM. Me estremezco ahora cuando tengo que usar una versión anterior de SSMS.

  • Las mejoras de metadatos le permiten inspeccionar conjuntos de resultados de objetos y consultas ad hoc, y también le permiten configurar mejor el resultado de las consultas.

  • Los roles de servidor personalizados le permiten definir un conjunto de permisos mucho más granular para los usuarios en un nivel de rol en lugar de otorgar / revocar uno por uno, o simplemente ceder ante la complejidad y darles sysadmin.

  • FileTable le permite administrar una carpeta como una tabla de documentos, pero aún tiene control externo sobre el contenido (así que imagine poder hacer esto con T-SQL e imagine lo difícil que sería hacerlo en cmd o PowerShell:) UPDATE C:\Docs\*.* SET ReadOnly = 1 WHERE Author = 'Bob' AND Created < '20100101';.. Piensa que FileStream cumple con WinFS y obtiene cierta usabilidad para arrancar.

  • Las mejoras de T-SQL le permiten hacer muchas cosas que eran difíciles en versiones anteriores:

    • THROW (piense en ello como resubir)
    • OFFSET/FETCH (más simple, paginación estándar ANSI)
    • SEQUENCE (mecanismo de IDENTIDAD centralizado, como en Oracle)
    • Mejoras de ventanas / marcos (varias cosas aquí, como un rendimiento total impresionante)
    • IIF()/ CHOOSE()/ CONCAT()/EOMONTH()
    • Constructores de fecha / hora (p DATETIMEFROMPARTS. Ej. ) Similares a DateSerialen VB
    • PARSE()/ FORMAT()- como sus contrapartes .NET
    • TRY_CONVERT()/ TRY_PARSE()- devuelve NULLsi CONVERT/ PARSEfalla
  • Extended Events tiene una interfaz de usuario mejorada para la configuración / visualización, y finalmente cubre completamente la funcionalidad de seguimiento / auditoría (incluido un seguimiento de causalidad mucho mejor).

  • Muchos DMV nuevos , procedimientos del sistema y mejoras de ShowPlan para diagnóstico y solución de problemas de rendimiento. También eche un vistazo a lo que CSS llama " The Black Box Recorder ".

  • Server Core le permite ejecutar en un servidor mínimo sin todos los componentes de la interfaz de usuario (un área de superficie más pequeña significa que es más seguro y un mantenimiento reducido ya que menos partes del sistema operativo están sujetas a Windows Update).

  • La búsqueda de texto completo obtiene importantes mejoras de rendimiento subyacentes, así como la búsqueda semántica (palabras clave pensadas) y proximidad personalizable / CERCA.

  • AWE ya no es compatible , lo que significa que su instancia de SQL Server en x86 con 32 GB de RAM solo podrá usar 4 GB, por lo que finalmente tendrá la motivación para abandonar su antiguo hardware de 32 bits.

Aaron Bertrand
fuente
Re: el comentario de PowerShell, sigue siendo bastante simple: gci c:\users | where-object {$_.Author = 'Bob' -and $_.creationdate -lt '1/1/2010'} | %{$_.Readonly = 1}o algo similar, ¡pero no tan simple y legible como la opción de 2012!
JNK
3
Lo mejor de PS es que puedes hacer cualquier cosa (casi) en una línea. Lo malo es que es difícil leer esa línea :)
JNK
1
Es SSMS 2012 que mucho mejor ??
Thomas Stringer
55
Si lo amo. Debería hacer otra publicación de blog al respecto. Algunos puntos destacados: los fragmentos son impresionantes, IntelliSense es mucho mejor, la edición de región es muy poderosa, la tira de pestañas es ideal para monitores múltiples y hay un zoom incorporado.
Aaron Bertrand
3
También podría resumir esa viñeta como: "x86 va a chupar aún más de lo que ya lo hace".
Aaron Bertrand
14

Los siguientes son solo algunos ejemplos sobre "evidencia real a favor o en contra de la confiabilidad en la primera versión de cualquier nueva versión", según lo solicitado. Esto no pretende ser un análisis completo, sino más bien una sugerencia sobre lo que es posible que desee investigar.

Puede buscar en Google "Lista de problemas corregidos por SQL Server 2008 Service Pack 1" y "Lista de problemas corregidos por SQL Server 2008 Service Pack 3" en el sitio web de MSDN. Compare el número y la gravedad de los problemas en ambas listas. En mi opinión, la primera lista es más larga y tiene más elementos que podrían arruinar mi día, como:

  • Mensaje de error cuando se conecta a una instancia con nombre de SQL Server en una computadora cliente que ejecuta Windows Vista o Windows Server 2008
  • Log Reader Agent omite algunas transacciones cuando Log Reader Agent se ejecuta para replicar transacciones
  • Mensaje de error cuando ejecuta una consulta que involucra una operación de combinación externa en SQL Server 2008
  • Mensaje de error cuando realiza una operación de actualización o eliminación en una tabla que no tiene un índice agrupado creado en SQL Server 2008
  • Una consulta que utiliza parámetros y la opción RECOMPILAR devuelve resultados incorrectos cuando ejecuta la consulta en varias conexiones simultáneamente en SQL Server 2008

Analicemos un nivel más y consideremos un solo comando, el MERGE. Fue lanzado como parte de SQL 2008 con varios problemas, descritos en los siguientes enlaces:

Como tal, en el momento del lanzamiento original de SQL 2008, decidí no usar MERGE. Estoy usando mucho MERGE ahora, en 2008 R2, y creo que es una característica realmente excelente.

Editar: aquí está la lista de defectos en SQL 2012 que se corrigieron recientemente . Espero eso ayude.

Otra edición: he elegido MERGE para un análisis más detallado, porque es una mejora muy importante. De hecho, es un paso importante para ponerse al día con Oracle y mejora nuestra productividad. Como tal, MERGE se ha comercializado mucho en el momento del lanzamiento de SQL 2008. Sin embargo, no estaba completamente listo para usar en sistemas de producción serios cuando se lanzó originalmente, y no había una manera fácil de saberlo por las presentaciones / artículos / publicaciones de blog y demás.

Del mismo modo, el aislamiento de instantáneas es una característica nueva e impresionante que simplemente funciona, pero invocar UDF escalares en restricciones CHECK no funciona en todos los casos y, como tal, no debe usarse en producción cuando necesitamos integridad de datos. Sin embargo, ambas características nuevas se recomendaron en las presentaciones "Novedades de SQL xxxx", así como en libros, artículos, etc., y con entusiasmo similar.

Necesitamos ser muy cuidadosos con las nuevas funciones, no todas serán útiles / confiables / de alto rendimiento.

Alaska
fuente
Vi la lista Realmente no percibí ninguno como un show-stoppers, y casi todos los problemas mencionados afectan tanto a R2 de 2008 como a 2012.
Aaron Bertrand
1
Aquí hay otro error potencialMERGE que causa puntos muertos.
Nick Chammas
@NickChammas sí, claro, gracias por mencionar esto. Estamos usando sp_getapplock para desplazarnos.
AK
10

Un punto que no se ha mencionado aquí es completamente irrelevante para el conjunto de características. Si está realizando una nueva compilación, puede posponer una actualización de la base de datos durante un tiempo bastante mayor, por lo que esto ahorrará costos de migración.

Para un proyecto greenfield, tiene un poco de espacio para respirar para evitar errores y criarlos con el proveedor si aparecen, por lo que no es un proceso completamente descontrolado. Estuve involucrado en uno de los primeros proyectos de almacenamiento de datos en SQL Server 2005 justo cuando llegó a RTM y nos salimos con la suya.

Si el conjunto de características de 2008R2 hará lo que desea, entonces la decisión se reduce a cierto riesgo de errores / soluciones temporales frente al valor de posponer la necesidad de actualizar y guardar un ciclo de actualización.

Preocupado por TunbridgeWells
fuente
6

Cuando está comprando nuevo, la elección es muy diferente de cuando está considerando actualizar. Comprar nuevo es mi creencia de que siempre debe comprar la versión más nueva que pueda obtener. La versión 2008 ya no será compatible mucho antes que la versión 2012. Es mejor comenzar de nuevo con lo último, ya que utilizará este backend durante mucho tiempo.

En cuanto a la necesidad del primer paquete de servicios, estará disponible antes de que se dé cuenta y, dado que está realizando un nuevo desarrollo, es probable que los problemas que solucione no le afecten tanto a una base de datos heredada con millones de registros.

Ahora, si solo está obteniendo un nuevo servidor pero colocando una base de datos anterior, entonces la pregunta es ¿desde qué está actualizando? Si la base de datos ya es una base de datos de 2008, será significativamente menos riesgoso usar la misma versión. Si está actualizando, verifique si puede actualizar directamente a 2012 desde su versión.

HLGEM
fuente
No hay actualización Esta es una nueva aplicación en hardware nuevo.
usr