Verbindung zur Azure SQL-Datenbank: Ein umfassender Leitfaden

Azure SQL-Datenbank ist ein verwalteter SQL-Datenbankdienst, der entwickelt wurde, damit Entwickler und Administratoren nicht die mühsamen Aufgaben der Installation von SQL Server durchführen oder Stunden mit der Einrichtung von Ausfallsicherungsclustern verbringen müssen.

Microsoft Azure hat die schwere Arbeit bei der Einrichtung der Datenbankebene übernommen, sodass nur noch die Verbindung dazu hergestellt werden muss. Genau darum geht es in diesem Artikel. Hier sind mehrere verschiedene Möglichkeiten, um eine Verbindung mit einer Azure SQL-Datenbank herzustellen.

Voraussetzungen

Wenn Sie eine Verbindung mit einer Azure SQL-Datenbank herstellen möchten, müssen Sie im Voraus einige Voraussetzungen erfüllen.

  1. Ein Azure-Konto oder Zugriff darauf
  2. Eine Azure SQL-Datenbank (Sie können auch Ihre eigene verwenden, aber ich werde die Beispiel-Datenbank verwenden..
  3. A Windows 10, Mac OS, or Linux laptop or desktop with PowerShell, Visual Studio Code and SQL Server Management Studio installed. The screenshots are all from Windows 10.

Es gibt Dutzende verschiedener Möglichkeiten, um eine Verbindung mit Azure SQL herzustellen, und leider kann ich nicht alle behandeln, aber diejenigen, die ich in diesem Beitrag behandeln werde, sind:

  • Das Azure-Portal
  • SQL Server Management Studio
  • Visual Studio Code
  • PowerShell

Konfiguration der Azure SQL-Datenbank

Bevor Sie beginnen, müssen Sie sicherstellen, dass Sie über eine verfügbare Datenbank verfügen und eine Verbindung dazu herstellen können. Mit den Anweisungen aus dem Quickstart-Dokument habe ich eine Beispieldatenbank namens ata-demo eingerichtet. Diese Datenbank hat einen SQL-Administrator (sa) mit dem Benutzernamen AtaAdmin und das Passwort Admin123.

Das Passwort, das ich verwende, ist nicht besonders sicher, aber für Demonstrationszwecke reicht es aus. Bitte achten Sie darauf, bewährte Verfahren für Passwörter zu verwenden, wenn Sie so etwas in einer QA- oder Produktionsumgebung einrichten!

Als nächstes müssen Sie sich im Azure-Portal anmelden, um sicherzustellen, dass Ihr Gerät eine Verbindung zur Datenbank herstellen kann. Sie können dies mit einem vorhandenen Azure-Virtual Network verbinden oder einen IP-Bereich definieren, der auf die Datenbank zugreifen kann, was in den folgenden Demos gemacht wird. Gehen Sie zur Ressourcenseite der SQL-Datenbank, mit der Sie eine Verbindung herstellen möchten, und suchen Sie nach der Option Server-Firewall festlegen.

Setting an Azure SQL Server firewall rule

Sobald Sie hier sind, haben Sie die Möglichkeit, einen IP-Bereich auszuwählen. Auf dieser Seite wird auch die IP-Adresse Ihres Geräts angezeigt, die ich für die Demo verwenden werde. In der Praxis handelt es sich dabei jedoch um den Subnetz-Bereich oder das Virtual Network Ihrer Anwendungsebene. Wenn das erledigt ist, können Sie mit der ersten Demo fortfahren!

Verbindung zu einer Azure SQL-Datenbank mit dem Azure-Portal

Da Sie sich bereits im Azure-Portal befinden, können Sie hier direkt mit der ersten Demo beginnen.

Gehen Sie zur Übersichtsseite zurück, indem Sie das Navigationsmenü auf der linken Seite verwenden, und suchen Sie nach Query Editor. Sobald Sie dort sind, werden Sie aufgefordert, sich mit einem Microsoft-Konto oder SQL-Anmeldeinformationen anzumelden. Verwenden Sie das zuvor eingerichtete SA-Konto, um sich anzumelden (AtaAdmin:Admin123).

Nachdem Sie sich angemeldet haben, sehen Sie ein Panel mit den Tabellen, Ansichten und gespeicherten Prozeduren auf der linken Seite des Query Editors. Zum Zeitpunkt des Verfassens dieses Textes gibt es keine Funktion zum Rechtsklicken in dieser Benutzeroberfläche. Ihre einzige Möglichkeit, mit der Datenbank zu interagieren, besteht also über den Query Editor. Wenn Sie die Beispieldatenbank verwenden, können Sie die folgende Beispielabfrage verwenden.

SELECT pc.Name as CategoryName, p.name as ProductName
FROM [SalesLT].[ProductCategory] pc
JOIN [SalesLT].[Product] p
ON pc.productcategoryid = p.productcategoryid;
Querying the Azure SQL server database

Jetzt, da Sie wissen, dass die Firewall-Regeln eingerichtet wurden, können Sie versuchen, dies von anderen Plattformen aus zu tun.

Verbindung zu einer Azure SQL-Datenbank mit dem SQL Server Management Studio (SSMS)

Das umfangreichste Tool zur Verwaltung eines SQL-Datenbank-Servers ist SSMS. Seit über einem Jahrzehnt ist dies das bevorzugte Tool für Datenbankadministratoren von SQL Server.

SSMS ist auch vollständig kompatibel mit Azure SQL-Datenbanken. Wenn Sie es nicht installiert haben, können Sie die neueste Version von Microsoft herunterladen oder es über einen Paketmanager installieren.

Gehen Sie zurück zu Ihrer SQL-Datenbank-Ressourcenseite und kopieren Sie den Servernamen. Der Servername lautet <Ihr Datenbankname>.database.windows.net.

Öffnen Sie SQL Server Management Studio, um sich mit dem Datenbanknamen über die SQL Server-Authentifizierung und den zuvor eingerichteten SA-Benutzer zu verbinden. Wenn Sie die Firewall-Regel noch nicht eingerichtet haben, werden Sie von SSMS aufgefordert, sich mit Ihrem Azure-Konto anzumelden.

Jetzt, da Sie sich an die Datenbank authentifiziert haben und die Firewall eingerichtet ist, können Sie Ihre Abfragen starten, indem Sie zu <Servername> –> Datenbanken gehen, mit der rechten Maustaste auf Ihre Datenbank klicken und Neue Abfrage auswählen. Führen Sie nun die Abfrage aus, die Sie zuvor verwendet haben, und sehen Sie zu, wie die Magie geschieht.

Connecting to an Azure SQL Database with SSMS

Verbindung mit einer Azure SQL-Datenbank über Visual Studio Code (Code)

Um sich mit einer Azure SQL-Datenbank über Visual Studio Code zu verbinden, müssen Sie die mssql-Erweiterung für Visual Studio Code installieren. Nach der Installation drücken Sie Strg + Umschalt + P, um das Dialogfeld zu öffnen, und suchen Sie nach MS SQL: Verbinden.

Using the MSSql extension in Visual Studio Code

Nach der Auswahl führt Sie Visual Studio Code durch einen Assistenten, der Sie auffordert, die Informationen der Datenbank einzugeben, mit der Sie sich verbinden möchten. Sie werden nach dem Servernamen, dem Datenbanknamen, dem Benutzernamen und dem Passwort gefragt. Sobald Sie alle Informationen bereitgestellt haben, werden sie in einem Verbindungsprofil gespeichert, das zur Ausführung von Abfragen gegen diese Datenbank verwendet werden kann.

Geben Sie eine SQL-Abfrage in das Editorfenster ein, um sie gegen Ihre Datenbank auszuführen. Mit der geöffneten Abfrage drücken Sie Strg + Umschalt + E. Sie werden nach der Verbindung gefragt, mit der Sie diese Abfrage ausführen möchten. Wählen Sie die erstellte Verbindung aus, und Code öffnet ein weiteres Fenster mit den Ergebnissen, ohne den Bildschirm zu verlassen!

Connecting to mySql in Visual Studio Code

Verbindung mit einer Azure SQL-Datenbank mit PowerShell

Um eine Verbindung mit einer Azure SQL-Datenbank über PowerShell herzustellen, müssen Sie das Az PowerShell-Modul installieren. Sie können dieses Modul in der PowerShell Gallery finden. Laden und installieren Sie das Modul, indem Sie den Befehl Install-Module Az ausführen. Zum Zeitpunkt dieses Schreibens befindet sich das Modul in Version 2.5

Das Modul muss nur einmal auf dem Computer installiert werden, von dem aus Sie Ihr Skript ausführen möchten. Melden Sie sich anschließend bei Azure an, indem Sie Connect-AzAccount ausführen. Erfahren Sie mehr über die Verwendung des Connect-AzAccount-Cmdlets, wenn Sie weitere Informationen benötigen.

Um zu überprüfen, ob alles funktioniert, können Sie die Datenbank finden, indem Sie Get-AzSqlServer -ResourceGroupName <Ihre Ressourcengruppe> ausführen. Wenn dies die Datenbank zurückgibt, mit der Sie eine Verbindung herstellen möchten, sind Sie bereit, das Skript auszuführen.

Jetzt, da Sie authentifiziert sind und die Datenbank sehen können, können Sie sie abfragen, indem Sie das folgende Skript ausführen. Dieser Code importiert das Azure SQL-Modul, richtet die Parameter ein (Datenbank, Benutzername, Anmeldeinformationen und Abfrage) und führt Invoke-SqlCmd aus, um die Transact-SQL-Abfrage zu starten.

# Modul importieren
Import-Module Az.Sql -Force
 
# Parameter einrichten
$Params = @{
   'ServerInstance' = 'atademo.database.windows.net';
   'Database' = 'ata-demo';
   'Username' = 'ataadmin';
   'Password' = 'Admin123';
   'Query' = 'SELECT pc.Name as CategoryName, p.name as ProductName
FROM [SalesLT].[ProductCategory] pc
JOIN [SalesLT].[Product] p
ON pc.productcategoryid = p.productcategoryid;'
}
 
# Splat
Invoke-Sqlcmd @Params

Sie können auch PowerShell verwenden, um den Azure SQL Server und die Datenbank zu lesen und diese Informationen an die Abfrage zu übergeben, wie unten dargestellt. Vorausgesetzt, dass Sie $rgName definiert haben und das Passwort als sicheren String übergeben, gibt es keinen funktionalen Unterschied zwischen dem ersten Skript und dem zweiten.

Import-Module Az.Sql -Force
 
$rgName = '<Resource Group Name>'
$sqlServer = Get-AzSqlServer -ResourceGroupName $rgName
$sqlDatabase = Get-AzSqlDatabase -ServerName $sqlServer.ServerName -ResourceGroupName $rgName
 
$Params = @{
   'ServerInstance' = $sqlServer.FullyQualifiedDomainName;
   'Database' = $sqlDatabase.DatabaseName[0];
   'Username' = $sqlServer.SqlAdministratorLogin;
   'Password' = ‘<Password>’;
   'Query' = 'SELECT pc.Name as CategoryName, p.name as ProductName
       FROM [SalesLT].[ProductCategory] pc
       JOIN [SalesLT].[Product] p
       ON pc.productcategoryid = p.productcategoryid;'
}
 
Invoke-Sqlcmd @Params

Zusammenfassung

Nachdem Sie sich auf verschiedene Arten mit einer Azure SQL-Datenbank verbunden haben, sollten Sie sich damit wohl fühlen, sie entweder zusammen mit oder anstelle einer herkömmlichen SQL Server-Installation zu verwenden!

Weiterführende Informationen

Source:
https://adamtheautomator.com/connect-to-azure-sql-database/