Erkunden einer einzelnen SQL-Datenbank

Abgeschlossen

Sehen wir uns mehrere Methoden für die Bereitstellung einer einzelnen Azure SQL-Datenbank an.

Bereitstellen über das Portal

Das Erstellen einer SQL-Datenbank über das Azure-Portal ist einfach. Navigieren Sie zuerst zum Azure-Portal, und wählen Sie im linken Menü "SQL-Datenbanken" aus. Wählen Sie im eingeblendeten Bereich "Erstellen" aus.

Screenshot der Azure-Portal-Azure SQL-Datenbankbereitstellungsseite.

Im Bereich in der abbildung unten sehen Sie, dass das Abonnement bereits für Sie bereitgestellt werden sollte. Sie müssen die folgenden Informationen angeben:

  • Ressourcengruppe – Wenn Sie über eine vorhandene Ressourcengruppe verfügen, die Sie verwenden möchten, wählen Sie sie aus der Dropdownliste aus. Um eine neue Ressourcengruppe für diese Azure SQL-Datenbank zu erstellen, wählen Sie die Option " Neue Erstellen " aus.
  • Datenbankname – Geben Sie einen Namen für Ihre Datenbank an.
  • Server – Jede Datenbank muss sich auf einem logischen Server befinden. Wenn Sie bereits über einen in der entsprechenden Region verfügen, können Sie ihn auswählen. Wählen Sie andernfalls den Link " Neuen Erstellen" aus, und folgen Sie den Anweisungen, um einen neuen logischen Server zum Hosten der Datenbank zu erstellen.
  • Möchten Sie einen Pool für elastische SQL-Datenbanken verwenden? – Entscheiden Sie, ob ein elastischer Pool verwendet werden soll.
  • Compute und Speicher: Ermitteln Sie die erforderlichen Computeressourcen. Standardmäßig ist er auf Gen5, 2vCore, mit 32 GB Speicher festgelegt. Wählen Sie " Datenbank konfigurieren" aus, um alternative Konfigurationsoptionen anzuzeigen und auszuwählen.

Screenshot der Seite

Hier werden Sie feststellen, dass die Dienstebene "Allgemeiner Zweck" ist und die Computeebene serverlos ist, wie zuvor beschrieben. Diese wird sekundengenau für die Anzahl der genutzten virtuellen Kerne abgerechnet. Die alternative Option ist bereitgestellt, bei der Berechnete Ressourcen basierend auf der Anzahl der konfigurierten virtuellen Kerne pro Stunde vorverteilt und abgerechnet werden.

Auswahl der Dienstebene im Azure-Portal.

Bereitstellen einer Azure SQL-Datenbank-Instanz über PowerShell/die CLI

Datenbanken können ferner über Azure PowerShell oder die Azure CLI bereitgestellt werden. Die folgende Abbildung zeigt das PowerShell-Beispiel, in dem Sie eine neue Ressourcengruppe erstellen und einen Administrator namens SqlAdmin definieren und dann eine neue Server-, Datenbank- und Firewallregel erstellen.

# Connect-AzAccount

# The SubscriptionId in which to create these objects
$SubscriptionId = ''

# Set the resource group name and location for your server
$resourceGroupName = "myResourceGroup-$(Get-Random)"
$location = "westus2"

# Set an admin login and password for your server
$adminSqlLogin = "SqlAdmin"
$password = "ChangeYourAdminPassword1"

# Set server name - the logical server name has to be unique in the system
$serverName = "server-$(Get-Random)"

# The sample database name
$databaseName = "mySampleDatabase"

# The ip address range that you want to allow to access your server
$startIp = "0.0.0.0"
$endIp = "0.0.0.0"

# Set subscription
Set-AzContext -SubscriptionId $subscriptionId

# Create a resource group
$resourceGroup = New-AzResourceGroup -Name $resourceGroupName -Location $location

# Create a server with a system wide unique server name
$server = New-AzSqlServer -ResourceGroupName $resourceGroupName `
 -ServerName $serverName `
 -Location $location `
 -SqlAdministratorCredentials $(New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $adminSqlLogin, $(ConvertTo-SecureString -String $password -AsPlainText -Force))

# Create a server firewall rule that allows access from the specified IP range

$serverFirewallRule = New-AzSqlServerFirewallRule -ResourceGroupName $resourceGroupName `
 -ServerName $serverName `
 -FirewallRuleName "AllowedIPs" -StartIpAddress $startIp -EndIpAddress $endIp

# Create a blank database with an S0 performance level

$database = New-AzSqlDatabase -ResourceGroupName $resourceGroupName `
 -ServerName $serverName `
 -DatabaseName $databaseName `
 -RequestedServiceObjectiveName "S0" `
 -SampleName "AdventureWorksLT"

Instanzen von Azure SQL-Datenbank können, wie unten dargestellt, ebenfalls über die Azure CLI erstellt werden:

#!/bin/bash

# set execution context (if necessary)
az account set --subscription <replace with your subscription name or id>

# Set the resource group name and location for your server
resourceGroupName=myResourceGroup-$RANDOM
location=westus2

# Set an admin login and password for your database
adminlogin=ServerAdmin
password=`openssl rand -base64 16`

# password=<EnterYourComplexPasswordHere1>

# The logical server name has to be unique in all of Azure 
servername=server-$RANDOM

# The ip address range that you want to allow to access your DB
startip=0.0.0.0
endip=0.0.0.0

# Create a resource group
az group create \
 --name $resourceGroupName \
 --location $location

# Create a logical server in the resource group
az sql server create \
 --name $servername \
 --resource-group $resourceGroupName \
 --location $location \
 --admin-user $adminlogin \
 --admin-password $password

# Configure a firewall rule for the server

az sql server firewall-rule create \
 --resource-group $resourceGroupName \
 --server $servername \
 -n AllowYourIp \
 --start-ip-address $startip \
 --end-ip-address $endip

# Create a database in the server
az sql db create \
 --resource-group $resourceGroupName \
 --server $servername 
 --name mySampleDatabase \
 --sample-name AdventureWorksLT \
 --edition GeneralPurpose \
 --family Gen4 \
 --capacity 1 \

# Echo random password
echo $password

Bereitstellen einer Azure SQL-Datenbank-Instanz mithilfe von Azure Resource Manager-Vorlagen

Eine weitere Methode für die Bereitstellung von Ressourcen ist, wie bereits erwähnt, die Verwendung einer Azure Resource Manager-Vorlage. Eine Ressourcen-Manager-Vorlage bietet Ihnen die präziseste Kontrolle über Ihre Ressourcen, und Microsoft stellt ein GitHub-Repository bereit Azure-Quickstart-Templates, das Azure Resource Manager-Vorlagen hostet, auf die Sie in Ihren Bereitstellungen verweisen können. Nachstehend finden Sie ein PowerShell-Beispiel für die Bereitstellung einer GitHub-basierten Vorlage:

#Define Variables for parameters to pass to template
$projectName = Read-Host -Prompt "Enter a project name"
$location = Read-Host -Prompt "Enter an Azure location (i.e. centralus)"
$adminUser = Read-Host -Prompt "Enter the SQL server administrator username"
$adminPassword = Read-Host -Prompt "Enter the SQl server administrator password" -AsSecureString
$resourceGroupName = "${projectName}rg"

#Create Resource Group and Deploy Template to Resource Group
New-AzResourceGroup -Name $resourceGroupName -Location $location

New-AzResourceGroupDeployment -ResourceGroupName $resourceGroupName `
 -TemplateUri "https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/101-sql-logical-server/azuredeploy.json" `
 -administratorLogin $adminUser -administratorLoginPassword $adminPassword

Read-Host -Prompt "Press [ENTER] to continue ..."

Dieses Skript automatisiert die Erstellung einer Azure-Ressourcengruppe und die Bereitstellung eines logischen SQL-Servers darin. Er fordert den Benutzer zur Eingabe eines Projektnamens, eines Azure-Speicherorts und einer SQL Server-Administratoranmeldeinformationen auf, und erstellt dann mithilfe der bereitgestellten Details eine Ressourcengruppe. Schließlich stellt sie einen SQL-logischen Server mithilfe einer vordefinierten ARM-Vorlage aus einem angegebenen URI in der Ressourcengruppe bereit und hält die Ausführung an, bis die benutzende Person ENTER drückt.