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?
Réponses:
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)IIF()
/CHOOSE()
/CONCAT()
/EOMONTH()
DATETIMEFROMPARTS
) similaires àDateSerial
en VBPARSE()
/FORMAT()
- comme leurs homologues .NETTRY_CONVERT()
/TRY_PARSE()
- retourneNULL
siCONVERT
/PARSE
échoueExtended 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.
la source
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!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:
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.
la source
MERGE
qui provoque des blocages.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.
la source
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.
la source