Nun, ich kann nicht behaupten, dass Sie es hier zuerst gehört haben, da es heute von Scott Guthrie (@ScottGu) angekündigt wurde ) bei Verbinden(); // 2016 und auch im Blog des SQL Server-Teams , aber SQL Server 2016 Service Pack 1 ist der Build von SQL Server, mit dem endlich fast jeder ein Upgrade von allen vorherigen Versionen durchführen kann.
Warum? Nun, ich hoffe, Sie sitzen:
Viele Enterprise-Funktionen sind jetzt in Standard, Web und Express verfügbar. Das ist eine GROSSE SACHE.Ich bin seit langem ein Befürworter, die Oberfläche in allen Editionen gleich zu machen und jede Edition auf Hardware-/Ressourcengrenzen zu beschränken. Letzteres ist bereits bei der Express Edition (1 CPU, 1 GB Speicher, 10 GB Datenbankgröße) und der Standard Edition (24 Kerne, 128 GB) der Fall, aber Features selbst sind dort einfach nicht vorhanden. Während sie einige Funktionen rund um Verfügbarkeitsgruppen hinzugefügt haben (begrenzte Unterstützung in der Standard Edition und die Möglichkeit, auf eine Domäne zu verzichten), scheinen viele der Funktionen, die derzeit nur für Unternehmen verfügbar sind, überhaupt nicht für Unternehmen geeignet zu sein. Hier sind zumindest meiner Meinung nach einige Gründe und Konsequenzen, warum so viele kritische Funktionen nur in Enterprise untergebracht werden:
- Datensicherheit scheint in den letzten Jahren in den Hintergrund getreten zu sein. Es sollte in allen Ausgaben enthalten sein; Ich war enttäuscht, als Always Encrypted veröffentlicht wurde und es auf Enterprise beschränkt war. Die implizite Botschaft war, dass Sie als kleines Unternehmen nicht in der Lage sein müssen, Kreditkartendaten zu verschlüsseln (sie sagen das gleiche mit Transparent Data Encryption, aber Always Encrypted ist ein viel wertvolleres Angebot).
- Programmierfunktionen dass Schwarzarbeit als Leistungsmerkmale – wie Datenkomprimierung und Partitionierung – wohl auf der Enterprise-Seite der Dinge liegen, obwohl ich immer das Gefühl hatte, dass der Sweet Spot der Datenkomprimierung kleine Unternehmen sind, die es sich nicht leisten können, einfach Speicher hinzuzufügen, schnellere Festplatten zu kaufen, oder auf Enterprise upgraden.
Wenn ein Anbieter in aktuellen Versionen die Vorteile der Komprimierung oder Partitionierung nutzen möchte, muss er berücksichtigen, dass nicht alle seine Kunden die Enterprise Edition verwenden werden. Ebenso möchten Kunden dieselbe Codebasis in ihren QA-, Produktions- und Entwicklungsumgebungen verwenden, aber diese haben möglicherweise auch nicht alle dieselbe Edition. Sowohl Anbieter als auch Kunden möchten außerdem Funktionen nutzen können, die sowohl in der Cloud als auch in der Box verfügbar sind, unabhängig von Tier oder Edition. Derzeit müssen sie entweder mehrere Codebasen schreiben oder sich einfach dem kleinsten gemeinsamen Nenner ergeben.
- Akzeptanzraten sind niedrig weil Upgrades der Standard Edition in den letzten Jahren in vielerlei Hinsicht alles andere als überzeugend waren, was bedeutet, dass viele Leute mit ihren 2012 Standard-Instanzen zufrieden sind. Sie profitieren nur nicht wirklich vom Umstieg auf eine neuere Version, und in vielen Fällen überwiegen die Kosten für das Testen einer Migration und den Umgang mit Regressionen tatsächlich alle Vorteile.
Kollegen wie Brent Ozar und Steve Jones haben ähnliche Gedanken gehabt und argumentiert, dass die besten Funktionen aus Umsatzgründen von Standard und niedrigeren Editionen ausgeschlossen bleiben, aber das ist nicht so, wie es sein sollte.
Und jetzt nicht mehr.
Funktion | Express | LokaleDB | |
---|---|---|---|
Immer verschlüsselt | |||
Datenerfassung ändern | |||
Columnstore | |||
Datenkomprimierung | |||
Datenbank-Snapshots | |||
Dynamische Datenmaskierung | |||
Fine-Grained Auditing | |||
In-Memory-OLTP | |||
Partitionierung | |||
PolyBase | |||
Sicherheit auf Zeilenebene |
1. Begrenzt auf 32 GB pro Instanz bei Standard Edition, 352 MB bei Express.
2. Begrenzt auf 32 GB pro Datenbank bei Standard Edition, 352 MB bei Express.
Ich habe keine Beweise dafür, aber ich glaube, dass aufgrund der langsamen Annahmeraten von SQL Server 2016 – und insbesondere der Standard Edition – Microsoft endlich zugehört hat . Vielleicht haben sie erkannt, dass es nicht funktioniert, so viele überzeugende Funktionen nur in der Enterprise Edition verfügbar zu machen. Aus einem Stein kann man kein Blut bekommen, sagt man.
Die Tabelle hier zeigt den Satz von Funktionen, die jetzt außerhalb der Enterprise Edition aktiviert sind (einige Funktionen waren bereits in Standard vorhanden, aber ich hatte keine gute Möglichkeit, dies zu veranschaulichen). Es muss nur eine Tabelle sein wegen drei Funktionen, die auf Express und/oder LocalDB nicht funktionieren (aufgrund von SQL Server Agent, Berechtigungen oder externen Abhängigkeiten).
Das ist mein schneller Spickzettel; überprüfen Sie die Dokumentation für die neuesten Updates. Ich habe die meisten Funktionen getestet und sie funktionieren so, wie Sie es erwarten würden – nicht um den Aufwand zu trivialisieren, aber sie haben nur die Überprüfungen entfernt, die die Funktionalität basierend auf der Edition blockiert haben. Ich dachte, ich würde sie stolpern lassen, indem ich über die Grundlagen hinaus teste, wie inkrementelle Statistiken für partitionierte Tabellen und Kombinationen wie Columnstore über einer komprimierten Tabelle, um zu sehen, ob sie etwas übersehen haben. Aber nein – alles in der Tabelle funktionierte so, als würde ich die Enterprise Edition ausführen.
Allerdings lag der Fokus hier auf einer konsistenten Programmieroberfläche (CPSA). Also nein, Sie erhalten nicht plötzlich alle Vorteile der Enterprise Edition kostenlos oder zu einem erheblichen Preisnachlass – siehe unten für Funktionen, die nicht funktionieren. Und einige der oben genannten Funktionen können je nach Edition noch skalierungsbeschränkt sein.
Nichtsdestotrotz bietet dies eine großartige Lösung für Nr. 2 oben:Wenn viele dieser Funktionen in allen Editionen funktionieren, auch wenn sie unterschiedliche Skalierungsstufen unterstützen, wird es sowohl für Kunden als auch für Anbieter einfacher, Lösungen zu entwickeln, die unabhängig von ihrem Standort funktionieren sind eingesetzt. Das wird ein riesiger Gewinn, sogar über den reinen Vorteil hinaus, Dinge wie Always Encrypted und Partitionierung endlich überall nutzen zu können.
Was unterscheidet Editionen noch?
Wenn es sich zuvor um eine Betriebs- oder Verfügbarkeitsfunktion auf Unternehmensebene handelte, oder innerhalb einer bestimmten Gruppe von Leistungsfunktionen, bleibt dies im Wesentlichen so. Die folgende Liste ist keine vollständige Liste, erfasst aber wahrscheinlich die meisten großen Unterschiede:
- Verfügbarkeitsmerkmale wie Online-Vorgänge, schrittweise Wiederherstellung und voll funktionsfähige Verfügbarkeitsgruppen (z. B. schreibgeschützte Replikate) sind nach wie vor nur für Unternehmen verfügbar. Ich wünsche mir den
REBUILD
+(ONLINE = ON)
Syntax könnte in niedrigeren Editionen als No-Op mit einer Warnung funktionieren, anstatt einen Fehler zurückzugeben, aber ich kann hier nicht zu wählerisch sein.
- Leistungsmerkmale wie Parallelität in Express Edition (oder LocalDB) immer noch nicht funktioniert. Automatische Nutzung der indizierten Ansicht ohne
NOEXPAND
Hinweise und High-End-Funktionen wie Hot-Add-Speicher/CPU sind weiterhin nur in Enterprise verfügbar.
- Betriebsmerkmale wie Resource Governor, Extensible Key Management (EKM) und Transparent Data Encryption bleiben nur die Enterprise Edition. Andere, wie Sicherungsverschlüsselung, Sicherungskomprimierung und Pufferpoolerweiterung, funktionieren weiterhin in Standard, aber immer noch nicht in Express.
- SQL Server-Agent ist in Express und LocalDB immer noch nicht verfügbar. Infolgedessen und wie oben erwähnt, funktioniert Change Data Capture nicht. Serverübergreifender Service Broker ist in diesen Editionen ebenfalls nicht verfügbar.
- In-Memory-OLTP und PolyBase werden in Express unterstützt, sind aber in LocalDB nicht verfügbar.
- Virtualisierungsrechte haben sich nicht geändert und sind in der Enterprise Edition mit Software Assurance immer noch viel wertvoller.
- Ressourcenbeschränkungen für Downlevel-Editionen gleich bleiben . Scheinbar kontrollieren die Bohnenzähler immer noch die obere Speichergrenze in der Standard Edition, also sind es immer noch 128 GB (während die Enterprise Edition jetzt 24 TB ist). Ich persönlich denke, dass diese Obergrenze mit jeder neuen Version (Moore's Law) inkrementell steigen sollte, da ich der Meinung bin, dass die Standard Edition teuer genug ist, dass ihre Speichergrenzen niemals so gefährlich nahe an der Obergrenze eines gut ausgestatteten Laptops liegen sollten. Aber ich nehme, was ich kriegen kann, und wenn Sie bei der Standard Edition stecken bleiben und eine Skalierung erforderlich ist, können Sie jetzt die oben genannten Enterprise-Funktionen in mehreren Standard Edition-Boxen oder -Instanzen verwenden, anstatt zu versuchen, zu skalieren.
Zusammenfassung
Dies ist ein mutiger Schritt von Microsoft, und ich kann mir sicher vorstellen, wie dies die Standardverkäufe steigern wird, ohne die Enterprise-Verkäufe zu kannibalisieren. Kunden der Standard Edition können diese Features nutzen, um ihre Codebasen zu konsolidieren und in vielen Szenarien Lösungen zu erstellen, die eine bessere Leistung bieten. Und für diejenigen, die bereits alle Vorteile der Enterprise Edition nutzen, ist dies vielleicht nicht so interessant für Sie, aber es gibt auch eine Reihe neuer Funktionen, die in allen Editionen von SP1 verfügbar sind . Unabhängig davon, welche Edition Sie jetzt verwenden, haben Sie wirklich keine Entschuldigung dafür, an dieser alten Version von SQL Server festzuhalten.
Führen Sie ein Upgrade auf SQL Server 2016 SP1 durch!