Übung: Konfigurieren von Azure SQL-Datenbank

Abgeschlossen

Sie haben nun das Azure-Portal, SQL Server Management Studio (SSMS) und SQL-Notebooks in Azure Data Studio kennengelernt. Für die Verwaltung von Azure SQL sind andere Tools verfügbar. Zwei der beliebtesten sind die Azure CLI und Azure PowerShell. Sie ähneln sich in der Funktionalität. Diese Aktivität konzentriert sich auf die Azure CLI.

Für diese Aktivität benötigen Sie ein PowerShell-Notebook. Dabei handelt es sich im Grunde genommen um ein SQL-Notebook. Der einzige Unterschied besteht darin, dass PowerShell als Programmiersprache verwendet wird. Sie können PowerShell-Notebooks verwenden, um die Vorteile von Azure CLI oder Azure PowerShell zu nutzen. In diesem Artikel werden Azure CLI-Befehle genauer betrachtet. Beide Tools können auch über Azure Cloud Shell aufgerufen werden, eine interaktive Shellumgebung, die über den Browser im Azure-Portal verfügbar ist.

Sie verwenden in dieser Übung Cloud Shell. Sie enthält bereits die Module Azure CLI und Azure PowerShell.

Herstellen einer Verbindung mit Azure Cloud Shell und der Azure CLI

Im folgenden Beispiel werden die Auswirkungen der Verwendung verschiedener Verbindungsrichtlinien in Azure SQL auf die Wartezeit untersucht.

Führen Sie alle Befehle in Cloud Shell aus. Sie können sie einfach kopieren und mit UMSCHALT+EINFG in das Terminal einfügen.

Hinweis

In PowerShell mit Azure Cloud Shell können Sie das PowerShell-Modul „Az module“ oder die Azure CLI verwenden. In dieser Übung erkunden Sie die Azure-Befehlszeilenschnittstelle. Es sind jedoch ähnliche Befehle für das PowerShell-Modul „Az“ verfügbar.

  1. Navigieren Sie zu shell.azure.com, und melden Sie sich bei Ihrem Azure-Konto an, wenn Sie dazu aufgefordert werden.

  2. Konfigurieren Sie eine Standardressourcengruppe und einen logischen Azure SQL-Datenbank-Server, damit die Angabe nicht in jedem az-Befehl enthalten sein muss. Führen Sie die folgenden Befehle aus, um einige Variablen festzulegen. Ersetzen Sie <resource-group> durch <your-server>, und geben Sie die Werte an, die Sie beim Erstellen Ihrer SQL-Instanz in der vorherigen Übung verwendet haben.

    resourceGroup="<resource-group>"
    logical_server="<your-server>"
    databaseName="AdventureWorks"
    
  3. Legen Sie die Standardwerte in Cloud Shell fest, um Ihre Standardressourcengruppe und den logischen Azure SQL-Datenbank-Server anzugeben:

    az configure --defaults group=$resourceGroup sql-server=$logical_server
    
  4. Führen Sie den folgenden Befehl aus, um zu überprüfen, ob die Standardwerte festgelegt wurden:

    az configure --list-defaults
    
  5. Führen Sie den folgenden Befehl aus, um alle Datenbanken auf dem logischen Azure SQL-Datenbank-Server anzuzeigen:

    az sql db list
    
  6. Die Liste der Datenbanken enthält eine Vielzahl an Informationen. Führen Sie den folgenden Befehl aus, wenn Sie nur bestimmte Daten für die Datenbank AdventureWorks anzeigen möchten:

    az sql db show --name $databaseName
    
  7. Führen Sie den folgenden Befehl aus, um die Größe und die Nutzung der Datenbank zu ermitteln:

    az sql db list-usages --name $databaseName
    

In diesen Beispielen werden die Befehle az sql db verwendet. Es sind ähnliche Befehle für den logischen Azure SQL-Datenbank-Server verfügbar. Sie fallen unter az sql server.

Es gibt ähnliche Befehle für az sql mi und az sql midb. Dies sind Befehle für Datenbanken in einer verwalteten Instanz, sie werden gelegentlich auch als verwaltete Datenbanken bezeichnet.

Ausführliche Erläuterungen zu allen verfügbaren Befehlen finden Sie in der Dokumentation zur Azure-Befehlszeilenschnittstelle.

Verwalten von Verbindungsrichtlinien mit der Azure CLI

Mithilfe der Azure CLI- oder Azure PowerShell-Befehle können Sie beispielsweise die Verbindungsrichtlinie aktualisieren. Diese Aktualisierung ist ein Beispiel dafür, wie Sie Azure SQL mithilfe eines Tools wie der Azure CLI verwalten können. In diesem Beispiel sehen Sie sich Azure SQL-Datenbank und die zugehörigen Befehlen zum Verwalten der Verbindungsrichtlinien an. Die Implementierung ist in Azure SQL Managed Instance ähnlich.

  1. Ermitteln Sie mithilfe der Azure CLI, welche Richtlinie aktuell verwendet wird.

    az sql server conn-policy show
    

    Die Ergebnisse zeigen, dass der Verbindungstyp Default entspricht.

  2. Legen Sie die Verbindungsrichtlinie auf Proxy fest, und bestimmen Sie die Roundtripzeit.

    # update policy
    az sql server conn-policy update --connection-type Proxy
    # confirm update
    az sql server conn-policy show
    
  3. Zum Testen der RTT (Round-trip Time) stellen Sie mithilfe von SSMS eine Verbindung her. Öffnen Sie SSMS auf Ihrem Gerät, und stellen Sie eine Verbindung mit Ihrer Datenbank her. Klicken Sie mit der rechten Maustaste auf die Datenbank, und klicken Sie auf Neue Abfrage. Erstellen Sie eine neue Abfrage mit dem folgenden Text, und wählen Sie dann Abfrage>Clientstatistiken einschließen aus. Wartezeit für Serverantworten in den Ergebnissen ist der beste Indikator für die Netzwerkwartezeit. Sie können diese Abfrage mehrmals ausführen, um einen zuverlässigen Durchschnitt zu erzielen.

    -- Proxy
    SELECT * FROM SalesLT.Product
    GO 10
    

    Beim Testen dieser Übung liegt die durchschnittliche Wartezeit für Serverantworten nach zehn Abfragen bei etwa 46.6000. Ihre Ergebnisse können jedoch je nach Ihrer Internetverbindung anders ausfallen. Notieren Sie sich die beobachtete Zeit.

  4. Wie müssten Sie nun vorgehen, um Redirect als Verbindungstyp festzulegen und eine geringere Wartezeit zu erzielen?

    Sie müssen für alle Azure-externen Ressourcen die eingehende und ausgehende Kommunikation über die Ports 11000 bis 11999 zulassen. Das Öffnen dieser Ports ist für die Redirect-Verbindungsrichtlinie erforderlich.

    Hinweis

    Dies ist wahrscheinlich bereits auf Ihrem lokalen Gerät konfiguriert. Wenn in den nächsten Schritten Fehler auftreten, müssen Sie möglicherweise die zuvor erwähnten Ports aktivieren. Weitere Informationen finden Sie unter Andere Ports als 1433 für ADO.NET 4.5.

    Aktualisieren Sie die Verbindungsrichtlinie, und bestätigen Sie das Update mit den folgenden beiden Befehlen.

    # update policy
    az sql server conn-policy update --connection-type Redirect
    # confirm update
    az sql server conn-policy show
    
  5. Stellen Sie auf Ihrem lokalen Gerät eine Verbindung mit SSMS her, um die Netzwerkwartezeit über die Redirect-Richtlinie zu testen. Erstellen Sie mithilfe des folgenden Texts eine neue Abfrage, und aktivieren Sie Clientstatistiken einschließen für Ihre Ergebnisse. Vergleichen Sie die Wartezeit für Serverantworten mit Ihrer Abfrage für Proxy.

    -- Redirect
    SELECT * FROM SalesLT.Product
    GO 10
    

    Beim Testen dieser Übung liegt die durchschnittliche Wartezeit für Serverantworten nach zehn Abfragen bei etwa 25.8000. Dies entspricht fast der Hälfte der Wartezeit der Proxyverbindungsrichtlinie. Die genauen Zeitangaben sind von der Verbindung abhängig. Im Vergleich zum früheren Proxytest sollte diese Zeit deutlich kürzer sein.

  6. Legen Sie die Richtlinie mithilfe des folgenden Befehls für die nächste Übung wieder auf den Standardwert fest:

    # update policy
    az sql server conn-policy update --connection-type Default
    # confirm update
    az sql server conn-policy show
    

Redirect-Verbindungen sind schneller, da das Gateway nach der anfänglichen Verbindung umgangen und direkt mit der Datenbank kommuniziert werden kann. Diese Umgehung bedeutet weniger Hops und folglich eine geringere Wartezeit. Eine geringere Wartezeit hilft dabei, Engpässe zu vermeiden. Dies ist bei kommunikationsintensiven Anwendungen besonders wichtig. Im Leistungsmodul erfahren Sie mehr darüber, wie Sie die Leistung verbessern und optimieren können.