Installation SQL Server 2016 RC 2

Microsoft hat am 1. April 2016 (kein Scherz) die Verfügbarkeit eines neuen Release Candidate (RC 2; Versionsnummer 13.0.1300.275) für SQL Server 2016 angekündigt. Zwischenzeitlich steht dieser RC 2 zum Download bereit. Nachdem ich am Wochenende einige Tests mit SQL Server geplant hatte und nicht an eine bestimmte Version gebunden war, habe ich mir dafür gleich die neue Version installiert. Bei der Installation der Datenbank-Engine, die ich für meinen Test benötigt habe, sind mir einige Punkte aufgefallen, die von der Installation früherer Versionen abweichen und die ich Euch nicht vorenthalten möchte.

Nach einer längeren Pause des Nicht-Bloggens habe ich auf Wunsch vieler Follower mich nun entschlossen, wieder Ab und Zu auf dieser Seite aktuelle Entwicklungen in der IT, speziell zu Themen rund um SQL Server inkl. Business Intelligence, Windows Server, PowerShell, Security usw. zu veröffentlichen. Ich freue mich wieder über Feedback und über interessante Diskussionen zu dem einen oder anderen Thema.
Euer Sylvio

Wer einen groben Überblick darüber haben möchte, was im SQL Server 2016 neu ist. Sollte sich das Datasheet ansehen. Allgemein lässt sich das aber in sechs große Gruppen aufteilen:

  • Real-time operational analytics
  • Always encrypted
  • Polybase
  • End-to-end mobile BI
  • In-Database advanced Analytics
  • High-Performance Data Warehouse
  • Stretch database

Weitere Informationen zum SQL Server 2016 finden Sie unter https://www.microsoft.com/en-us/server-cloud/products/sql-server-2016/ und natürlich auch künftig auf diesem Blog.

Bitte beachten Sie, dass es sich bei der in diesem Blog verwendeten Version um eine „Beta“-Version handelt. Die finale Version weicht möglicherweise von den hier abgebildeten Screenshots und der beschriebenen Funktionalität ab – die Wahrscheinlichkeit dafür ist wohl aber eher gering, da es sich ja bereit um einen Release Candidate handelt und aus der Erfahrung das Release to Manufacture (RTM) nur geringfügig davon abweicht.

Im neuen RC 2 hat sich im Vergleich zum vorhergehenden RC 1 jedoch nicht viel getan (wie man auch an den Release Notes sehen kann). Doch das ist wohl auch nicht der Sinn eines Release Candidate. Die wichtigsten Erweiterungen, die auf der Ankündigung zu lesen sind, betreffen:

  • R Services setup – the setup process for R Services is much more integrated into SQL Server setup. There is no longer a need to manually download and install Microsoft R open and R Server if the SQL Server is connected to the Internet; it becomes part of the SQL Server install sequence.
  • Mobile reports – Brand Packages will now be downloaded to the mobile report publisher from a server running RC2 and available for use in report creation.  Basic mobile report content migration between servers is now supported.

Doch auch in dieser Version gibt es noch einige bekannte Probleme, die hoffentlich in der finalen Version behoben sein werden. Außerdem sind im Setup-Programm noch nicht alle Texte lokalisiert (auch in deutscher Sprache verfügbar). Doch auch dies wird sich bestimmt noch ändern.

Nun aber zu den Abweichungen bei der SQL Server 2016-Installation:

Bei vorhergehenden Versionen war das Vorhandensein des .NET Framework 3.5 zwingende Voraussetzung für die SQL Server-Installation. Dieser Punkt ist nun weggefallen und dadurch wird die Installation bei vielen nun flüssiger durchgeführt werden können. Denn oft wurde dieser Punkt vergessen und musste nachträglich installiert werden.

Auch wenn auf den ersten Blick das Installationscenter von SQL Server unverändert erscheint, hat es doch einige neue Punkte, die beachtet werden sollten:

Bild1

So erscheint nun beispielsweise auf der Installationsseite ein Punkt für die “SQL Server-Verwaltungstools installieren” und ein anderer für “SQL Server Data Tools installieren”. Auf die beiden Punkte werde ich später noch eingehen.

Bei der Auswahl des Produktschlüssels taucht jetzt bei den kostenlosen Editionen neben der Evaluation und Express Edition auch die Developer Edition auf.

Bild12

Ich vermute mal, dass das damit zusammenhängt, dass die Developer Edition (bereits ab der Version 2014) nun kostenlos zur Verfügung steht. Dies wurde am 31. März 2016 durch Microsoft offiziell bekanntgegeben. Voraussetzung dafür ist die Registrierung als Mitglied der Visual Studio Dev Essentials Community und anschließend kann man dort kostenlos SQL Server 2014 Developer Edition herunterladen. Somit dürfen nun alle SQL Server Developer Edition für die Programmierung und Test verwenden, ohne dafür eine separate Lizenz zu benötigen. Sie sollten jedoch folgenden Punkte beachten, an denen sich auch weiterhin nichts ändert:

SQL Server Developer Edition entspricht vom Funktionsumfang der SQL Server Enterprise Edition. Jeder Benutzer dieses Edition benötigt eine Lizenz. Diese Edition darf nicht in einer Produktionsumgebung verwendet werden. Eine solche Umgebung wird durch Microsoft wie folgt definiert (siehe SQL Server 2014 Licensing Guide – Microsoft Seite 17):

A production environment is defined as an environment that is accessed by end-users of an application (such as an Internet website) and that is used for more than gathering feedback or acceptance testing of that application. Other scenarios that constitute production environments include:

    • Environments that connect to a production database.
    • Environments that support disaster-recovery or backup for a production environment.
    • Environments that are used for production at least some of the time, such as a server that is rotated into production during peak periods of activity.

Wie man an dem folgenden Bild sehen kann, hat sich auch bei den Features einiges getan (im Vergleich zum SQL Server 2014):

Bild2

Folgende Komponenten sind neu hinzugekommen:

  • R Services (datenbankintern)
  • PolyBase-Abfragedienst für externe Daten
  • R Server (standalone)

Wie bereits eingangs erwähnt, befinden sich nun aber die Client Tools und somit auch das SQL Server Management Studio nicht mehr in den möglichen zu installierenden Features (Schade!). Wer diese Tools auf dem Server/Workstation benötigt, muss sie nun durch ein zusätzliches Installationsprogramm installieren.

Bisher war die Konfiguration einer SQL Server-Installation für den “normalen” Anwender (kein Experte) immer sehr komplex und oft kam es durch Fehlkonfiguration zu Performance- und Sicherheitsproblemen. Um diesen vorzubeugen hat es Microsoft mit SQL Server 2016 nun endlich geschafft, einige Optimierungen bereits in das Setup-Programm mit einfließen zu lassen. Einige dieser Optimierungen sind versteckt (für den Anwender schwer zu finden) und einige sind offenkundig.

Die erste Optimierung fällt auf, wenn der Dialog “Serverkonfiguration” erscheint. Hier gibt es eine neue Option “SQL Server Database Engine Services Berechtigung zum Ausführen von Volumewartungstask zuweisen”.

Bild3

Auch wenn die Übersetzung von “Volumewartungstask“ hier etwas ungeschickt ist (“Volumewartungsaufgaben” oder in Englisch “volume maintenance tasks”), sollten Sie diesen Punkt bei der Installation auf jeden Fall aktivieren. Hierbei handelt es sich um eine Option, die ich meinen Kunden (trotz Sicherheitsbedenken von Microsoft) empfehle, da damit alle Aktionen beim Vergrößern einer Datenbank-Daten-Datei (mdf, ndf) beschleunigt werden (dies hat keinen Einfluss auf Transaktionsprotokolldateien; ldf). Wenn Sie es bei der Installation vergessen haben, können Sie die Einstellung natürlich auch noch nachträglich anpassen. Eine Anleitung dafür finden Sie unter https://msdn.microsoft.com/en-us/library/ms175935(v=sql.130).aspx.

In der Datenbankmodulkonfiguration steht nun auch die Vorinitialisierung der TempDB zur Verfügung. Dies ist für die meisten Datenbankinstanzen sehr sinnvoll.

Bild4

Seit SQL Server 2016 CTP 2.4 ist der Dialog sehr erweitert worden. Leider hat sich an den Standardwerten für die Datenbankdateien nichts getan und sie sind weiterhin viel zu klein bemessen. Außerdem fehlt mir auf der Seite eine Hilfestellung für den Endanwender, wie er die TempDB sinnvoll einrichtet. Deshalb nachfolgend ein paar Regeln, die es bei der TempDB zu beachten gilt:

  • Die Anzahl der TempDB-Daten-Dateien sollte sich nach dem jeweiligen Einsatzszenario und dem Bedarf richten. Somit kann es keine für alle Systeme geltende Regel geben.
    Eine typische Empfehlung ist, dass die Anzahl der Dateien der Anzahl der CPU-Kerne entsprechen, die maximale Anzahl jedoch nicht größer als 8 werden sollte.
  • Idealerweise sollte sich jede Daten-Datei auf einem eigenen Volume befinden. Da Ihnen aber sehr schnell die Laufwerksbuchstaben ausgehen, legt man die TempDB-Daten-Dateien oft auf einem Volume zusammen. Dieses Volume sollte jedoch ein anderes sein, als das, auf dem sich die Datenbank-Dateien Ihrer anderen Datenbanken befinden.
    Aufgrund der Wichtigkeit empfehle ich Ihnen die TempDB auf den schnellsten Datenträger auf Ihrem System zu legen (messen Sie die Performance vor der Installation).
  • Die Gesamtgröße der TempDB ist abhängig davon, was die Anwendungen, die auf der Datenbankinstanz zugreifen, so mit der TempDB anfangen. Bei Umgebungen, zu denen keine Erfahrungswerte vorliegen, initialisiere ich jede Daten-Datei mit 1 GB. Die Initialgröße für die Transaktionsprotokoll-Datei (ldf) setze ich auf ca. 1/10 der Größe aller Daten-Dateien. Als Autogrowth-Wert trage ich fest 512 MB ein.
    SQL Server hat ein sehr ungewöhnlichen Umgang mit der TempDB, da diese bei jedem Serverneustart wieder auf die vordefinierten Werte zurückgesetzt wird (siehe folgendes Bild)
    C 08f 017
    Quelle: http://logicalread.solarwinds.com/media/332502/c08f017.jpg
  • Alle Dateien der TempDB (wie auch aller anderen Datenbanken) sollten identisch initialisiert werden – gleiche Größe, gleicher Wachstumswert (Autogrowth)
  • Überwachen Sie die TempDB, um Contentions zu verhindern. Zusätzlich sollten Sie Füllstand und Wachstum der TempDB (und auch aller anderen Datenbanken) in die Überwachung mit aufnehmen.

Ausnahmsweise gebe ich für diese Regeln keine weiteren Erläuterungen (wie z. B. Ursachen und Zusammenhänge). Dies würde den Artikel sprengen bzw. wäre schon wieder ein eigener Artikel oder ein ganzes Buch. Nachdem diese Informationen jedoch zahllos in Internet zu finden sind, können Sie selbst danach suchen. Wer trotzdem noch Fragen hat, darf sich natürlich gerne auch weiterhin direkt an mich wenden.

Letzter Hinweis zur TempDB: In vorhergehenden SQL Server-Versionen gab es die allgemeine Empfehlung die Ablaufverfolgungsschalter (wohl besser bekannt als “trace flags”) 1117 und 1118 zu setzen (speziell auch für die TempDB). Nachdem Microsoft in der dreizehnten SQL Server-Version dies auch endlich verstanden hat, haben sie diese beiden Schalter standardmäßig aktiviert. Danke!

Nach Hause telefonieren

Neben den vielen guten (naja) Nachrichten, gibt es leider aber auch einige Punkte, die ich in Verbindung mit SQL Server nicht ganz so cool finde und, wenn sie auch noch gut versteckt sind, ein gewisses Risiko bedeuten, wenn ein unbedarfter Anwender darüber nicht hinreichend unterrichtet ist. Zu einem dieser Features gehört die Unterstützung von Telemetrie. Auch wenn die Definition in der Wikipedia eher harmlos erscheint, bedeutet das im Zusammenhang mit Software, dass Microsoft über das Nutzungsverhalten ihrer Software unterrichtet werden möchte.

Quelle: https://sylvioh.files.wordpress.com/2016/04/24c8d-is-microsoft-spying-on-you.jpg

Daraus möchte Microsoft direkt die Software verbessern und bspw. auf mögliche Fehlerszenarien schneller reagieren können. Bei Versionen vor SQL Server 2016 hat Microsoft dies durch die Implementierung eines Programms zur Verbesserung der Benutzerfreundlichkeit (Customer Experience Improvement Programs and Error Reporting; CEIP), die bei der Installation explizit bestätigt werden musste:

Bild14

Mit SQL Server 2016 hat Microsoft dies nun geändert und sammelt standardmäßig “anonymisierte” Daten über das Nutzungsverhalten von SQL Server ein (geändert vom Opt-In zu Opt-Out). Microsoft sagt zwar im folgenden Knowledge Base-Artikel was sie nicht einsammeln:

Specifically, Microsoft does not send any of the following types of information through this mechanism:

  • Any values from inside user tables
  • Any logon credentials or other authentication information
  • Personally Identifiable Information (PII)

Doch leider verheimlichen sie uns, was nun wirklich drin ist. Schön ist jedoch, dass sie uns wenigsten erzählen, was sie damit anfangen wollen. Dafür haben sie sogar eine eigene Web-Seite (SQL Server Privacy Statement) angelegt. Auf der zu lesen ist (wenn Sie die “Learn More”-Option aktivieren):

Except as described in this statement, personal information you provide will not be transferred to third parties without your consent. We occasionally hire other companies to provide limited services on our behalf, such as packaging, sending and delivering purchases and other mailings, answering customer questions about products or services, processing event registration, or performing statistical analysis of our products or services. We will only provide those companies the personal information they need to deliver the service, and they are prohibited from using that information for any other purpose.

Microsoft may access or disclose information about you in order to: (a) comply with the law or respond to lawful requests or legal process; (b) protect the rights or property of Microsoft or our customers, including the enforcement of our agreements or policies governing your use of the product; or (c) act on a good faith belief that such access or disclosure is necessary to protect the personal safety of Microsoft employees, customers or the public.

Information that is collected by or sent to Microsoft by SQL Server may be stored and processed in the United States or any other country in which Microsoft or its affiliates, subsidiaries or service providers maintain facilities, and by using a Microsoft site or service, you consented to any such transfer of information outside of your country. Microsoft abides by the safe harbor framework as set forth by the U.S. Department of Commerce regarding the collection, use, and retention of data from the European Union.

Möchten Sie dies nicht bzw. nachträglich aktivieren/deaktivieren können Sie die “Error and Usage Reporting”-Anwendung bzw. dies über Registry-Einträge steuern. Diese sind ebenfalls in dem vorher genannten KB-Artikel dokumentiert.

Diese “kostenlose” Funktion können Sie aber nur in SQL Server-Editionen ausschalten, die Sie gekauft haben. In kostenlosen Editionen (Developer, Evaluation, Express) ist dies nicht möglich.

Sobald ich weitere Informationen zum Inhalt solcher Berichte habe, lasse ich es Sie wissen.

Installation von Kommandozeile

Nachdem sich am Installationscenter für den SQL Server 2016 einiges geändert hat, hat dies logischerweise auch Einfluss auf die Installation per Kommandozeile. Das hat natürlich den Nachteil, dass wieder einmal bestehende “selbstgeschriebene” Installationsprogramme überarbeitet werden müssen (sehr lästig! denn wer hat dafür schon Zeit und Budget?). Leider gibt es für die aktuelle Version auch noch keine offizielle Dokumentation der Kommandozeilenparameter bzw. bei der Verwendung einer Konfigurationsdatei für das Setup. Da es sich aktuell nur um einen RC handelt, gehe ich davon aus, dass Microsoft irgendwann die Seite mit der entsprechenden Hilfe (https://msdn.microsoft.com/de-de/library/ms144259(v=sql.130).aspx) aktualisiert.

SQL Server Management Studio-Installation

Wie bereits festgestellt, gibt es nun für das SQL Server Management Studio (SSMS) eine eigene Installationsroutine. Aus dem Installationscenter des Standard-Setup ist dieses Feature verschwunden. Dies wird wohl einen Aufschrei vieler SSMS-angewiesener Administratoren nach sich ziehen. Dies hat natürlich speziell für Microsoft einige Vorteile wie z. B. dass das SSMS unabhängig von der SQL Server-Version weiterentwickelt und aktualisiert werden kann. Doch auch für den Anwender ergeben sich durch die Trennung des SSMS vom Produkt eine Reihe von Vorteile, die in der Knowledge Base

Bild5

auch entsprechend dokumentiert sind:

  • SSMS ist nun lizenzfrei, d. h. Sie dürfen es auch verwenden, wenn Sie keine SQL Server Lizenz haben
  • Alle SQL Server-Versionen werden unterstützt (insofern sie noch von Microsoft unterstützt werden): 2008 ..2016
    ältere Versionen (SQL Server 2000 und 2005) sind nicht explizit geblockt, doch einige Funktionen werden nicht unterstützt
  • volle Unterstützung der Funktionen der Azure SQL Database
  • verschiedene Versionen von SSMS können parallel installiert werden
  • Folgende Plattformen werden unterstützt: Windows 10, Windows 8, Windows 8.1, Windows 7 (SP1), Windows Server 2012 (64-bit), Windows Server 2012 R2 (64-bit), Windows Server 2008 R2 (64-bit)
  • Folgende lokalisierte Versionen sind verfügbar: Chinesisch (China), Chinesisch (Taiwan), Englisch (USA), Französisch, Deutsch, Italienisch, Japanisch, Koreanisch, Portuguesisch (Brazilien), Russisch, Spanisch

Zum Download des März 2016-Releases (Versionsnummer: 13.0.13000.55) können Sie diesen Link verwenden. Das Download-Paket ist mit mehr als 860 MB sicherlich nicht das kleinste.

Für die Installation dieses Paketes gibt es mehrere Möglichkeiten, die durch Kommandozeilenschalter gesteuert werden können:

Unbenannt

In einem Unternehmenskontext empfehle ich Ihnen ein zentrales Installationsverzeichnis für das SQL Server Management Studio anzulegen (mit Layout-Parameter) bzw. ein eigenes Installationspaket (z. B. MSI) daraus zu erstellen und per Softwareverteilung (z. B. System Center Configuration Manager; SCCM) zu verteilen. Für den Einsatz des “Normalanwenders” reicht es jedoch aus, wenn die das SETUP-Programm einfach ausführen und den Weisungen des Assistenten folgenden:

Bild6

Bild7

Bild8

Nachdem Sie das SQL Server Management Studio (SSMS) installiert habe, werden Sie wahrscheinlich enttäuscht (oder begeistert) feststellen, dass sich auf den ersten Blick nichts geändert hat, da die offensichtlichen Änderungen nur kosmetischer Natur sind wie z. B Einführung von Farbschemata und Quick Launch Bar.  Sobald die finale Version da ist, werde ich die ganz bestimmt genauer ansehen und möglicherweise auch den einen oder anderen Hinweis oder Tipp wieder hier veröffentlichen.

SQL Server Data Tools-Installation

Bei SQL Server Data Tools gibt es auch mit SQL Server 2016 weiterhin zwei unterschiedliche Editionen:

Nachdem bei der Edition für Datenbank-Projekte bereits SQL Server 2016 unterstützt wird, ist die Edition für Business Intelligence nur bis SQL Server 2014 vorgesehen. Irgendwann wird es zwar auch die entsprechende Version für SQL Server 2016 geben, doch bis dahin bleibt uns wohl nichts weiter übrig, als zu versuchen, die Vorgängerversion zu verwenden. Nachteil: Die neuen BI-Features stehen Ihnen dort logischerweise nicht zur Verfügung. Nachdem aus der Erfahrung heraus die BI-Edition auch erst lange nach erscheinen der finalen SQL Server-Version erscheint, müssen Sie wohl auch noch länger mit dieser “Krücke” leben. Doch vielleicht überrascht uns Microsoft ja positiv!

Nachdem ich zu den Thema SQL Server Data Tools sowieso gerade dabei bin einen Blogbeitrag zu schreiben, möchte ich es an dieser Stelle auch schon zu dem Thema bewenden lassen.

Bild9

Bild10

Bild11

Schlussbemerkung

SQL Server 2016 hält wieder einige Neuerungen bereit, die für einige Anwendungen/Anwender sicherlich interessant sein dürften. Um speziell Ihnen den Einstieg in diese Welt zu erleichtern, habe ich mich entschlossen diesen Beitrag zu schreiben. Sicherlich werde in den nächsten Wochen und Monaten wieder einige folgen.

Hier noch ein Hinweis an alle die heute noch SQL Server 2005 in einem produktiven Umfeld einsetzen: Der erweiterten Support ist seit dem 12. April 2016 (also gestern) offiziell durch Microsoft beendet worden. Das bedeutet für Sie, dass Sie ab sofort keine Sicherheitsupdates oder Hotfixes für dieses Produkt erhalten und auch durch den technischen Support keine Anfragen zu dem Produkt mehr stellen können, wenn Sie mit Microsoft keinen individuellen (extrem teuren) Vertrag über eine Verlängerung des Supports abgeschlossen habe:

“Today is the last day of extended support for SQL Server 2005. Starting tomorrow, companies running SQL Server 2005 will no longer receive security updates or hotfixes from Microsoft. We started on this journey eighteen months ago, with our first discussion on the end of support for SQL Server 2005, and sharing information about how to upgrade. If you haven’t migrated your SQL Server 2005 databases to a newer version of SQL Server, now is the time to put in place a plan for action.” Quelle: https://blogs.technet.microsoft.com/dataplatforminsider/2016/04/12/beyond-end-of-support-seeing-value-in-modernization/

Bild13

Deshalb sollten Sie kurzfristig für solche Systeme eine Alternative finden. Eine Migration auf eine neuere Version ist jedoch möglicherweise schwierig, da eine direkte Migration wie z. B. auf SQL Server 2016 höchstwahrscheinlich nicht durch Microsoft nicht mehr unterstützt werden wird. Somit ist möglicherweise eine Zwischenmigration (z. B. auf SQL Server 2012) erforderlich. Genaueres kann ich Ihnen jedoch erst sagen, wenn die finale Version von SQL Server 2016 erschienen ist.

Bei SQL Server 2008 bzw. SQL Server 2008 R2 ist die Situation nicht ganz so kritisch (aber immer noch eine Überlegung wert): Der Mainstream Support ist zwar bereits seit zwei Jahren beendet, doch noch erhalten Sie kostenlose Sicherheitsupdates und technischen Support (kostenpflichtig, wenn Sie keinen anderslautenden Vertrag mit Microsoft haben). Nachdem der erweiterte Support jedoch auch für diese Versionen nur noch drei Jahre besteht, sollten Sie bereits heute beginnen eine Migration zu planen. Meiner Erfahrung nach dauert eine Migration von SQL Server in einem mittelgroßen Unternehmen mit mehreren SQL Server-Instanzen ca. 2 Jahre.

Sollten Sie Fragen zum Thema Migration haben bzw. Unterstützung benötigen, können Sie sich gerne an mich wenden.

Advertisements
Über

Die IT-Welt wird immer komplexer und zwischen den einzelnen Komponenten gibt es immer mehr Abhängigkeiten. Nachdem ich durch meine tägliche Arbeit immer wieder vor der Herausforderung stehe, komplexe Probleme zu lösen, möchte ich diese Seite dafür verwenden, Euch den einen oder anderen Tipp zu geben, wenn Ihr vor ähnlichen Aufgabenstellungen steht.

Veröffentlicht in SQL Server

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s

%d Bloggern gefällt das: