SQL Server Management Studio v18 – Faktencheck

Nachdem ich einem meiner letzten Blogeinträge bereits Tipps zur Installation von SQL Server Management Studio gegeben habe (gab zwischenzeitlich ein paar Update und Erweiterungen auf der Seite), möchte ich mir heute die sehr lange Liste mit den Release Notes (https://docs.microsoft.com/en-us/sql/ssms/release-notes-ssms?view=sql-server-2017) genauer ansehen. Viele Punkte daraus sind teilweise leicht modifiziert in der Ankündigung von SQL Server Management Studio (SSMS) v18 übernommen worden (https://cloudblogs.microsoft.com/sqlserver/2019/04/24/sql-server-management-studio-ssms-18-0-released-for-general-availability/). Ich habe hier absichtlich die englischen Release Notes verwendet, da die Übersetzung für die GA-Version bisher nicht zur Verfügung steht (https://docs.microsoft.com/de-de/sql/ssms/release-notes-ssms?view=sql-server-2017) und Übersetzungen eben nur der Versuch sind, etwas in einer anderen Sprache auszudrücken (aber selten 1:1 übertragen werden können).

Ich denke, dass viele der aufgelisteten Punkte Erklärungsbedarf haben, um zu verstehen, welche Leistung Microsoft mit der neuen Version vollbracht hat. Das Ganze habe ich nun angereichert mit meinen Erfahrungen und ein wenig Recherche jeweils unter dem Punkt “Realität” zusammengefasst.

Hinweise:

  • Die Release Notes seitens Microsoft sind meiner Meinung so kurz, dass sich kaum jemand darunter etwas vorstellen kann. Ich versuche in diesem Beitrag ein wenig “Licht in das Dunkel” zu bringen. Aufgrund der Komplexität einiger dieser Themen könnte man ganze Artikel/Bücher schreiben. Doch mir geht es hier in erster Linie um einen Faktencheck, d. h. was ist mit dem von Microsoft “hingeworfenen” Stichpunkt/Absatz in den Release Notes gemeint.
  • Viele Themen sind so neu, dass sie noch nicht oder nur sehr eingeschränkt seitens Microsoft oder sonst im Internet dokumentiert sind. Deshalb habe ich versucht, etwas Klarheit in diese Punkte zu bringen. Einige Male war auch ich gezwungen Vermutungen anzustellen, was sich dahinter verbergen könnte. Für alle die, die mehr zu den jeweiligen Themen wissen, bin ich über Feedback z. B. in Form eines Kommentars auf dem Block oder per Mail sehr dankbar.
  • Für mich ist ein Blogbeitrag etwas Lebendiges, dass mit der Zeit durch Anreicherung mit neuen Informationen besser werden kann. Deshalb wundert euch nicht, wenn der Beitrag sich künftig noch verändert – es lohnt sich also immer wieder einmal nachzulesen.

SSMS 18.0 is the first release that is fully aware of SQL Server 2019 (compatLevel 150).

Realität: Bisher hatte ich keine Probleme beim Zugriff auf SQL Server 2019. Doch steht noch ein vollständiger Test aus. Sollte mir noch etwas auffallen, was Probleme bei der Arbeit mit SQL Server 2019 mit dem SQL Server Management Studio v18 bereitet, werde ich diese hier dokumentieren.

Support for „BATCH_STARTED_GROUP“ and „BATCH_COMPLETED_GROUP“ in SQL Server 2019 and SQL Managed Instance.

Realität: Bei diesen beiden Events handelt es sich um Database Audit Events für Azure Databases (hätte man ja auch irgendwo erwähnen können, für den unbedarften Anwender).

SMO: Added support for UDF Inlining.

Realität: Erst einmal die Übersetzung: UDF = User defined function (in TSQL) und inlining bedeutet die Verwendung von solchen Funktionen in Abfragen mit “verbesserter Performance”. Diese Funktionalität ist ab SQL Server 2019 bzw. SQL Database in Azure verfügbar. Inwieweit dies mit dem SSMS zu tun hat, ist für mich auf den ersten Blick nicht ersichtlich, denn beides muss ich ja selbst schreiben (wichtig: geht natürlich nur bei Compatibility Level = 150 der Datenbank). Wer tiefer in das Thema einsteigen möchte, findet hier noch weiteren Stoff.

GraphDB: Add flag in showplan for Graph TC Sequence.

Realität: Als freie Übersetzung “GraphDB: Hinzufügung eines Flags im Ausführungsplan für TC-Sequenz in Graph.” Leider findet man diese Information nur in den News zum SSMS v18 und sonst nirgendwo im Internet.

Auch nach meiner verzweifelten Suche nach dem ominösen Flag in Ausführungsplänen von Abfragen einer GraphDB wurde ich nicht fündig.

image

Möglicherweise fehlt mir ja auch nur die Information, was unter einer “TC-Sequence” zu verstehen ist –> da fehlt mir wohl einiges an graphologischen Fachwissen. Aber wichtig ist: das Flag wurde der neuen Version vom SQL Server Management Studio hinzugefügt – wer es findet, darf sich bei mir melden.

Always Encrypted: added support for AEv2 / Enclave.

Always Encrypted: connection dialog has a new tab „Always Encrypted“ when the user clicks on the „Options“ button to enable/configure Enclave support.

Realität: Diese Funktionalität ist neu in SQL Server 2019 (https://docs.microsoft.com/de-de/sql/relational-databases/security/encryption/always-encrypted-enclaves?view=sqlallproducts-allversions) und hat nun auch den Weg in das Management Studio gefunden. Ziel ist die Verschlüsselung einzelner Spalten auf Clientseite – in SQL Server-Versionen 2016 und 2017 hatte entsprechend berechtige Personen (DBAs, Computer/Cloud Admins, …) auch Zugriff auf solch verschlüsselte Daten. Mit der Einführung der Enklaven-Sicherheit können nur noch die Personen die Daten lesen, die dazu auch ermächtigt sind (echt blöd für Steuer-CD-Händler).

Nachdem das ganze Thema so komplex ist, hat diesem Thema Microsoft sogar ein eigenes Tutorial gespendet: https://docs.microsoft.com/de-de/sql/relational-databases/security/tutorial-getting-started-with-always-encrypted-enclaves?view=sqlallproducts-allversions

Interessant in diesem Zusammenhang ist auch die Warnung in dem o. g. Tutorial: “In Produktionsumgebungen sollten Sie niemals SSMS oder andere Tools zum Verwalten von Always Encrypted-Schlüsseln oder Ausführen von Abfragen für verschlüsselte Daten auf dem SQL Server-Computer verwenden, da dies den Zweck der Verwendung von Always Encrypted mindern oder vollständig zunichtemachen kann.” Frage: Wie soll man sinnvollerweise die Schlüssel in das System bringen?

Dieses Feature muss zuerst auf Instanz-Level aktiviert werden:

EXEC sys.sp_configure 'column encryption enclave type', 1; RECONFIGURE;

erfordert jedoch eine große Anzahl an weiteren Einstellungen (betriebssystemseitig) –> ansonsten Fehler wie diesen:

image

Habt ihr es tatsächlich geschafft, dieses Feature in der Instanz zu aktivieren, könnt ihr es in Datenbanken verwenden:

image Quelle des Bildes: o. g. Tutorial

Im Anmeldedialog zur Datenbank wurde eine zusätzliche Registerkarte hinzugefügt, die die Enclave-Verschlüsselung unterstützt:

image

The current size is ~500 MB, approximately half of the SSMS 17.x bundle.

Realität: halbieren hört sich zwar gut an, aber als alter BI-ler habe ich mit einfachen Mitteln nachgerechnet und festgestellt, dass es nur 35,4% Einsparung sind (auch nicht schlecht –> dies ist aber wahrscheinlich dem neuen Installer geschuldet) – die ungefähre Hälfte fängt bei mir bei 45% an (aber da rechnet Microsoft wohl anders):

clip_image002

Nachdem aber Plattenplatz in der heutigen Zeit nur eine untergeordnete Rolle spielt, dürfte diese Einsparung wohl auch nur nebensächlich sein. Warum es dann aber einen der vorderen Plätze bei den “Improvements” in dem Artikel einnimmt, kann wohl auch nur der Autor beantworten. Kleine Randnotiz: Auch wenn sich die Größe des Downloads “fast halbiert” hat, so hat sich der für die Installation erforderliche Speicherplatz “fast verdoppelt”:

clip_image003

The new shell (SSMS is based on Visual Studio 2017 15.9.11) unlocks all the accessibility fixes that went into both SSMS and Visual Studio, and includes the latest security fixes.

Realität: Die letzte Shell für Visual Studio ist 2019. Schade, dass es Microsoft nicht mehr geschafft hat, bereits auf diese Version umzustellen. Aber so bleibt noch Platz für eine künftige Version…

Much work went in to address accessibility issues in all the tools (SSMS, DTA, and Profiler)

Realität: okay, Microsoft hat viel getan, um bisherige Probleme bei der Arbeit mit SSMS, DTA und Profiler zu beheben. Coole Aussage, jedoch schwer zu beweisen.

Kleine Randnotiz: Ich dachte der Profiler wäre deprecated (https://docs.microsoft.com/en-us/sql/tools/sql-server-profiler/sql-server-profiler?view=sql-server-ver15). Warum steckt Microsoft viel Arbeit in ein Tool, dass es bald nicht mehr geben wird.

This option is available from both the command line (useful for unattended installation) and the setup UI. From the command line, pass this extra argument to the SSMS-Setup-ENU.exe:

SSMSInstallRoot=C:\MySSMS18

By default, the new install location for SSMS is: %ProgramFiles(x86)%\Microsoft SQL Server Management Studio 18\Common7\IDE\ssms.exe

This does not mean that SSMS is multi-instance.

Realität: Kann ich soweit bestätigen, wenn noch genügend Platz in dem Ordner ist. Sollten sich in dem Verzeichnis bereits Dateien befinden, so stört das die Installation jedoch gar nicht und bei einem Fehler wird dieses Verzeichnis auch wieder sauber bereinigt.

Was mit der Aussage jedoch nicht erwähnt wird, dass neben dem SQL Server Management Studio selbst auch zusätzliche Komponenten installiert werden, die nicht in das angegebene Verzeichnis abgelegt werden, sondern irgendwo auf dem “C:\Program Files (x86)” oder im Windows-Verzeichnis ihren Platz finden (natürlich nur dann, wenn sie noch nicht installiert sind). Dazu gehören:

  • Microsoft Visual C++ 2013 Redistributable (x86) – 12.0.30501
  • Microsoft Visual C++ 2017 Redistributable (x86) – 14.16.27029
  • Microsoft Visual C++ 2017 Redistributable (x64) – 14.16.27029
  • Microsoft Help Viewer 2.3
  • Microsoft Help Viewer 2.3 Sprachpaket – DEU
  • Microsoft SQL Server 2012 Native Client
  • Microsoft ODBC Driver 17 for SQL Server
  • Microsoft OLE DB Driver for SQL Server
  • Active Directory Authentication Library für SQL Server
  • OLE DB-Anbieter für Microsoft Analysis Services

Deshalb sollte auf dem Laufwerk, auf dem sich Programme und das OS befinden, auch noch genügend Platz sein.

This version of SSMS works with all supported versions of SQL Server 2008 – SQL Server 2019 preview and provides the greatest level of support for working with the latest cloud features in Azure SQL Database and Azure SQL Data Warehouse.

Realität: Das hört sich doch schon mal gut an: ein Management Studio zum Verwalten von allen SQL Server-Instanzen – egal welche Version. Dazu gibt es jedoch eine kleine Einschränkung: Es können natürlich nur solche Features verwaltet werden, die auch in der entsprechenden Instanz verfügbar sind:

image

So stellen sich bspw. die “Ordnerbäume” von SQL Server-Datenbankinstanzen mit unterschiedlichen Versionen auch unterschiedlich dar. Auch die Dialoge können sich unterscheiden – hier am Beispiel der Datenbankeigenschaften:

image

Das führt leicht zur Verwirrung! Insbesondere dann, wenn verschiedene SQL Server-Versionen parallel geöffnet sind –> aber man sollte ja immer wissen, was man tut.

Ein wenig Schade finde ich, dass auch Funktionen die eigentlich verfügbar wären, wie z. B. Extended Events in SQL Server 2008 R2 trotzdem nicht dargestellt werden und man somit weiterhin auf T-SQL oder PowerShell angewiesen ist:

image

Aber das könnte man seitens Microsoft auch als konsequent bezeichnen, denn in der SSMS Version für SQL Server 2008 R2 war diese Option ja auch nicht verfügbar.

Additionally, SSMS 18.x can be installed side by side with SSMS 17.x, SSMS 16.x, or SQL Server 2014 SSMS and earlier.

Realität: Das ist richtig cool – ein Management Studio für alle SQL Server-Datenbankinstanzen. Doch bei anderen SQL Server-Technologien wie z. B SQL Server Integration Services stößt diese “eierlegende Wollmilchsau” an seine Grenzen:

“SQL Server Integration Services (SSIS) – SSMS version 17.x or later does not support connecting to the legacy SQL Server Integration Services service. To connect to an earlier version of the legacy Integration Services, use the version of SSMS aligned with the version of SQL Server. For example, use SSMS 16.x to connect to the legacy SQL Server 2016 Integration Services service. SSMS 17.x and SSMS 16.x can be installed side-by-side on the same computer. Since the release of SQL Server 2012, the SSIS Catalog database, SSISDB, is the recommended way to store, manage, run, and monitor Integration Services packages. For details, see SSIS Catalog.”

Somit ist es nicht nur schön, dass Ihr mehrere Versionen von SSMS auf dem Computer installieren könnt, sondern insbesondere bei dem Einsatz anderer SQL Server-Technologien wie SSIS auch dringend erforderlich – natürlich nur, wenn Ihr diese auch verwenden wollt:

image

Links SSMS v18.0 (GA) und rechts SSMS v17.8.1 beim Zugriff auf den gleichen SSIS.

The block on mixed languages setup has been lifted. You can, for example, install SSMS German on a French Windows. If the OS language does not match the SSMS language, the user needs to change the language under Tools > Options > International Settings, otherwise SSMS will show the English UI.

Realität: für alle Anwender, die mehrsprachig unterwegs sind und gerne in ihrer Muttersprache die Benutzeroberfläche vom SSMS präsentiert haben wollen (bei z. B. unternehmensvorgegebenen Windows-Sprache), sicherlich eine sinnvolle Option:

imageimageimage

Sollte eine bestimmte Sprache dort nicht angeboten werden, muss diese mit dem entsprechenden Installer von SSMS nachinstalliert werden. Den Hinweis in dem Optionen-Dialog

image

halte ich für falsch –> denn es hat ja nur etwas mit der Visual Studio-Shell zu tun, die mit dem SQL Server Management Studio-Installationspaket ausgeliefert wird und nicht mit dem Visual Studio Installer.

Much effort went in to avoid sharing components with SQL Engine, which often resulted in serviceability issues (one clobbering the files installed by the other).

Realität: Finde ich prinzipiell eine gute Idee, das SSMS strikt von Ressourcen der SQL Engine zu trennen. Solange dies nicht zu Lasten der Funktionalität geht, ist alles gut. Ich befürchte jedoch, dass möglicherweise jedes Feature-Update in SQL Server dazu führt, dass auch eine neue SQL Server Management Studio-Version mit ausgeliefert werden muss oder das Feature eben nicht im SSMS nutzbar ist. Die Zukunft wird es zeigen…

We upgraded our minimum requirement from NetFx4.6.1 to NetFx4.7.2: this allows us to take advantage of the new functionality exposed by the new framework.

Realität: Ein neues .NET-Framework zu verwenden, schadet ja erst einmal nichts. Einen sichtbaren Unterschied im SSMS wird es aber dadurch meiner Meinung nach nicht geben.

When SSMS 18 is started for the first time, the user will be prompted to migrate the 17.x settings. The user setting files are now stored as a plain XML file, thus improving portability and possibly allowing editing.

Realität: Funktioniert eigentlich recht gut (siehe auch https://sylvioh.wordpress.com/2019/04/28/sql-server-management-studio-v18-0-alles-neu-macht-der-mai/)

High DPI is now enabled by default.

Realität: Was bedeutet das nun genau? Ich vermute mal, dass dies heißen soll, dass SSMS nun auch hochauflösende Ausgabegeräte unterstützt. Für mich stellt sich dann aber gleich die Frage: wie high ist high? Mein Monitor zu Hause unterstützt 3440×1440 dpi –> wird dies auch vom SSMS noch unterstützt? Warum gibt es dann aber im Farbschema immer noch einen Modus mit hohem Kontrast (bei dem ich, auch mit Verwendung einer Lupe, keinen Unterschied mehr zum normalen Modus sehe). –> Fragen über Fragen

For details, see Download Microsoft OLE DB Driver for SQL Server.

Realität: Die Aussage hier ist falsch, denn SSMS bringt bei der Installation bereits den Microsoft OleDB-Treiber für SQL Server mit. Somit dient der Hinweis nur dazu, euch ein wenig mehr über den Treiber zu erzählen. Deshalb landet ihr auch nicht auf der Download-Seite, sondern in der Microsoft Dokumentation, die euch mehr über den Treiber erzählt. Wer den Treiber trotzdem herunterladen möchte, kommt über den Link direkt zum Download: https://www.microsoft.com/de-DE/download/details.aspx?id=56730. Die aktuelle Version dort ist die 18.2.1 vom 21.2.2019

image

Wer vor der Installation wissen möchte, wie die Änderungen genau aussehen, kann sich in den Release Notes https://docs.microsoft.com/en-us/sql/connect/oledb/release-notes-for-oledb-driver-for-sql-server?view=sql-server-2017 einen Überblick verschaffen. Für alle die, die wissen wollen, welche Version aktuell installiert ist:

image

…und wer sowieso schon immer mal wissen wollte, welche OleDB-Treiber sich auf seinem System “rumdümpeln”, kann dies mit dem folgenden PowerShell-Skript abfragen:

 [System.Data.OleDb.OleDbEnumerator]::new().GetElements() | Select-Object -Property SOURCES_DESCRIPTION

Zum OleDB-Treiber für den SQL Server gehören mehrere Komponenten (Quelle der folgenden Tabelle https://docs.microsoft.com/de-de/sql/connect/oledb/applications/components-of-oledb-driver-for-sql-server?view=sql-server-ver15):

Komponente Beschreibung
msoledbsql.dll Die Dynamic Link Library (DLL)-Datei, die alle von der OLE DB-Treiber für SQL Server-Funktionen enthält.
msoledbsqlr.rll Die begleitende Ressourcendatei für die OLE DB-Treiber für SQL Server-Bibliothek.
msoledbsql.h Der OLE DB-Treiber für SQL Server-Headerdatei, die alle erforderlichen neuen Definitionen enthält erforderlich, um die OLE DB-Treiber für SQL Server verwenden. Diese Headerdatei ersetzt die sqloledb.h-Header-Datei.

Hinweis: Sie können msoledbsql.h und sqloledb.h im selben Programm verweisen, solange sqloledb.h zuerst definiert wird.

msoledbsql.lib Die Bibliotheksdatei benötigt für den direkten Aufruf der OpenSqlFilestream -Funktion, die Teil der OLE DB-Treiber für SQL Server ist.

Hinweis: Wenn Sie in Ihrem Programmcode auf die Datei „msoledbsql.lib“ verweisen, stellen Sie sicher, dass diese sich in Ihrem Systempfad sowie in den Systempfaden der Benutzer befindet, die mit Ihrer Anwendung arbeiten.

Entsprechend den Release Notes für diesen Treiber wird nun auch UTF8 unterstützt und es funktionieren die Active Directory Authentifizierungsarten:

  • Azure Active Directory-Benutzernamens und Kennworts
  • Azure Active Directory-Zugriffstoken
  • Integrierte Azure Active Directory-Authentifizierung
  • SQL-Anmelde-ID und Kennwort

die ja auch aus dem Management Studio bereits bekannt sein dürften:

image

Due to the new dependency on NetFx 4.7.2, SSMS 18.0 does not install on Windows 8 and older versions of Windows 10 and Windows Server 2016. SSMS setup will block on those systems. Windows 8.1 is still supported.

Realität: Die exakte Aussage dazu findet sich in dem Unterstützte SQL-Angebote (SSMS 18.0 GA). Hätte Microsoft das nicht einfach in die Release Notes reinschreiben können: “Dieses Release von SSMS unterstützt die folgenden 64-Bit-Plattformen, wenn sie mit dem aktuellen Service Pack ausgestattet sind:

  • Windows 10 (64-Bit) *
  • Windows Server 2016 *
  • Windows Server 2012 R2 (64-Bit)
  • Windows Server 2012 (64-Bit)
  • Windows Server 2008 R2 (64-Bit)

* Erfordert Version 1607 (10.0.14939) oder höher”

Path to SSMS.EXE (and tools in general) is not added to the path anymore. Users can either manually add it, or if on a modern Windows computer, use on the Start menu.

Realität: Ist so! Wer dies gerne überprüfen mag:

$env:Path -split ';'

Es selbst zum Pfad hinzuzufügen, ist nur dann erforderlich, wenn ihr das SSMS direkt von der Kommandozeile aus ohne Pfad aufrufen möchtet. Auf meinem PC startet bspw. eine ältere Version vom Management Studio, wenn ich dies tue:

image

Eben genau die, die noch im Pfad hinterlegt ist.

In the past, SSMS was selectively loading only well-known packages, thus requiring developers to register their own package. This is no longer the case.

Realität: Für alle die, die sich selbst Erweiterungen für das SSMS bauen, ist dies interessant (mehr dazu unter https://www.codeproject.com/Articles/1377559/How-to-Create-SQL-Server-Management-Studio-18-SSMS). Für den “Normal”-Anwender eher eine Randnotiz.

Exposing AUTOGROW_ALL_FILES config option for Filegroups in SSMS.

Realität: Endlich!!! Jetzt müssen die Developer/Administratoren nur noch verstehen, dass es sinnvoll ist eine Datenbank auf mehrere Dateien aufzuteilen – ich meine natürlich nur die Datendateien (mehrere Log-Dateien machen keinen Sinn).

Diese Funktion ist zu finden unter den Datenbankeigenschaften\Dateigruppen

image

…und wer lieber mit SQL arbeitet (hier das Beispiel für die AdventureWorksDW2017-Datenbank und die Primary-Dateigruppen:

declare @autogrow bit;
SELECT @autogrow=convert(bit, is_autogrow_all_files) FROM sys.filegroups WHERE name=N'PRIMARY';
if(@autogrow=0)
ALTER DATABASE [AdventureWorksDW2017] MODIFY FILEGROUP [PRIMARY] AUTOGROW_ALL_FILES;
GO

Removed risky ‚lightweight pooling‘ and ‚priority boost‘ options from SSMS GUI. For details, see Priority boost details – and why it’s not recommended.

Realität: Spät kommt es… Jeder experimentierfreudige DBA hat vielleicht mal mit dieser Funktion rumgespielt und musste feststellen, dass das nicht wirklich geholfen hat:

image

Screenshot links SSMS v18 und rechts SSMS 2017

Kleine Randnotiz: nicht das jetzt jemand denkt, dass diese Optionen aus dem SQL Server 2019 entfernt wurden. Man kann es weiterhin setzen und nutzen – nur eben nicht mehr über die Instanzeigenschaften:

image

New menu and key bindings to creates files: CTRL+ALT+N. CTRL+N will continue to create a new query.

Realität: Die Tastenkombination CTRL+ALT+N ist neu in SSMS und öffnet einen Dialog zum Erstellen einer neuen Datei:

image

Es ist zwar cool, dass ich im SQL Server Management Studio ab sofort auch C#-Klassendateien erstellen kann –> doch wer braucht das??! Aber andererseits fehlen mir Dateitypen wie *.sql, *.mdx, *.xmla, … –> die ich eher dort erwartet hätte.

New Firewall Rule dialog now allows the user to specify a rule name, instead of automatically generating one on behalf of the user.

Realität: Cooles neues Feature –> Frage warum erst jetzt?

Hierbei habt ihr die Möglichkeit Firewall-Regeln beim Zugriff auf SQL Datenbanken in Azure beim Anmelden zu setzen:

image

Dies spart später manuelle Konfiguration direkt in Azure (und dies war zumeist lästig und wurde vergessen):

image

Improved intellisense in Editor especially for v140+ T-SQL.

Realität: Intellisense ist ein echt cooles Feature, dass das Schreiben von T-SQL Code vereinfacht:

image

Auch wenn die Angaben für “v140+ T-SQL” darauf hindeutet, dass aktuell nur ein wenig mehr als SQL Server v140 (oder für Uneingeweihte SQL Server 2017) unterstützt wird, so funktioniert Intellisense auch für Funktionen, die SQL Server 2019 neu mitbringen wird:

image

…habe aber natürlich nicht alle ausprobiert. Die Intellisense-Einstellungen lassen sich über die Optionen konfigurieren:

image

Added support in SSMS UI for UTF-8 on collation dialog.

Realität: Lange hat es gedauert, bis SQL Server nun auch diese Zeichencodierung voll unterstützt (verfügbar ab SQL Server 2019 CTP 2.3; eingeführt mit SQL Server 2012) für Import- oder Exportcodierung oder als Sortierung für Textdaten auf Datenbank- oder Spaltenebene. UTF-8 ist für die Datentypen CHAR und VARCHAR zulässig und ist bei der Erstellung oder Änderung einer Objektsortierung in eine Sortierung mit dem Suffix UTF8 aktiviert.

Beim Erstellen einer Tabellenspalte vom Datentyp Char oder Varchar  besteht die Möglichkeit für Windows-Sortierungen die Sortierreihenfolge auf UTF8 einzustellen. So steht bspw. als deutsche Sortierreihenfolgen German-Phonebook_100 und German-Phonebook_100 mit verschiedenen

imageimage

Wer eine komplette Liste aller verfügbaren Sortierreihenfolgen haben möchte, kann folgendes SQL-Statement ausführen:

SELECT * FROM sys.fn_helpcollations() WHERE name LIKE '%german%';

image

Kleine Randnotiz: Im Management Studio scheint sich noch ein kleiner Fehler eingeschlichen zu haben: Wählt ihr die Sortierreihenfolge German_Phonebook_100 aus, stürzt das Management Studio ab:

image

Switched to „Windows Credential Manager“ for connection dialog MRU passwords. This addresses a long outstanding issue where persistence of passwords was not always reliable.

Realität: Bei der Anmeldung an einer Datenbankinstanz mit SQL Server-Benutzerkonto (keine Windows Authentifizierung) wurden bisher die Anmeldeinformationen irgendwo(?) gespeichert. Mit dem neuen SQL Server Management Studio erfolgt die Speicherung dieser Anmeldeinformationen (etwas sicherer) in der Anmeldeinformationsverwaltung (Windows Credential Manager):

imageimage

Improved support for multi-monitor systems by making sure that more and more dialogs and windows pop up on the expected monitor.

Realität: funktioniert! Solltet ihr mehrere im Einsatz haben, lassen sich Dialoge und Toolbars auch außerhalb des Hauptprogramms positionieren. Die Funktion ist recht hilfreich, wenn mehrere Abfragen auf verschiedene Monitore verteilt werden sollen, wie im folgenden Beispiel zu sehen:

image

Exposed the ‚backup checksum default‘ server configuration in the new Database Settings page of the Server Properties Dialog. For details, see https://feedback.azure.com/forums/08035-sql-server/suggestions/34634974.

Realität: Hierbei handelt es sich um eine SQL Server-Datenbank-Instanz-Eigenschaft, die seit SQL Server 2014 vorhanden ist und sich nun auch in einem Management Studio-Dialog manifestiert hat:

image

…wie man es gewohnt ist, lässt sich die Option natürlich auch per T-SQL Befehl setzen:

EXEC sys.sp_configure N'backup checksum default', N'1';
GO
RECONFIGURE WITH OVERRIDE;
GO

Exposed „maximum size for error log files“ under „Configure SQL Server Error Logs“. For details, see https://feedback.azure.com/forums/908035/suggestions/33624115.

Realität: Bei dieser Option handelt es sich darum, die maximale Größe der Errorlog-Datei (vor einem Rollover) festzulegen. Bisher konnte man dies zwar auch tun (durch entsprechende Anpassung der Registry HKLM:\Software\Microsoft\MSSQLServer\MSSQLServer\ErrorLogSizeInKb), jedoch war dies kompliziert. Dies wurde durch die Ergänzung des bestehenden Dialogs im SSMS nun vereinfacht:

image

Kleine Randnotiz: Das Setzen dieser Eigenschaft erfolgt noch auf dem gleichen Weg. Erstellt ihr ein Skript, sieht es so aus:

USE [master];
GO
EXEC xp_instance_regwrite N'HKEY_LOCAL_MACHINE', N'Software\Microsoft\MSSQLServer\MSSQLServer', N'ErrorLogSizeInKb', REG_DWORD, 10000;
GO

Added „Migrate to Azure“ under Tools menu – We have integrated Database Migration Assistant and Azure Database Migration Service to provide quick and easy access to help accelerate your migrations to Azure.

Realität: Das Extras-Menü “Zu Azure migrieren” leitet euch auf die Webseite mit der Dokumentation zum Azure Database Migration Service weiter.

imageimage

Wenn ihr das Task-Kontextmenü auf einer Datenbank verwendet, kommt zum Assistenten zum Bereitstellen von Datenbanken auf SQL Azure, die die gewählte Datenbank dann in Azure bereitstellen möchte:

imageimage

Beide Wege haben sicherlich ihre Vorteile. Doch persönlich bevorzuge ich ein wohldurchdachtes Konzept, bevor man einen solchen Schritt wagt (insbesondere bei produktiven Systemen).

Added logic to prompt the user to commit open transactions when „Change connection“ is used.

Realität: Eigentlich eine sehr nützliche Funktion, um zu verhindern, dass beim Testen offene Transaktionen nicht abgeschlossen werden –> was zu massiven Blockierungen in einer Datenbank führen kann. So sieht der Dialog aus:

image

Andererseits sollte Administratoren nur bedingt Aktionen ausführen, die Transaktionen erforderlich machen (die ja schlussendlich dazu gedacht sind, Daten zu manipulieren).

Added menu item to start/download Azure Data Studio.

Realität: Dem Menüpunkt findet ihr hier:

image

Ist das Azure Data Studio noch nicht installiert, landet ihr auf der Download-Seite: https://docs.microsoft.com/de-de/sql/azure-data-studio/download

ansonsten wird es gestartet:

image

Wer mehr darüber erfahren möchte, findet hier zusätzliche Informationen

Added „Start Azure Data Studio“ menu item to Object Explorer.

When right-clicking on a database node in OE, the user is presented with context menus to either run a query or create a new notebook in Azure Data Studio.

Realität: Das ist auch wieder so eine Stelle an der man merkt, dass SSMS und ADS enger zusammenrücken. Doch den Vorteil sehe ich immer noch nicht – ist es nicht egal, wo ich Abfragen ausführe?

image

SLO/Edition/MaxSize database properties now accept custom names, making it easier to support future editions of Azure SQL databases.

Realität: Mir erschließt sich zwar noch nicht, warum ich vorgegebene Bezeichnungen wie Basic oder die Größe von 2GB durch individuelle Namen ersetzen soll, doch wenn es für künftige Editionen von Azure SQL Datenbanken damit einfacher wird (was eigentlich), dann bin ich froh, ab sofort diese Funktion nutzen zu können:

image

Randnotiz: Diese Datenbankeigenschaften sind natürlich nur für Azure SQL Datenbanken verfügbar.

Added support for recently added vCore SKUs (General Purpose and Business Critical): Gen4_24 and all the Gen5.

Realität: Der Dialog ist der gleiche wie bei dem vorhergehenden Topic, jedoch bezieht sich die SKU auf die Edition

  • Allgemein
  • Unternehmenskritisch

Für diese Editionen wurde nun auch im Management Studio die SLO GP_Gen4_24 und alle Gen5_* freigeschaltet:

imageimage

mehr dazu findet ihr unter https://azure.microsoft.com/de-de/pricing/details/sql-database/managed/

Added new „AAD logins“ as a new login type in SMO and SSMS when connected to an Azure SQL Managed Instance.

Realität: Bei Azure Active Directory-Authentifizierung (AAD) erfolgt die Authentifizierung eines Azure Dienst wie in diesem Fall SQL Datenbank oder SQL Data Warehouse über das Azure Active Directory (wenn dies vorher eingerichtet wurde):

Diagramm zur AAD-Authentifizierung

Quelle: https://docs.microsoft.com/de-de/azure/sql-database/sql-database-aad-authentication

image

Rehash RTO (estimated recovery time) and RPO (estimated data loss) in SSMS Always on Dashboard. See updated documentation at https://docs.microsoft.com/sql/database-engine/availability-groups/windows/monitor-performance-for-always-on-availability-groups.

Realität: unter RTO versteht Microsoft die Failoverzeit einer Always On-Implementierung und RPO ist Datenverlust Ihrer Always On-Implementierung. Diese Informationen können mit der neuen SSMS-Version auf dem Dashboard der Failover-Gruppe angezeigt werden:

rto-rpo-dashboard.png

Screenshot von: https://docs.microsoft.com/de-de/sql/database-engine/availability-groups/windows/monitor-performance-for-always-on-availability-groups?view=sql-server-2017 –> dort findet ihr auch weitere Informationen.

The Enable Always Encrypted checkbox in the new Always Encrypted tab in the Connect to Server dialog now provides an easy way to enable/disable Always Encrypted for a database connection.

Several enhancements have been made to support Always Encrypted with secure enclaves in SQL Server 2019 preview:

A text field for specifying enclave attestation URL in the Connect to Server dialog (the new Always Encrypted tab).

The new checkbox in the New Column Master Key dialog to control whether a new column master key allows enclave computations.

Other Always Encrypted key management dialogs now expose the information on which column master keys allow enclave computations.

Realität: eigentlich nur eine kleine Checkbox:

image

Zusätzlich wurden neue Dialoge integriert, um die Zertifikate für die Spaltenverschlüsselung zuzuweisen:

image

Doch da steckt sehr viel dahinter https://docs.microsoft.com/en-us/sql/relational-databases/security/encryption/always-encrypted-database-engine?view=sqlallproducts-allversions zum Schutz eurer Daten.

Changed authentication method from Storage Account Key based to Azure AD-based authentication.

Realität: das ist wohl so:

imageimage

image

Updated list of known audit actions to include FEATURE RESTRICTION ADD/CHANGE GROUP/DROP.

Realität: Auf verschiedene Objekte innerhalb einer Datenbankinstanz lassen sich Überwachungen festlegen. in der Liste sind einige neue Aktionen ergänzt worden:

image

Mehr Informationen dazu unter https://docs.microsoft.com/de-de/sql/relational-databases/security/auditing/sql-server-audit-action-groups-and-actions?view=sql-server-ver15

Reorganized data classification task menu: added sub menu to the database tasks menu and added an option to open the report from the menu without opening the classify data window first.

Added new feature ‚Data classification‘ to SMO. Column object exposes new properties: SensitivityLabelName, SensitivityLabelId, SensitivityInformationTypeName, SensitivityInformationTypeId, and IsClassified (read-only). For more information, see ADD SENSITIVITY CLASSIFICATION (Transact-SQL)

Realität: Analyse der Klassifizierung von Daten in Tabellen entsprechend ihrer Sensibilität im Zusammenhang mit der General Data Protection Regulation (GDPR):

image

Added new „Classification Report“ menu item to the „Data Classification“ flyout.

Realität: Tabellendaten lassen sich mit diesem Klassifizierungsbericht nach verschiedenen Kriterien einstufen:

image

image

Microsoft stellt zu dem Thema ein Whitepaper unter Microsoft-SQL-and-the-GDPR.pdf und ein recht umfangreiches Tutorial zu dem Thema findet ihr unter https://dataedo.com/kb/tools/ssms/gdpr-in-sql-server-and-azure-sql-database

Wie ihr schnell feststellen werdet, ist dieses Thema sehr komplex und, wenn ich Zeit habe, werde ich es in einem eigenen Beitrag etwas ausführlicher betrachten. Doch als Einstieg soll dies erst einmal ausreichend sein.

Updated recommendations.

Realität: ich vermute mal, dass hiermit die Möglichkeit gemeint ist, dass SSMS auf Updates überprüfen zu lassen:

imageimage

Added a new option under > Tasks > Database Upgrade. This starts the new Query Tuning Assistant (QTA) to guide the user through the process of:

Collecting a performance baseline before upgrading the database compatibility level.

Upgrading to the desired database compatibility level.

Collecting a second pass of performance data over the same workload.

Detect workload regressions, and provide tested recommendations to improve workload performance.

This is close to the database upgrade process documented in query store usage scenarios, except for the last step where QTA does not rely on a previously known good state to generate recommendations.

Realität: Auch wenn es sich viele recht einfach machen eine Datenbank auf eine andere Version zu migrieren, so gibt es doch sehr viele Punkte, die zu beachten sind. Künftig unterstützt euch das SSMS dabei ein Performance Baseline einer Datenbank zu erstellen.

image

imageimageimage

Added support to import/export data tier application with graph tables.

Realität: Die Funktion war auch bereits in der SSMS Version 17.8.1 enthalten (habe ich gerade getestet). So wirklich neu kann sie wohl dann nicht mehr sein und natürlich nur für Leute interessant, die intensiv mit Graph-Datenbanken und Datenebenenanwendungen arbeiten.

Added logic to notify the user that an import may have resulted in a renaming of the columns.

Realität: Mir ist noch nicht so richtig klar, wie ich das testen soll und bei welcher Funktion im SQL Server Management Studio diese neue Logik implementiert wurde. Deshalb werde ich mich überraschen lassen und halte euch auf dem Laufenden, wenn ich darüber stolpern sollte.

Added support to allow customers to schedule SSIS packages on Azure-SSIS IRs that are in Azure Government cloud.

Realität: Hört sich nach einer netten Funktion an, für alle die SSIS-Pakete zeitgesteuert mittels Azure-SSIS Integration Runtime ausführen wollen, die sich in der Azure Government Cloud befinden. Leider habe ich aktuell keine entsprechende Umgebung und kann deshalb auch nicht mit Beschreibung/Anleitung/Screenshots dienen. Sollte ich dazu etwas finden, werde ich es hier ergänzen.

When you use SQL Agent of Azure SQL Managed Instance via SSMS, you can configure parameter and connection manager in SSIS agent job step.

Realität: habe leider keine passende Instanz parat, um euch mehr darüber zu erzählen/zu zeigen. Vielleicht liefere ich das noch nach.

When connecting to Azure SQL DB/Managed Instance, you can connect to it with default as initial db.

Realität: ist sicherlich ein cooles Feature. Ging aber bereits mit der Version 17.9.1

image

Added a new entry item Try SSIS in Azure Data Factory under „Integration Services Catalogs“ node, which can be used to launch the „Integration Runtime Creation Wizard“ and create „Azure-SSIS Integration Runtime“ quickly.

Realität: Leider ist es mir nicht gelungen, die entsprechende Funktion zu aktivieren (obwohl ich in verschiedenen Azure-Subscriptions Azure-SSIS Integration Runtime aktiv habe. Doch aus irgendeinem Grund kann ich mich nicht mit dem entsprechenden Endpunkt verbinden – was natürlich nicht heißen soll, dass es nicht geht. Bestimmt mache ich nur irgendetwas falsch!

imageimageimage

Wenn ich versuche ein Paket auszuführen, erhalte ich die folgende Fehlermeldung:

image

Added Create SSIS IR button in „Catalog Creation Wizard“, which can be used to launch the „Integration Runtime Creation Wizard“ and create „Azure-SSIS Integration Runtime“ quickly.

Realität: Dieser Button ist, wie beschrieben, unter dem “Katalog erstellen”-Assistenten zu finden. Nach einem Klick darauf, wird der gleiche Assistent gestartet, der auch ausgeführt wird, wenn ihr die Funktion “SSIS in Azure Data Factory testen” startet (bei dem ich schon zwei Punkte weiter oben nicht weitergekommen bin):

imageimage

ISDeploymentWizard now supports SQL Auth, Azure Active Directory Integrated Auth, and Azure Active Directory Password Auth in command-line mode.

Realität:

imageimageimageimage

imageimageimage

…und hier endet meine Kunst.

Über die Kommandozeile wird es natürlich auch unterstützt (wie beschrieben):

image

Deployment Wizard now supports creating and deploying to Azure Data Factory SSIS Integration Runtime.

Realität: Wie bereits in den vorigen Einträgen beschrieben, habe ich das nicht hinbekommen.

Add new menu items for „CREATE OR ALTER“ when scripting objects.

Realität: Der Menü-Eintrag ist vorhanden:

image

aber leider nicht für alle Objekte aktiv:

image

Improved usability of some reports (Overall Resource Consumptions) by adding thousands separator to numbers displayed on the Y-axis of the charts.

Realität: Auch hier kann ich nur wieder mutmaßen, denn die Diagramme in dem Bericht enthalten keine Kommastellen (wenigstens nicht so, wie ich ihn aufgerufen habe):

imageimage

Erst wenn ich auf das entsprechende Diagramm klicke, erhalte ich eine Y-Achse mit Kommastelle (Punktstelle – aus dem englischen)

image

Added a new Query Wait Statistics report.

Realität: Ich vermute, dass damit der Bericht “Statistik der Abfragewartezeit” gemeint ist, der in dieser Form im SSMS v17.9.1. nicht zur Verfügung steht:

image

image

Added „Execution Count“ metric to „Tracked Query“ View.

Realität: Auch das ist wieder ein Punkt, bei dem ich nur vermuten kann, was die “Tracked Query” View ist. Ich habe diesen Punkt hineininterpretiert:

image

Added support for non-default port specification feature in Replication Monitor and SSMS.

Realität: Leider findet man keine Informationen, wo man den Standard-Port im Replikationsmonitor ändern kann:

image

Added actual time elapsed, actual vs estimated rows under ShowPlan operator node if they are available. This will make actual plan look consistent with Live Query Stats plan.

Realität: alles wie versprochen…

image

Modified tooltip and added comment when clicking on Edit Query Button for a ShowPlan, to indicate to user that the ShowPlan might be truncated by the SQL engine if the query is over 4000 characters.

Realität: lässt sich gut erkennen…

image

image

Wenn man es ganz genau nimmt, hätte Microsoft diese Meldung nur dann anzeigen müssen, wenn der Text wirklich länger als die o. g. 4.000 Zeichen ist z. B. mit dem Hinweis: “Text wurde nach 4.000 Zeichen abgeschnitten”. Doch so ist es schon einmal besser, als gar keinen Hinweis. …und für die nächste Version vom SSMS möchten sich die Entwickler wohl auch noch etwas aufheben.

Added logic to display the „Materializer Operator (External Select)“.

Realität: Eine Erklärung dazu habe ich unter dem Link https://www.sqlshack.com/sql-execution-plan-enhancements-in-ssms-18-0/ gefunden:

“In SSMS 18.0, Microsoft added a new logic to the SQL Execution Plans to display the “Materializer Operator (External Select)”. A materialize node will be displayed when the output of lower part of the plan is materialized into the memory before executing the upper node, as the source of the upper node needs to be rescanned. “

Mit einem Beispiel kann ich leider nicht dienen.

Add new showplan attribute BatchModeOnRowStoreUsed to easily identify queries that are using the “ batch-mode scan on rowstores“ feature. Anytime a query performs batch-mode scan on rowstores, a new attribute (BatchModeOnRowStoreUsed=“true“) gets added to StmtSimple element.

Realität: Eine sehr ausführliche Beschreibung dazu habe ich unter dem Link http://www.queryprocessor.com/batch-mode-on-row-store/ gefunden:

Daher stammt auch der Screenshot.

Added Showplan Support to LocalCube RelOp for DW ROLLUP and CUBE.

Realität: keine Ahnung!!!

Extend SMO Support for Resumable Index Creation.

Realität: Die fortsetzbare Indexerstellung wurde mit SQL Server 2017 eingeführt. Einen sehr umfassenden Artikel zu dem Thema “Index Erstellung” hat Niko Neugebauer (http://www.nikoport.com/2018/07/02/resumable-online-index-creation/).

Mit T-SQL ist es erst einmal kein Problem, diese Funktionalität zu verwenden:

image

Doch die Verwendung mit SMO erfordert ein Programm wie hier z. B. PowerShell:

Add-Type -Path 'C:\Program Files (x86)\Microsoft SQL Server Management Studio 18\Common7\IDE\Microsoft.SqlServer.Smo.dll'
$instanceName = ".\I2019"
[Microsoft.SqlServer.Management.Smo.Server]$server = New-Object -TypeName Microsoft.SqlServer.Management.Smo.Server -ArgumentList $instanceName

$database = $server.Databases['AdventureWorksDW2017']
$pkindex = $database.Tables["FactInternetSales"].Indexes[0]
$pkindex.ResumableIndexOperation = $true
$pkindex.OnlineIndexOperation = $true
$pkindex.ResumableMaxDuration = 1
$pkindex.Rebuild()

Wichtig hierfür ist, dass ihr die richtige Version von SMO verwendet:

image

Added new event on SMO objects („PropertyMissing“) to help application authors to detect SMO performance issues sooner.

Realität: Dieses Event konnte ich bei keinem Objekt finden:

image

Doch vielleicht habe ich auch nur nicht ordentlich gesucht.

Exposed new DefaultBackupChecksum property on the Configuration object which maps to the „backup checksum default“ server configuration.

Realität: Auch dieses Attribut existiert (wie erwartet):

Add-Type -Path 'C:\Program Files (x86)\Microsoft SQL Server Management Studio 18\Common7\IDE\Microsoft.SqlServer.Smo.dll'
$instanceName = ".\I2019"
[Microsoft.SqlServer.Management.Smo.Server]$server = New-Object -TypeName Microsoft.SqlServer.Management.Smo.Server -ArgumentList $instanceName
$server.Configuration.DefaultBackupChecksum

image

Exposed new ProductUpdateLevel property on the Server object, which maps to the servicing level for the version of SQL in use (for example, CU12, RTM).

Realität: Im SMO ist dieses Attribut verfügbar, jedoch bisher nicht gefüllt (wenigstens nicht auf den Instanzen, die ich getestet habe):

image

Exposed new LastGoodCheckDbTime property on Database object, which maps to „lastgoodcheckdbtime“ database property. If such property is not available, a default value of 1/1/1900 12:00:00 AM will be returned.

Realität: Funktioniert

image

Moved location for RegSrvr.xml file (Registered Server configuration file) to „%AppData%\Microsoft\SQL Server Management Studio“ (unversioned, so it can be shared across versions of SSMS).

Realität: Die angegebene XML-Datei befindet sich genau in diesem Verzeichnis und sie scheint versionsunabhängig zu sein. Die Zukunft wird es wohl zeigen, ob auch künftige SSMS-Versionen damit umgehen können.

image

image

Jedoch stellt sich die Fragen, inwieweit dies überhaupt erforderlich ist, wenn Im-/Export der Einstellung des SSMS so gut funktionieren.

Added „Cloud Witness“ as a new quorum type and as a new resource type.

Realität: Der “Cloud Witness” ist bereits seit längerem ein Möglichkeit Quorum für einen Failover Cluster. Was ich hier nicht verstehe, welche Rolle dieser Zeuge im SSMS spielt. Wer mehr darüber erfahren möchte, kann hier nachlesen: https://scomandothergeekystuff.com/2019/03/02/deploy-an-azure-cloud-witness-for-your-failover-cluster-quorum-for-windows-server-2016-2019-with-powershell/

Added support for „Edge Constraints“ in both SMO and SSMS.

Realität: Mit SQL Server 2019 wurden für Graph-Datenbanken “Edgeeinschränkungen” eingeführt, um die Datenintegrität zu erzwingen (https://docs.microsoft.com/de-de/sql/relational-databases/tables/graph-edge-constraints?view=sql-server-ver15).

Im Management Studio sieht die Implementierung so aus:

image

Einen speziellen Assistenten zum Erstellen der Edgeeinschränkung haben ich jedoch nicht gefunden.

Kleine Randnotiz: Auch wenn die Implementierung dieser Edgeeinschränkungen optisch sehr schön dargestellt ist, so hat Intellisense beim Erstellen dieser Einschränkung noch so seine Probleme:

image

Hier wird z. B. die Verbindung als Codewort nicht erkannt.

Added cascade delete support to „Edge Constraints“ in both SMO and SSMS.

Realität: Durch diese Edgeeinschränkung wird sichergestellt, dass bspw. kein Produkt gelöscht werden, wenn dies durch einen Kunden gekauft wurde:

Msg 547, Level 16, State 0, Line 4 The DELETE statement conflicted with the EDGE REFERENCE constraint „EdgeConstraint“. The conflict occurred in database „graphen“, table „dbo.Product“. The statement has been terminated.

Added support for data classification „read-write“ permissions.

Realität: Zum Setzen von Vertraulichkeitsklassen wurde für SQL Server 2019 und SQL-Datenbanken in Azure eine neue Berechtigung “ALTER ANY SENSITIVITY CLASSIFICATION” eingeführt.

image

Change the set of vulnerability assessment rules that are run on Azure SQL Managed Instance servers, so that „Vulnerability Assessment“ scan results will be consistent with the ones in Azure SQL DB.

Enabled Vulnerability Assessment tasks menu on Azure SQL DW. „Vulnerability Assessment“ now supports Azure SQL DW.

Realität: Auch wenn ich aktuell kein Azure SQL DWH aktiv habe, um euch diese Funktionalität zu zeigen, so kann ich sie wenigstens unter einer Azure SQL Datenbank vorführen:

imageimage

image

Added a new exporting feature to export the vulnerability assessment scan results to Excel.

Realität: der Button befindet sich rechts oben in der Ecke des Berichts und bietet die Speicherung des Berichts in Excel-(xlsx-)Format an:

imageimageimage

In Excel sieht der Bericht dann so aus:

image

XEvent Viewer: enabled showplan window for more XEvents.

Realität: Bei der letzten Note muss ich leider passen. Ich vermute, dass das Thema https://techcommunity.microsoft.com/t5/SQL-Server/Using-xEvents-to-capture-an-Actual-Execution-Plan/ba-p/392136 dahintersteckt.

image

Doch so genau kann ich euch das auch nicht sagen.

Zusammenfassung

“Es tut sich was” könnte das Motto der neuen Version des SQL Server Management Studios sein. Viele neue Funktionen und viele neue bzw. geänderte Dialoge sind zu entdecken und können genutzt werden. Einige Punkte, die im SSMS sich manifestiert haben, sind auf Änderungen im SQL Server 2019 zurückzuführen und teilweise in dessen Release Notes (https://docs.microsoft.com/de-de/sql/sql-server/what-s-new-in-sql-server-ver15?view=sqlallproducts-allversions) erklärt. Bestimmt werdet ihr nicht alle Funktionen des SQL Server Management Studios jemals benötigen. Doch jeder der mit SQL Server- oder Azure SQL Datenbanken arbeitet, wird dieses Tool nicht missen wollen. Diese neue Version wird Euch noch mehr bei eurer Arbeit unterstützen, so dass einige Aufgaben besser oder schneller zu erledigen sind.

Meine Empfehlung: Steigt um auf das neue SQL Server Management Studio und schickt die alte Version in Rente (Deinstallation –> außer ihr habt Gründe diese weiter verwenden zu müssen wie bspw. die Verwendung einer älteren Version von SSIS). Wer Zeit und Lust hat, sollte sich künftig neben dem Management Studio auch mit dem Azure Data Studio beschäftigen – doch hier wird wohl es die Zukunft zeigen, wohin es sich entwickelt und welche Rolle es künftig bei der Administration von Windows einnehmen wird.

Ich hoffe, ich konnte euch durch meinen Beitrag weitere Einblicke in die neue Version des SQL Server Management Studios vermitteln und würde mich sehr über Feedback oder Anregungen zu diesem Artikel freuen.

Gedanken zum Schluss

Wer es wirklich bis hierhin geschafft hat und immer noch nicht genug hat, dem möchte ich noch ein paar Gedanken/Einsichten meinerseits mit auf den Weg geben, die eigentlich nichts mit dem SQL Server Management Studio zu tun haben, die ich aber noch loswerden möchte –> für einen eigenen Blogartikel lohnen sie sich jedoch nicht (deshalb auch “Gedanken zum Schluss”):

Ein diesjähriges Motto der Digitalkonferenz re:publica die letzte Woche stattfand war „tl;dr“ –> Das steht für “too long; didn’t read” – oder als freie Übersetzung: “Das ist so lang, dass das kein Mensch liest” und es steht für die Ungeduld, für das Flüchtige, Verkürzte im Netz. Leider kann ich dem nur zustimmen:

  • Fasse dich kurz” war sicherlich zu Zeiten von Münztelefonen oder SMS angebracht. Doch heute in der Zeit des Internets, in dem man unbegrenzte Möglichkeiten und Platz hat, muss man nicht zwingend sich auf Erklärungen verzichten. Warum also nur ein paar wenige Sätze oder einen schlecht gemachte Programm-Codeblock öffentlich zur Schau stellen, anstatt sich mit dem Thema zu beschäftigen, um dem Leser einen umfassenden Überblick über das Thema zu liefern.
  • Da wird fleißig zwischen Artikeln kopiert und teilweise ganze Artikel übernommen (ohne die Inhalte zu verifizieren, die Autoren zu benennen oder sich Gedanken über Urheberrecht zu machen). Allein wenn ihr mit der Suchmaschine eurer Wahl nach den Release Notes zum SSMS v18 sucht, werden ihr viele Treffer landen, auf denen die Hinweise einfach übernommen worden sind.

Wie fleißige Leser meines Blogs bereits gemerkt haben werden, möchte ich diesen Trend nicht mitmachen und investiere deshalb viel Zeit und Liebe in meine Artikel – ich versuche eher etwas ausführlicher zu beschreiben, als zu kürzen. Deshalb habe meine Artikel wie bspw. auch dieser eher den Umfang eines Buches als nur weniger Zeilen. Trotzdem habe ich es mir zur Aufgabe gestellt, meine Beiträge ausführlich zu recherchiere und wenn ich etwas dokumentiere oder Programm-Code in meine Beiträge einfüge, so habe ich dies vorab mindestens einmal getestet. Meine abschließende Bitte an euch: Folgt nicht diesem Trend des Flüchtigen! Nehmt euch Zeit für das, was ihr tut und macht es ordentlich (oder lasst es bleiben).

Ü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 Allgemein

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 )

Google Foto

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

Twitter-Bild

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

Facebook-Foto

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

Verbinde mit %s

Follow Sylvio's Infobox on WordPress.com
Juni 2019
M D M D F S S
 12
3456789
10111213141516
17181920212223
24252627282930
%d Bloggern gefällt das: