Quels sont les motifs objectifs pour les entreprises de préférer SQL Server 2012 à 2008 R2?

50

Mon entreprise est confrontée à la décision d'acheter SQL Server 2012 Denali ou SQL Server 2008 R2 pour un nouveau serveur de base de données. Je cherche des raisons objectives de choisir l’un sur l’autre.

Nos exigences:

  • Édition standard (pour des raisons financières et l'absence de besoin de fonctionnalités d'entreprise)
  • Charge de travail OLTP (cela signifie que nous n'avons pas besoin des nouvelles fonctions de fenêtrage ni des index de magasin de colonnes)
  • Taille de la base de données de 10 à 100 Go
  • Aucune fonctionnalité de business intelligence nécessaire. Seul le moteur relationnel est requis
  • Mise en miroir synchrone

Actuellement, je connais les raisons suivantes:

SQL Server 2012 Denali

  • La plus récente version disponible

SQL Server 2008 R2

  • Technologie éprouvée

Je n'arrive pas à trouver beaucoup de raisons techniques pour préférer l'une à l'autre. Cela revient essentiellement à choisir une technologie éprouvée qui fonctionne avec succès par rapport à la version la plus récente et la plus performante disponible.

Quelles sont les raisons objectives de prendre la décision?

usr
la source
5
Je pense que tant que le changement de licence par cœur ne modifie pas votre budget, et que vous n'avez pas à vous soucier du rattrapage lent des fournisseurs, utiliser SQL Server 2012 est une évidence. Ceci est basé sur une technologie éprouvée et ne devrait donc pas être considéré comme une réécriture complète et / ou une V1.
Aaron Bertrand
3
D'après mon expérience des trois versions précédentes, j'attendrais au moins un service pack. En 2008, j'ai attendu R2 et il y a toujours des défauts. Juste du haut de mon passé: en 2008 R2, je pouvais contourner une contrainte FK de confiance et insérer des lignes orphelines, je pouvais exécuter un script dans SSMS, dont une partie s’exécutait sur une base de données erronée.
AK
3
@AaronBertrand Je pense que votre analogie est fausse. Si vous avez vu une seule et même personne envoyer des SMS et conduire plusieurs fois, il est raisonnable de conclure que cette personne fait partie d'un conducteur terrible. C’est ainsi que le PO se généralise, et non comme vous l’avez suggéré.
AK
3
Alex, laissez-moi savoir quand une plate-forme SGBDR compliquée sera expédiée sans aucun bogue. Votre reproché par le FK de l'IIRC était assez compliqué et n'était pas un scénario courant. Dites-moi aussi si vous pensez que les éditeurs de logiciels ne pourront éventuellement pas s'améliorer avec le temps, ou si vous vous attendez à une vulnérabilité de type slammer dans SQL 2012, puis dans la version ultérieure et la version ultérieure ... à un moment donné laisser tomber les contes de ces vieilles épouses et prendre une tribune tout seul et ne pas le juger par un bogue dans une version précédente ...
Aaron Bertrand
7
L'attente du service pack est un vieux mythe et FUD
gbn

Réponses:

63

Tout le monde est enthousiasmé par AlwaysOn et ColumnStore, mais de nombreux avantages de SQL Server 2012 ne sont pas exclusifs aux éditions haut de gamme. Je ne veux pas avoir l'air d'un porte-parole, mais j'ai donné de nombreuses présentations sur SQL Server 2012 et je pense qu'il a beaucoup à offrir quelle que soit l'édition qui vous convient.

  • Bases de données partiellement contenues qui vous permettent de déplacer des bases de données entre des serveurs ou des environnements avec moins de contraintes (connexions au niveau serveur et dépendances de classement des serveurs - les versions futures traiteront des éléments plus épineux tels que les serveurs liés et les tâches d'agent).

  • Management Studio est maintenant un outil bien meilleur, aligné sur Visual Studio. IntelliSense est meilleur et de nombreuses autres fonctionnalités facilitent l'édition. Maintenant, bien sûr, vous pouvez avoir 2008 R2 sur votre serveur et utiliser la version 2012 de SSMS, mais je ne sais pas comment cela fonctionne en termes de licence, et certains magasins ne veulent pas de versions mixtes (je préfère avoir les outils les plus récents mon poste de travail même pour gérer des serveurs de bas niveau). J'ai blogué à propos des changements au tout début, quand il y avait encore des bogues, alors ignorez les négatifs car la plupart ou tous sont corrigés à partir de RTM. Je frémis maintenant lorsque je dois utiliser une version antérieure de SSMS.

  • Les améliorations apportées aux métadonnées vous permettent d'inspecter les ensembles de résultats des objets et des requêtes ad hoc, ainsi que de mieux mettre en forme la sortie des requêtes.

  • Les rôles de serveur personnalisés vous permettent de définir un ensemble d'autorisations beaucoup plus granulaire pour les utilisateurs au niveau du rôle au lieu d'octroyer / révoquer une à une ou simplement de céder à la complexité et de leur attribuer l'administrateur système.

  • FileTable vous permet de gérer un dossier comme une table de documents, tout en gardant un contrôle externe sur le contenu (imaginez-vous en mesure de le faire avec T-SQL et imaginez à quel point il serait difficile de le faire dans cmd ou PowerShell:) UPDATE C:\Docs\*.* SET ReadOnly = 1 WHERE Author = 'Bob' AND Created < '20100101';.. .be pense que FileStream rencontre WinFS et offre une certaine convivialité pour démarrer.

  • Les améliorations de T-SQL vous permettent de réaliser de nombreuses tâches qui posaient problème dans les versions précédentes:

    • THROW (pensez-le comme re-augmenter)
    • OFFSET/FETCH (pagination plus simple, norme ANSI)
    • SEQUENCE (mécanisme IDENTITY centralisé, comme dans Oracle)
    • Améliorations de fenêtrage / cadrage (différentes choses ici, telles que la performance cumulée impressionnante)
    • IIF()/ CHOOSE()/ CONCAT()/EOMONTH()
    • Date / heure Constructeurs (par exemple DATETIMEFROMPARTS) similaires à DateSerialen VB
    • PARSE()/ FORMAT()- comme leurs homologues .NET
    • TRY_CONVERT()/ TRY_PARSE()- retourne NULLsi CONVERT/ PARSEéchoue
  • Extended Events a une interface utilisateur améliorée pour la configuration / visualisation et couvre enfin complètement les fonctionnalités de trace / audit (y compris un meilleur suivi du lien de causalité).

  • Nombreux nouveaux DMV , procédures système et améliorations de ShowPlan pour le diagnostic et le dépannage des performances. Jetez également un coup d'œil à ce que CSS appelle " The Black Box Recorder ".

  • Server Core vous permet de fonctionner sur un serveur de minimum, sans tous les composants de l'interface utilisateur (une surface plus petite signifie qu'il est plus sécurisé et une maintenance réduite car moins de parties du système d'exploitation sont soumises à Windows Update).

  • La recherche en texte intégral obtient d'importantes améliorations des performances sous-jacentes, ainsi que la recherche sémantique (mots clés à penser) et la proximité / proximité personnalisable.

  • AWE n'est plus pris en charge , ce qui signifie que votre instance SQL Server sur x86 avec 32 Go de RAM ne pourra utiliser que 4 Go. Vous serez donc enfin motivé à utiliser votre ancien matériel 32 bits.

Aaron Bertrand
la source
Re: le commentaire powershell, c'est gci c:\users | where-object {$_.Author = 'Bob' -and $_.creationdate -lt '1/1/2010'} | %{$_.Readonly = 1}quand même assez simple: ou quelque chose de similaire, mais pas aussi simple et lisible que l'option 2012!
JNK
3
La grande chose à propos de PS est que vous pouvez tout faire (presque) en une seule ligne. La mauvaise chose est qu'il est difficile de lire cette ligne :)
JNK
1
Est - SSMS 2012 que beaucoup mieux ??
Thomas Stringer
5
Oui j'aime ça. Je devrais faire un autre article de blog à ce sujet. Quelques points saillants: les extraits sont géniaux, IntelliSense est bien meilleur, l'édition des régions est très puissante, la bande d'onglets est idéale pour les écrans multiples et le zoom est intégré.
Aaron Bertrand
3
Je pourrais aussi résumer cette balle ainsi: "x86 va sucer encore plus qu’il ne le fait déjà."
Aaron Bertrand
14

Vous trouverez ci-dessous quelques exemples concernant "les preuves réelles pour ou contre la fiabilité dans la première version de toute nouvelle version", comme demandé. Ce n'est pas censé être une analyse complète, mais plutôt une suggestion sur ce que vous pourriez vouloir rechercher.

Vous pouvez rechercher sur Google "Liste des problèmes résolus par SQL Server 2008 Service Pack 1" et "Liste des problèmes résolus par SQL Server 2008 Service Pack 3" sur le site Web MSDN. Comparez le nombre et la gravité des problèmes dans les deux listes. OMI la première liste est plus longue, et il a plus d'éléments qui pourraient gâcher ma journée, tels que:

  • Message d'erreur lorsque vous vous connectez à une instance nommée de SQL Server sur un ordinateur client qui exécute Windows Vista ou Windows Server 2008
  • Log Reader Agent ignore certaines transactions lorsqu'il s'exécute pour répliquer des transactions.
  • Message d'erreur lorsque vous exécutez une requête impliquant une opération de jointure externe dans SQL Server 2008
  • Message d'erreur lorsque vous effectuez une opération de mise à jour ou de suppression sur une table sans index clusterisé créé dans SQL Server 2008
  • Une requête qui utilise des paramètres et l'option RECOMPILE renvoie des résultats incorrects lorsque vous exécutez la requête dans plusieurs connexions simultanément dans SQL Server 2008

Explorons encore un niveau et considérons une seule commande, la fusion. Il a été publié dans le cadre de SQL 2008 avec plusieurs problèmes, décrits dans les liens suivants:

En tant que tel, au moment de la publication de SQL 2008, j'ai décidé de ne pas utiliser MERGE. J'utilise beaucoup MERGE maintenant, sur 2008 R2, et je pense que c'est une fonctionnalité vraiment géniale.

Edit: voici la liste des défauts de SQL 2012 récemment corrigés . J'espère que ça aide.

Autre modification: j'ai choisi MERGE pour une analyse plus détaillée, car il s'agit d'une amélioration très importante. En fait, c'est une étape majeure pour rattraper Oracle et cela améliore notre productivité. En tant que tel, MERGE a été beaucoup commercialisé au moment de la publication de SQL 2008. Pourtant, il n’était pas encore prêt à être utilisé dans les systèmes de production sérieux lors de sa sortie, et il n’était pas facile de le savoir à partir des présentations / articles / billets de blog, etc.

De même, l'isolation de cliché est une nouvelle fonctionnalité impressionnante qui fonctionne, mais appeler des fichiers UDF scalaires dans des contraintes CHECK ne fonctionne pas dans tous les cas et ne doit donc pas être utilisé en production lorsque l'intégrité des données est requise. Toutefois, ces deux nouvelles fonctionnalités ont été recommandées dans les présentations "Quoi de neuf dans SQL xxxx", ainsi que dans des livres, des articles, etc., et avec un enthousiasme similaire.

Nous devons être très prudents avec les nouvelles fonctionnalités - elles ne seront pas toutes utiles, fiables ou performantes.

AK
la source
J'ai vu la liste. Je n'ai pas vraiment perçu les bouleversements et presque tous les problèmes mentionnés affectent les R2 2008 et 2012.
Aaron Bertrand
1
Voici un autre bug potentielMERGE qui provoque des blocages.
Nick Chammas
@ NickChammas oui, c'est vrai, merci de l'avoir mentionné. Nous utilisons sp_getapplock pour nous déplacer.
AK
10

Un point qui n’a pas été mentionné ici n’est absolument pas pertinent pour l’ensemble des fonctionnalités. Si vous effectuez une nouvelle construction, vous pouvez différer un peu la mise à niveau de la base de données, ce qui réduira les coûts de migration.

Pour un projet novateur, vous avez un peu de marge de manœuvre pour contourner les bogues et les signaler au fournisseur s'ils se présentent, de sorte que le processus n'est pas totalement incontrôlé. J'ai été impliqué dans l'un des premiers projets d'entrepôt de données sur SQL Server 2005, tout comme il a été transféré à RTM et nous nous en sommes tirés.

Si l'ensemble de fonctionnalités de 2008R2 fera ce que vous voulez, la décision est prise de prendre un risque de bogues / solutions de contournement par rapport à la nécessité de différer la nécessité de mettre à niveau et d'enregistrer un cycle de mise à niveau.

Préoccupé parTonbridgeWells
la source
6

Lorsque vous achetez un nouveau produit, le choix est bien différent de celui que vous envisagez de mettre à niveau. Acheter de nouvelles, je pense que vous devriez toujours acheter la version la plus récente que vous pouvez obtenir. La version 2008 ne sera plus prise en charge bien avant la version 2012. Mieux vaut recommencer à zéro, car vous utiliserez ce moteur pendant longtemps.

En ce qui concerne la nécessité du premier service pack, celui-ci sera publié avant que vous ne le sachiez et, puisque vous effectuez de nouveaux développements, les problèmes qu'il corrige ne vous concerneront probablement pas autant qu'une base de données existante contenant des millions d'enregistrements.

Maintenant, si vous venez d’obtenir un nouveau serveur tout en y installant une ancienne base de données, la question devient de savoir à partir de quelle mise à niveau procédez-vous? Si la base de données est déjà une base de données 2008, il sera beaucoup moins risqué d’utiliser la même version. Si vous effectuez une mise à niveau, vérifiez si vous pouvez effectuer une mise à niveau directement vers 2012 à partir de votre version.

HLGEM
la source
Il n'y a pas de mise à niveau. Ceci est une nouvelle application sur le nouveau matériel.
USR