Question

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

Nos besoins:

  • Edition standard (pour des raisons financières et un manque de besoin de fonctionnalités d'entreprise)
  • charge de travail OLTP (ce moyens que nous ne pas besoin des nouvelles fonctions de fenêtrage et les index de magasin de colonne)
  • Taille de la base de données de 10-100 GB
  • Aucune intelligence d'affaires fonctionnalités nécessaires. Seul le moteur relationnel est requis
  • Base de données synchrone Mirroring

À l'heure actuelle, les raisons suivantes me sont connus:

SQL Server 2012 Denali

  • La nouvelle version disponible

SQL Server 2008 R2

  • Technologie éprouvée

Je ne peux pas sembler trouver beaucoup de raisons techniques de préférer un sur l'autre. En gros, cela revient à choisir une technologie éprouvée qui est en cours d'exécution avec succès par rapport à la plus récente et la plus grande version disponible.

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

Était-ce utile?

La solution

Tout le monde est excité à propos AlwaysOn et columnstore, mais beaucoup des avantages de SQL Server 2012 ne sont pas exclusifs aux éditions haut de gamme. Je ne veux pas sonner comme un porte-parole, mais je lui ai donné beaucoup de présentations sur SQL Server 2012 et je pense qu'il a beaucoup à offrir à quelque édition que vous convient le mieux.

  • partiellement contenu bases de données qui vous permettent de déplacer des bases de données entre les serveurs ou les environnements avec quelques chaînes moins (à savoir les connexions au niveau du serveur et les dépendances de classement du serveur - versions futures manipuleront les plus épineuses des éléments comme les serveurs liés et travaux de l'Agent ).

  • Management studio est maintenant un meilleur outil, aligné avec Visual studio. IntelliSense est meilleur et tout un tas d'autres fonctionnalités faciliter 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 fonctionne les licences sages, et certains magasins ne veulent pas des versions mixtes (je préfère avoir les outils les plus récents mon poste de travail même pour gérer les serveurs de niveau inférieur). Je blogué sur les changements au début, quand il y avait encore des bugs, donc s'il vous plaît ignorer les points négatifs, car la plupart ou tous sont fixés au RTM. Je frémis maintenant quand je dois utiliser une version antérieure de SSMS.

  • métadonnées améliorations vous permettra d'inspecter resultsets d'objets et de requêtes ad hoc, et vous permettent de mieux définir la sortie des requêtes.

  • Rôles de serveur personnalisés vous permettent de définir un ensemble beaucoup plus granulaire des autorisations pour les utilisateurs à un niveau de rôle au lieu d'accorder / révoquer un par un, ou tout simplement céder à la complexité et de donner leur sysadmin.

  • FileTable vous permet de gérer un dossier comme une table des documents, mais toujours avoir un contrôle externe sur le contenu (alors imaginez pouvoir le faire avec T-SQL, et imaginez à quel point il serait de faire cmd ou PowerShell. UPDATE C:\Docs\*.* SET ReadOnly = 1 WHERE Author = 'Bob' AND Created < '20100101';) ... pense FileStream répond WinFS et obtient une facilité d'utilisation pour démarrer

  • Améliorations T-SQL vous permettent de faire beaucoup de choses qui ont été une douleur dans les versions précédentes:

    • THROW (pensez comme re-raise)
    • OFFSET / FETCH (simple, échange standard ANSI)
    • SEQUENCE (centralisée mécanisme IDENTITÉ, comme dans Oracle)
    • fenêtrage / améliorations Framing (diverses choses ici, telles que les totaux de fonctionnement impressionnant performance)
    • IIF() / CHOOSE() / CONCAT() / EOMONTH()
    • Date / Heure Constructors (par exemple DATETIMEFROMPARTS) similaire à DateSerial dans VB
    • PARSE() / FORMAT() - comme leurs homologues .NET
    • TRY_CONVERT() / TRY_PARSE() - NULL retourSi fail CONVERT / PARSE
  • Événements étendus a une interface utilisateur améliorée pour la configuration / affichage, et enfin recouvre complètement la fonctionnalité trace / audit (y compris beaucoup mieux suivi de la causalité).

  • Beaucoup de nouveaux DMVs , les procédures du système et des améliorations sHOWPLAN pour le diagnostic et le dépannage des performances. Jetez aussi un coup d'œil à ce que CSS appelle « Le Black Box Recorder ."

  • Server Core vous permet d'exécuter sur un serveur nu minimum sans tous les composants de l'interface utilisateur (plus petite des moyens de grande surface, il est plus sûr, et une maintenance réduite depuis moins de pièces d'OS sont soumis à Windows Update).

  • Recherche en texte intégral obtient quelques améliorations importantes de performance sous-jacente, ainsi que la recherche sémantique (pensez mots-clés) et personnalisable proximité / NEAR.

  • AWE est pas plus pris en charge , qui signifie que votre instance SQL Server sur x86 avec 32 Go de RAM ne va pouvoir utiliser 4 Go - donc vous aurez enfin la motivation pour obtenir votre vieux matériel 32 bits.

Autres conseils

Voici quelques exemples concernant « preuves réelles pour ou contre la fiabilité dans la première version d'une nouvelle version », comme l'a demandé. Ce ne vise pas à être une analyse complète, mais plutôt une suggestion sur ce que vous voudrez peut-être à la recherche.

Vous pouvez google up « Liste des problèmes qui sont résolus par SQL Server 2008 Service Pack 1 » et « Liste des problèmes qui sont résolus par SQL Server 2008 Service Pack 3 » sur le site 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'articles qui pourraient ruiner ma journée, comme:

  • 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
  • Le journal Agent de lecture saute certaines transactions lorsque le journal Agent de lecture exécute les transactions répliquées
  • Message d'erreur lorsque vous exécutez une requête qui implique une opération de jointure externe dans SQL Server 2008
  • Message d'erreur lorsque vous effectuez une mise à jour ou une opération de suppression sur une table qui ne dispose pas d'un index ordonné en clusters créé dans SQL Server 2008
  • Une requête qui utilise les paramètres et les retours d'option RECOMPILE résultats incorrects lorsque vous exécutez la requête dans plusieurs connexions simultanément dans SQL Server 2008

Laissez-nous un plus forer vers le bas niveau et considérons juste une commande, MERGE. Il a été libéré dans le cadre de SQL 2008 avec plusieurs problèmes, décrits dans les liens suivants:

En tant que tel, au moment de la version originale de SQL 2008, j'ai décidé de ne pas utiliser MERGE. J'utilise MERGE beaucoup maintenant, sur 2008 R2, et je pense qu'il est une caractéristique vraiment super.

Modifier voici la liste des défauts dans SQL 2012 qui ont été récemment fixés . Espérons que cela aide.

Une autre édition: J'ai choisi MERGE pour une analyse plus détaillée, car il est une amélioration très importante. En fait, il est une étape importante dans la capture avec Oracle, et il améliore notre productivité. En tant que tel, Merge a été commercialisé beaucoup au moment de la libération SQL 2008. Pourtant, il n'a pas été tout à fait prêt à l'emploi dans les systèmes de production sérieux quand il a été libéré, et il n'y avait aucun moyen facile de le savoir des présentations / articles / posts de blog et autres.

De même, l'isolement de cliché est une nouvelle fonctionnalité qui fonctionne tout simplement génial, mais en invoquant des FDU scalaires dans les contraintes CHECK ne fonctionne pas dans tous les cas et en tant que tel ne doit pas être utilisé dans la production lorsque nous avons besoin d'intégrité des données. Cependant, les deux nouvelles fonctionnalités ont été recommandées dans « Qu'est-ce quenouvelle dans les présentations SQL xxxx », ainsi que dans des livres, des articles, etc., et avec le même enthousiasme.

Il faut être très prudent avec de nouvelles fonctionnalités -. Pas tous d'entre eux vont être utiles / fiable / performant

Un point qui n'a pas été mentionné ici est tout à fait sans rapport avec l'ensemble des fonctionnalités. Si vous faites une nouvelle construction, vous pouvez mettre hors d'une mise à niveau de base de données pour un peu plus, donc cela permettra d'économiser dans les coûts de migration.

Pour un projet entièrement nouveau, vous avez un espace de respiration pour le travail autour des insectes et de les élever avec le vendeur si elles ne se présentent, il est donc pas un processus complètement non contrôlé. J'ai été impliqué dans l'un des premiers projets d'entrepôt de données sur SQL Server 2005 comme il est allé à RTM et nous avons eu avec elle.

Si l'ensemble des fonctionnalités de 2008R2 fera ce que vous voulez alors la décision est en baisse à un certain risque de bugs / solutions de contournement par rapport à la valeur de remettre à plus tard la nécessité de mettre à niveau et l'enregistrement d'un cycle de mise à niveau.

Lorsque vous achetez nouveau le choix est bien différent que lorsque vous envisagez la mise à niveau. L'achat de nouveaux, il est ma conviction que vous devez toujours acheter la nouvelle version que vous pouvez obtenir. la version 2008 sera pas pris en charge beaucoup plus tôt plus que la version 2012. Il vaut mieux commencer avec le nouveau lastest que vous utiliserez ce backend pour longtemps.

En ce qui concerne la nécessité du premier service pack, il sera avant que vous le sachiez et que vous faites nouveau développement, les problèmes qu'il fixe sera probablement pas vous affecter autant une base de données existante avec des millions d'enregistrements seraient confrontés.

Maintenant, si vous êtes juste un nouveau serveur, mais mettre ancienne base de données sur elle, la question devient alors ce que vous mettez à niveau? Si la base de données est déjà une base de données 2008, ce sera beaucoup moins risqué d'utiliser la même version. Si vous mettez à niveau, vérifiez si vous pouvez passer directement à 2012 à partir de votre version.

Licencié sous: CC-BY-SA avec attribution
Non affilié à dba.stackexchange
scroll top