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?
Respuestas:
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)IIF()
/CHOOSE()
/CONCAT()
/EOMONTH()
DATETIMEFROMPARTS
. Ej. ) Similares aDateSerial
en VBPARSE()
/FORMAT()
- como sus contrapartes .NETTRY_CONVERT()
/TRY_PARSE()
- devuelveNULL
siCONVERT
/PARSE
fallaExtended 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.
fuente
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!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:
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.
fuente
MERGE
que causa puntos muertos.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.
fuente
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.
fuente