Erstellen und Konfigurieren einer Azure SQL-Datenbank-Instanz
Sie können Azure SQL-Datenbanken mithilfe von Code oder manuell über das Azure-Portal erstellen. Darüber hinaus können Sie die Datenbankerstellung in einen automatisierten Prozess für Continuous Integration (CI) integrieren. Dieser Ansatz ist vorteilhaft für die Wahrung der Konsistenz, da das Schreiben von Code zur Erstellung einer Datenbank sicherstellt, dass Sie jedes Mal genau die gleichen Spezifikationen generieren.
Wenn Sie eine Azure SQL-Datenbank mithilfe von Code erstellen, gibt es vier Hauptschritte:
- Erstellen einer Ressourcengruppe
- Erstellen eines SQL-Servers
- Konfigurieren von Firewallregeln
- Erstellen einer Datenbank
Erstellen einer Ressourcengruppe
Alle Ressourcen in Azure werden innerhalb einer Ressourcengruppe erstellt. Wenn Sie eine Ressourcengruppe mit Code erstellen, haben Sie nicht die gleiche Sichtbarkeit wie bei der Erstellung einer Datenbank im Portal. Wenn Sie die Ressourcengruppenerstellung in Ihre automatisierte Bereitstellung einbeziehen müssen, sollten Sie einen randomisierten Namen verwenden. Auf diese Weise lassen sich Überschneidungen mit bestehenden Ressourcengruppennamen in Ihrem Mandanten vermeiden.
Hinweis
$RANDOM ist eine Bash-Funktion, die eine pseudozufällige ganze Zahl im Bereich von 0 bis 32767 zurückgibt. Dies ist ein kleinerer Bereich als der von PowerShell Get-Randomzurückgegebene Bereich. Um die Eindeutigkeit zu gewährleisten, können zwei $RANDOM-Ergebnisse miteinander multipliziert werden.
Weitere Informationen zum Erstellen einer Ressourcengruppe mithilfe von Code finden Sie unter Verwalten von Azure-Ressourcengruppen mithilfe der Azure CLI oder Verwalten von Azure-Ressourcengruppen mithilfe von Azure PowerShell.
Erstellen eines SQL-Servers
Wenn Sie einen SQL-Server erstellen, muss der Servername ebenfalls eindeutig sein, und es muss ein Benutzerkonto mit Administratorberechtigungen und einem sicheren Kennwort erstellt werden.
In diesem Beispiel wird die Azure CLI zum Erstellen eines SQL-Servers verwendet:
serverName="svr-$randomId"
adminUser="azureadmin"
adminPassword="pw-$randomId"
az sql server create --name $serverName --resource-group $resourceGroup --location $location \
--admin-user $adminUser --admin-password $adminPassword
In diesem Beispiel wird PowerShell zum Erstellen eines SQL-Servers verwendet:
$serverName = "svr-$randomId"
$adminUser = "azureadmin"
$adminPassword = "pw-$randomId"
$credentials = New-Object -TypeName System.Management.Automation.PSCredential `
-ArgumentList $adminUser, $(ConvertTo-SecureString -String $adminPassword -AsPlainText -Force)
$server = New-AzSqlServer -ServerName $serverName -ResourceGroupName $resourceGroup `
-Location $location -SqlAdministratorCredentials $credentials
$server
Konfigurieren von Firewallregeln
Firewallregeln geben an, welcher Datenverkehr Zugriff auf den Server erhält oder welchem Datenverkehr der Zugriff verweigert wird.
In diesem Beispiel wird die Azure CLI verwendet, um eine Firewallregel hinzuzufügen:
startIpAddress="0.0.0.0"
endIpAddress="0.0.0.0"
firewallRuleName="AllowedIPRange"
az sql server firewall-rule create --server $serverName \
--resource-group $resourceGroup \
--name $firewallRuleName --start-ip-address $startIpAddress --end-ip-address $endIpAddress
In diesem Beispiel wird PowerShell verwendet, um eine Firewallregel hinzuzufügen:
$startIpAddress = "0.0.0.0"
$endIpAddress = "0.0.0.0"
$firewallRuleName = "AllowedIPRange"
$serverFirewallRule = New-AzSqlServerFirewallRule -ServerName $serverName `
-ResourceGroupName $resourceGroup `
-FirewallRuleName $firewallRuleName -StartIpAddress $startIpAddress -EndIpAddress $endIpAddress
$serverFirewallRule
Erstellen einer Datenbank
Sie können jetzt eine Azure SQL-Datenbank auf dem von Ihnen erstellten Server erstellen. In diesem Codebeispiel erstellen Sie die Beispieldatenbank AdventureWorksLT. Wenn Sie eine leere Datenbank erstellen möchten, ändern Sie den Datenbanknamen, und entfernen Sie die Zeile mit dem Parameter --sample-name.
Im folgenden Codeschnipsel wird die Azure CLI zum Erstellen der Datenbank AdventureWorksLT verwendet.
az sql db create --name AdventureWorksLT
\ --resource-group $resourceGroup --server $serverName
\ --sample-name AdventureWorksLT
\ --edition GeneralPurpose --compute-model serverless --family Gen5 --capacity 2
Im folgenden Codeschnipsel wird PowerShell zum Erstellen der Datenbank AdventureWorksLT verwendet.
New-AzSqlDatabase -DatabaseName AdventureWorksLT `
-ResourceGroupName $resourceGroup -ServerName $serverName `
-SampleName AdventureWorksLT `
-Edition GeneralPurpose -ComputeModel Serverless -ComputeGeneration Gen5 -VCore 2
Das Codeschnipsel veranschaulicht das Erstellen einer Azure SQL-Datenbank für eine bestimmte Dienstebene und Computeebene. Weitere Informationen zu den verfügbaren Dienst- und Computeebenen finden Sie unter Dienstebenen.
Abfragen der Datenbank
Sie können eine Azure SQL-Datenbank mit T-SQL erstellen, wenn Sie in Azure bereits eine Ressourcengruppe und einen Server erstellt haben. T-SQL bietet nicht die Möglichkeit, Azure-Ressourcen zu erstellen.
Sie können jedoch eine vorhandene Datenbank mit Abfrage-Editor im Azure-Portal abfragen, indem Sie zu Ihrem Azure SQL-Dashboard wechseln.
Melden Sie sich zunächst beim Azure-Portal an, und navigieren Sie zu Ihrer Datenbank. Wählen Sie dann im linken Navigationsbereich Abfrage-Editor aus. Melden Sie sich dann mit Ihren SQL-Administratoranmeldeinformationen an. Nachdem Sie angemeldet sind, führen Sie die folgende T-SQL-Abfrage an der Datenbank AdventureWorksLT aus.
SELECT TOP 10 C.Name AS Category, SUM(S.OrderQty * S.UnitPrice) AS SalesValue
FROM [SalesLT].[ProductCategory] AS C
INNER JOIN [SalesLT].[Product] AS P
ON C.ProductCategoryID = P.ProductCategoryID
INNER JOIN [SalesLT].[SalesOrderDetail] AS S
ON P.ProductID = S.ProductID
GROUP BY C.Name
ORDER BY SalesValue DESC;
Weitere Informationen zu verfügbaren Bereitstellungsmodellen für Azure SQL-Datenbank finden Sie unter Was ist Azure SQL-Datenbank?.