it-swarm.com.de

Was sind objektive Geschäftsgründe, um SQL Server 2012 gegenüber 2008 R2 zu bevorzugen?

Mein Unternehmen steht vor der Entscheidung, SQL Server 2012 Denali oder SQL Server 2008 R2 für einen neuen Datenbankserver zu erwerben. Ich suche nach objektiven Gründen, um einen über den anderen zu wählen.

nsere Anforderungen :

  • Standard Edition (aus finanziellen Gründen und mangels Bedarf an Unternehmensfunktionen)
  • OLTP-Workload (dies bedeutet, dass wir die neuen Fensterfunktionen und Spaltenspeicherindizes nicht benötigen)
  • Datenbankgröße von 10-100 GB
  • Keine Business Intelligence-Funktionen erforderlich. Es wird nur die relationale Engine benötigt
  • Synchrone Datenbankspiegelung

Derzeit sind mir folgende Gründe bekannt:

SQL Server 2012 Denali

  • Neueste verfügbare Version

SQL Server 2008 R2

  • Bewiesene Technologie

Ich kann anscheinend nicht viele technische Gründe finden, einen dem anderen vorzuziehen. Grundsätzlich kommt es darauf an, bewährte Technologie zu wählen, die erfolgreich läuft, im Vergleich zur neuesten und besten verfügbaren Version.

Was sind objektive Gründe für die Entscheidung?

50
usr

Alle sind begeistert von AlwaysOn und ColumnStore, aber viele der Vorteile von SQL Server 2012 gelten nicht nur für High-End-Editionen. Ich möchte nicht wie ein Sprecher klingen, aber ich habe viele Präsentationen zu SQL Server 2012 gehalten und ich denke, es hat in jeder für Sie geeigneten Edition viel zu bieten.

  • Teilweise enthaltene Datenbanken , mit denen Sie Datenbanken zwischen Servern oder Umgebungen mit ein paar weniger Fesseln verschieben können (nämlich Anmeldungen auf Serverebene und Abhängigkeiten der Serverkollatierung - Zukünftige Versionen werden schwierigere Elemente wie Verbindungsserver und Agentenjobs verarbeiten.

  • Management Studio ist jetzt ein viel besseres Tool, das auf Visual Studio ausgerichtet ist. IntelliSense ist besser und eine ganze Reihe anderer Funktionen erleichtern die Bearbeitung. Jetzt können Sie natürlich 2008 R2 auf Ihrem Server haben und die Version 2012 von SSMS verwenden, aber ich bin mir nicht sicher, wie dies in Bezug auf die Lizenzierung funktioniert, und einige Geschäfte möchten keine gemischten Versionen (ich bevorzuge die neuesten Tools) meine Workstation auch zur Verwaltung von Downlevel-Servern). Ich habe früh über die Änderungen gebloggt, als es noch Fehler gab. Bitte ignorieren Sie die negativen Aspekte, da die meisten oder alle ab RTM behoben sind. Ich schaudere jetzt, wenn ich eine frühere Version von SSMS verwenden muss.

  • Metadatenverbesserungen ermöglichen es Ihnen, Ergebnismengen von Objekten und Ad-hoc-Abfragen zu untersuchen und die Ausgabe von Abfragen besser zu gestalten .

  • Benutzerdefinierte Serverrollen ermöglichen es Ihnen, einen viel detaillierteren Satz von Berechtigungen für Benutzer auf Rollenebene zu definieren, anstatt diese zu gewähren/zu widerrufen eins nach dem anderen oder einfach der Komplexität nachgeben und ihnen Systemadministrator geben.

  • Mit FileTable können Sie einen Ordner wie eine Dokumententabelle verwalten, aber dennoch die externe Kontrolle über den Inhalt haben (stellen Sie sich also vor, Sie könnten dies mit T-SQL tun und stellen Sie sich vor, wie schwierig es wäre, in cmd oder PowerShell zu arbeiten: UPDATE C:\Docs\*.* SET ReadOnly = 1 WHERE Author = 'Bob' AND Created < '20100101';) ... denke, FileStream erfüllt WinFS und erhält eine gewisse Benutzerfreundlichkeit zum Booten.

  • Mit T-SQL-Verbesserungen können Sie viele Dinge tun, die in früheren Versionen schmerzhaft waren:

    • THROW (Betrachten Sie es als erneutes Erhöhen)
    • OFFSET/FETCH (einfacheres Paging nach ANSI-Standard)
    • SEQUENCE (zentraler IDENTITY-Mechanismus wie in Oracle)
    • Fenster-/Rahmenverbesserungen (verschiedene Dinge hier, wie zum Beispiel eine hervorragende Gesamtleistung)
    • IIF()/CHOOSE()/CONCAT()/ EOMONTH()
    • Datums-/Zeitkonstruktoren (z. B. DATETIMEFROMPARTS) ähnlich DateSerial in VB
    • PARSE()/ FORMAT() - wie ihre .NET-Gegenstücke
    • TRY_CONVERT()/TRY_PARSE() - NULL zurückgeben, wenn CONVERT/PARSE fehlschlägt
  • Erweiterte Ereignisse verfügen über eine erweiterte Benutzeroberfläche für die Konfiguration/Anzeige und decken schließlich die Trace-/Überwachungsfunktionen vollständig ab (einschließlich einer viel besseren Kausalitätsverfolgung).

  • Viele neue DMVs , Systemprozeduren und ShowPlan-Verbesserungen für Diagnose und Leistungsfehlerbehebung. Schauen Sie sich auch an, was CSS " The Black Box Recorder " nennt.

  • Server Core ermöglicht die Ausführung auf einem Server mit minimalem Mindestaufwand ohne alle UI-Komponenten (eine kleinere Oberfläche bedeutet, dass mehr vorhanden ist sichere und reduzierte Wartung, da weniger Teile des Betriebssystems Windows Update unterliegen).

  • Die Volltextsuche bietet einige wichtige Leistungsverbesserungen sowie eine semantische Suche (Think Keywords) und eine anpassbare Nähe/NEAR.

  • AWE wird nicht mehr unterstützt , was bedeutet, dass Ihre SQL Server-Instanz auf x86 mit 32 GB RAM nur noch in der Lage sein wird) 4 GB zu verwenden - damit Sie endlich die Motivation haben, von Ihrer alten 32-Bit-Hardware abzusteigen.

62
Aaron Bertrand

Das Folgende sind nur einige Beispiele in Bezug auf "tatsächliche Beweise für oder gegen Zuverlässigkeit in der ersten Version einer neuen Version", wie angefordert. Dies ist keine vollständige Analyse, sondern ein Vorschlag, was Sie möglicherweise untersuchen möchten.

Sie können "Liste der Probleme, die durch SQL Server 2008 Service Pack 1 behoben wurden" und "Liste der Probleme, die durch SQL Server 2008 Service Pack 3 behoben wurden" auf der MSDN-Website googeln. Vergleichen Sie die Anzahl und den Schweregrad der Probleme in beiden Listen. IMO ist die erste Liste länger und enthält mehr Elemente, die meinen Tag ruinieren könnten, wie zum Beispiel:

  • Fehlermeldung, wenn Sie eine Verbindung zu einer benannten Instanz von SQL Server auf einem Clientcomputer herstellen, auf dem Windows Vista oder Windows Server 2008 ausgeführt wird
  • Der Log Reader Agent überspringt einige Transaktionen, wenn der Log Reader Agent ausgeführt wird, um Transaktionen zu replizieren
  • Fehlermeldung, wenn Sie eine Abfrage ausführen, die eine äußere Verknüpfungsoperation in SQL Server 2008 umfasst
  • Fehlermeldung, wenn Sie eine Aktualisierung oder einen Löschvorgang für eine Tabelle ausführen, für die in SQL Server 2008 kein Clustered-Index erstellt wurde
  • Eine Abfrage, die Parameter und die Option RECOMPILE verwendet, gibt falsche Ergebnisse zurück, wenn Sie die Abfrage in SQL Server 2008 in mehreren Verbindungen gleichzeitig ausführen

Lassen Sie uns eine weitere Ebene aufschlüsseln und nur einen Befehl betrachten, die MERGE. Es wurde als Teil von SQL 2008 mit mehreren Problemen veröffentlicht, die unter den folgenden Links beschrieben werden:

Aus diesem Grund habe ich mich zum Zeitpunkt der ursprünglichen Version von SQL 2008 gegen die Verwendung von MERGE entschieden. Ich benutze MERGE jetzt viel, auf 2008 R2, und ich denke, es ist eine wirklich großartige Funktion.

Bearbeiten: hier ist die Liste der Fehler in SQL 2012, die kürzlich behoben wurden . Ich hoffe es hilft.

Eine weitere Änderung: Ich habe MERGE für eine detailliertere Analyse ausgewählt, da dies eine sehr wichtige Verbesserung darstellt. Tatsächlich ist dies ein wichtiger Schritt, um Oracle einzuholen, und es verbessert unsere Produktivität. Daher wurde MERGE zum Zeitpunkt der Veröffentlichung von SQL 2008 viel vermarktet. Es war jedoch noch nicht vollständig einsatzbereit, als es ursprünglich veröffentlicht wurde, und es gab keine einfache Möglichkeit, es anhand von Präsentationen/Artikeln/Blog-Posts und dergleichen zu erkennen.

In ähnlicher Weise ist die Snapshot-Isolation eine großartige neue Funktion, die einfach funktioniert. Das Aufrufen von skalaren UDFs in CHECK-Einschränkungen funktioniert jedoch nicht in allen Fällen und sollte daher nicht in der Produktion verwendet werden, wenn Datenintegrität erforderlich ist. Beide neuen Funktionen wurden jedoch in Präsentationen zu "Was ist neu in SQL xxxx" sowie in Büchern, Artikeln usw. und mit ähnlicher Begeisterung empfohlen.

Wir müssen mit neuen Funktionen sehr vorsichtig sein - nicht alle werden nützlich/zuverlässig/leistungsfähig sein.

14
A-K

Ein Punkt, der hier nicht erwähnt wurde, ist für den Funktionsumfang völlig irrelevant. Wenn Sie einen neuen Build ausführen, können Sie ein Datenbank-Upgrade etwas länger verschieben, wodurch Migrationskosten eingespart werden.

Bei einem Greenfield-Projekt haben Sie eine gewisse Atempause, um Fehler zu umgehen und sie beim Anbieter zu melden, wenn sie auftauchen. Dies ist also kein völlig unkontrollierter Prozess. Ich war an einem der ersten Data Warehouse-Projekte unter SQL Server 2005 beteiligt, als es zu RTM] ging, und wir kamen damit durch.

Wenn der Funktionsumfang von 2008R2 das tut, was Sie wollen, liegt die Entscheidung im Risiko von Fehlern/Problemumgehungen im Vergleich zum Wert der Verschiebung der Notwendigkeit eines Upgrades und des Speicherns eines Upgrade-Zyklus.

Wenn Sie neu kaufen, ist die Auswahl ganz anders als wenn Sie ein Upgrade in Betracht ziehen. Ich bin der Überzeugung, dass Sie immer die neueste Version kaufen sollten, die Sie bekommen können. Die Version 2008 wird nicht mehr viel früher als die Version 2012 unterstützt. Beginnen Sie besser mit dem neuesten, da Sie dieses Backend noch lange verwenden werden.

Die Notwendigkeit des ersten Service Packs wird nicht bekannt sein, bevor Sie es wissen. Da Sie eine Neuentwicklung durchführen, werden die Probleme, die es behebt, Sie wahrscheinlich nicht so sehr betreffen, wie es bei einer Legacy-Datenbank mit Millionen von Datensätzen der Fall wäre.

Wenn Sie nur einen neuen Server erhalten, aber eine alte Datenbank darauf ablegen, stellt sich die Frage, von was Sie ein Upgrade durchführen. Wenn es sich bei der Datenbank bereits um eine Datenbank von 2008 handelt, ist die Verwendung derselben Version erheblich weniger riskant. Überprüfen Sie beim Upgrade, ob Sie von Ihrer Version direkt auf 2012 aktualisieren können.

6
HLGEM