Übung: Überprüfen von Azure SQL-Datenbank
Nachdem Sie nun gesehen haben, wie Azure SQL im SQL Server Management Studio (SSMS) erscheint, können Sie ein Open-Source-Tool namens Azure Data Studio erkunden. Azure Data Studio umfasst einen schlanken Editor und andere Tools für die Interaktion mit Azure Data Services wie SQL Server (lokal), Azure SQL und Azure Database for PostgreSQL. Das Tool wird jetzt kurz vorgestellt.
Herstellen einer Verbindung mit Azure Data Studio
Öffnen Sie Azure Data Studio auf Ihrem lokalen Gerät. Wenn Sie das Programm zum ersten Mal öffnen, werden Sie aufgefordert, eine Verbindung herzustellen.
Wählen Sie Ja aus, wenn Sie aufgefordert werden, Previewfunktionen zu aktivieren.
Wenn dieses Fenster nicht angezeigt wird oder Sie weitere Verbindungen hinzufügen möchten, können Sie auf der Leiste Server die Option Neue Verbindung auswählen. Im folgenden Beispiel erhalten Sie auch eine Vorschau, wie eine SQL Server-Verbindung aussehen würde. In dieser Übung stellen Sie keine Verbindung zu SQL Server her.
Stellen Sie anschließend eine Verbindung mit dem logischen Azure SQL-Datenbank-Server her. Schließen Sie Verbindungsdetails mit den folgenden Werten ab und wählen Sie Verbinden aus.
Parameter Wert Verbindungstyp Microsoft SQL Server Server Name Ihres logischen Servers Authentifizierungstyp SQL-Anmeldung Benutzername cloudadmin Kennwort Kennwort für das cloudadmin-Konto Kennwort speichern Ausgewählt Datenbank AdventureWorks Servergruppe Bei <Default>
belassenName (optional) Nicht ausfüllen Auf der Registerkarte Verbindungen sollte jetzt unter Server die Azure SQL-Datenbank-Verbindung angezeigt werden. Die SQL Server-Verbindung in der folgenden Abbildung dient lediglich zu Vergleichszwecken.
Das Ausführen von Abfragen in Azure Data Studio ähnelt der Vorgehensweise in SSMS. Klicken Sie mit der rechten Maustaste auf einen Datenbank- oder Servernamen, und wählen Sie Neue Abfrage aus.
Für Azure SQL-Datenbank wird USE [Datenbankname] nicht unterstützt, um den Datenbankkontext zu ändern, da Sie keinen vollständigen Server erhalten. Sie müssen entweder die Verbindung ändern, um explizit eine Verbindung mit der Datenbank herzustellen, für die Sie eine Abfrage ausführen möchten, oder das Dropdownmenü verwenden. Wechseln Sie zum Kontext Ihrer
AdventureWorks
-Datenbank, indem Sie die Option nebenmaster
wählen undSELECT @@VERSION
ausführen.Später in dieser Übung erfahren Sie, warum sich dieses Ergebnis von dem unterscheidet, was Sie in SQL Server sehen.
Einrichten eines einfachen Dateizugriffs mit Azure Data Studio
Nachdem Sie eine Verbindung hergestellt haben, möchten Sie auf einfache Weise auf Skripts und Jupyter-Notebooks zugreifen. Ein Jupyter-Notebook ist eine Möglichkeit, ausführbaren Code in Text zu integrieren. Bald werden Sie mit Jupyter-Notebooks vertraut sein, wenn Sie das bisher noch nicht sind.
Wählen Sie in Azure Data Studio Datei>Ordner öffnen aus.
Navigieren Sie zu dem Speicherort, an dem Sie die ZIP-Datei mit den Ressourcen für diese Übung extrahiert haben. Wenn Sie die Voraussetzungen befolgt haben, sollte der Pfad ungefähr so lauten: C:\Users\<machine-username>\mslearn-azure-sql-fundamentals Klicken Sie dort auf Ordner auswählen. Wählen Sie Ja, ich vertraue den Autoren aus, wenn Sie dazu aufgefordert werden.
Klicken Sie dann links in der Taskleiste auf das Explorer-Symbol, um die Dateien im Modul zu durchsuchen. Dieser Ordner enthält alle notwendigen Ressourcen für den Lernpfad zu den Azure SQL-Grundlagen, so dass Sie diese Informationen nur einmal herunterladen und konfigurieren müssen!
Im Laufe des Moduls und der Lernpfadübungen werden Sie an verschiedenen Stellen angewiesen, eine Notebook-Datei mit der folgenden Dateinamenerweiterung zu öffnen: .ipynb. Auf dieses können Sie direkt von hier aus zugreifen. Alternativ können Sie über die Registerkarte mit dem Notebook-Symbol darauf zugreifen.
Überprüfen der Bereitstellung
Nachdem Sie eine SQL-Instanz bereitgestellt haben, führen Sie in der Regel Abfragen aus, um Ihre Bereitstellung zu überprüfen. In Azure SQL unterscheiden sich einige dieser Abfragen von SQL Server. In diesem Schritt sehen Sie, was und wie sich die Dinge gegenüber SQL Server ändern und was neu ist.
Es gibt zwei Möglichkeiten, diese Übung abzuschließen:
- T-SQL in SSMS
- SQL-Notebooks in Azure Data Studio
Beide Übungen verwenden dieselben Befehle und Inhalte, sodass Sie frei wählen können.
Option 1: T-SQL in SSMS
In dieser Option lernen Sie einige gängige Abfragen für Systemfunktionen, dynamischen Verwaltungsansichten (DMVs) und Katalogansichten kennen, die Sie nach der Bereitstellung in SSMS verwenden können. Sie erfahren, welche Funktionen mit SQL Server identisch sind, welche nicht und welche in Azure SQL neu sind.
Stellen Sie eine Verbindung mit Ihrem logischen Azure SQL-Datenbank-Server in SSMS her, falls Sie das noch nicht getan haben.
Klicken Sie mit der rechten Maustaste auf die Datenbank
AdventureWorks
, und wählen Sie Neue Abfrage aus.Überprüfen Sie die von Ihnen bereitgestellte Version durch Ausführen der bekannten Systemfunktion
@@VERSION
.SELECT @@VERSION
Das Ergebnis in SQL Server sieht etwas anders aus. Sie können erkennen, dass es sich bei diesem Server um Azure SQL handelt, da dieser keine Versionen hat. Azure SQL-Datenbank enthält die aktuellsten Änderungen, die mit dem aktuellen Release von SQL Server übereinstimmen. Die Systemfunktion
@@VERSION
wird jedoch üblicherweise verwendet, um zu bestätigen, dass Abfragen in SQL Server möglich sind.Bestimmen Sie anhand der zurückgegebenen Nummer den konkreten Typ der Azure SQL-Bereitstellung:
- 1 = Personal oder Desktop Engine
- 2 = Standard
- 3 = Enterprise
- 4 = Express
- 5 = SQL-Datenbank
- 6 = SQL Data Warehouse
- 8 = SQL Managed Instance
Führen Sie den folgenden T-SQL-Befehl aus, um zu testen, ob das erwartete Ergebnis zurückgegeben wird.
SELECT SERVERPROPERTY('EngineEdition');
Das Ergebnis ist 5. Dies ist logisch, da Sie Azure SQL-Datenbank bereitgestellt haben, nicht SQL Managed Instance oder SQL Server Enterprise. Es gibt keine spezielle Zahl für SQL Server in Azure-VMs. Die Zahl würde der Edition entsprechen, die Sie auf der VM installiert haben. Personal und Desktop Engine sind veraltete Editionen, die nicht mehr mit SQL Server verwendet werden.
Sehen Sie sich die Katalogsichten
sys.databases
undsys.objects
an. Normalerweise sehen Sie sich diese Ansichten an, um die Installation und den Status von Systemdatenbanken zu überprüfen und um Systemobjekte in Ihrer Datenbank zu kontrollieren.SELECT * FROM sys.databases; SELECT * FROM sys.objects;
Im ersten Resultset werden die Systemdatenbanken
msdb
,tempdb
undmodel
nicht aufgelistet. Es werden nur die Master- und die Benutzerdatenbank aufgelistet. Die Masterdatenbank für einen Datenbankserver für Azure SQL-Datenbank ist nicht dasselbe wie die physische Masterdatenbank, die mit SQL Server installiert wird. In Azure SQL Managed Instance sehen Sie den normalen Satz von Systemdatenbanken, wie bei jeder SQL Server-Instanz.sys.objects
sieht jedoch ähnlich wie eine normale SQL Server-Instanz aus. Dies gilt für Systemtabellen, interne Tabellen und Benutzerobjekte in derAdventureWorksLT
-Beispieldatenbank.Vergewissern Sie sich, dass alle Scheduler online sind und dass Sie die erwarteten verfügbaren CPUs erkennen, da Sie mit einem Modell mit zwei virtuellen Kernen arbeiten.
SELECT * FROM sys.dm_os_schedulers where STATUS = 'VISIBLE ONLINE';
Wenn zwei virtuelle Kerne für die SQL Server-Instanz verfügbar sind, in denen Ihre SQL-Datenbank bereitgestellt wurde, entsprechen die beiden
VISIBLE ONLINE
-Scheduler dem zu erwartenden Ergebnis.Bei einer SQL Server-Bereitstellung sind normalerweise DMVs wie
sys.dm_process_memory
für die Grenzwerte zu CPU, Arbeitsspeicher und Workern relevant. Diese DMV wird von Azure SQL-Datenbank nicht unterstützt, da der Benutzer bzw. die Benutzerin die Details des Hosts, der die Datenbank unterstützt, nicht preisgibt oder kontrolliert. Sie können die DMVsys.dm_user_db_resource_governance
verwenden, um Kapazitäten und Grenzwerte für die bereitgestellte SQL-Datenbank zu überprüfen. Alternativ können Siesys.dm_instance_resource_governance
in Azure SQL Managed Instance verwenden.Führen Sie die folgende Abfrage aus, und sehen Sie sich die Ergebnisse an. Vergleichen Sie die Ergebnisse mit Ihrem Tarif und den Grenzwerten, die für den von Ihnen bereitgestellten Tarif dokumentiert sind.
slo_name
ist das Servicelevelziel (SLO), das die Bereitstellungsoption, die Dienstebene, die Hardware und die Computemenge angibt. Da Azure SQL-Datenbank Windows-Auftragsobjekte für andere Grenzwerte von Ressourcen, wie z. B. Arbeitsspeicher, verwendet, können Sie außerdem anhand dersys.dm_os_job_object
-DMV sehen, welche Ressourcen für die Bereitstellung verfügbar sind.SELECT * FROM sys.dm_user_db_resource_governance;
Eine gängige Vorgehensweise, eine SQL Server-Bereitstellung zu prüfen, besteht im Untersuchen der Liste aktiver Anforderungen. Genau wie bei SQL Server können Sie
sys.dm_exec_requests
verwenden, um die derzeit ausgeführten SQL-Abfragen anzuzeigen.SELECT * FROM sys.dm_exec_requests;
Die Verwendung von
sys.dm_exec_requests
für Azure SQL-Datenbank unterscheidet sich von der Verwendung für SQL Server oder SQL Managed Instance. Diese DMV zeigt nur aktive Anforderungen für Ihre Datenbank einschließlich Hintergrundaufgaben (bzw. Hintergrundaufgaben ohne Datenbankkontext, die als master angezeigt werden). Dieses Verhalten liegt in der Natur einer Azure SQL-Datenbankbereitstellung begründet, bei der jede Datenbank auf ihrer eigenen SQL Server-Instanz bereitgestellt wird.
Option 2: SQL-Notebooks in Azure Data Studio
Für diese Option verwenden Sie das Notebook VerifyDeployment.ipynb. Sie finden es unter 02-DeployAndConfigure\verifydeployment\VerifyDeployment.ipynb im GitHub-Repository oder in der .zip-Datei, die Sie vorhin heruntergeladen haben. Suchen Sie in Azure Data Studio nach dieser Datei, um diesen Teil der Übung abzuschließen, und kehren Sie dann hierher zurück. Im selben Ordner finden Sie auch zusätzliche Notebooks, die die Ergebnisse der gleichen Abfragen auf Azure SQL Managed Instance und SQL Server 2019 enthalten.
Wenn Sie die Übung aus irgendeinem Grund nicht abschließen können, können Sie die Ergebnisse in der entsprechenden Notebook-Datei auf GitHub überprüfen.