Individuele SQL-database verkennen
Laten we eens kijken naar verschillende methoden voor het implementeren van één Azure SQL Database.
Implementeren via de portal
Het maken van een SQL-database via Azure Portal is eenvoudig. Navigeer eerst naar Azure Portal en selecteer SQL Databases in het menu aan de linkerkant. In het schuifpaneel dat verschijnt, selecteer 'Maken'.
In het deelvenster in de onderstaande afbeelding ziet u dat het abonnement al voor u is geregeld. U moet de volgende informatie opgeven:
- Resourcegroep : als u een bestaande resourcegroep hebt die u wilt gebruiken, selecteert u deze in de vervolgkeuzelijst. Als u een nieuwe resourcegroep voor deze Azure SQL Database wilt maken, kiest u de optie Nieuwe maken .
- Databasenaam : geef een naam op voor uw database.
- Server : elke database moet zich op een logische server bevinden. Als u er al een hebt in de juiste regio, kunt u deze selecteren. Selecteer anders de koppeling Nieuwe maken en volg de aanwijzingen om een nieuwe logische server te maken om de database te hosten.
- Wilt u een elastische SQL-pool gebruiken? – Bepaal of u een elastische pool wilt gebruiken.
- Compute en opslag : bepaal de juiste rekenresources die nodig zijn. Deze is standaard ingesteld op Gen5, 2vCore, met 32 GB opslagruimte. Selecteer Database configureren om alternatieve configuratieopties weer te geven en te kiezen.
Hier ziet u dat de servicelaag Algemeen gebruik is en dat de rekenlaag serverloos is, zoals eerder is besproken. Serverloos wordt per seconde gefactureerd op basis van het aantal vCores dat wordt gebruikt. De alternatieve optie is 'Provisioned', waarbij rekenresources vooraf worden toegewezen en per uur worden gefactureerd op basis van het aantal geconfigureerde vCPU's.
Een Azure SQL Database implementeren via PowerShell/CLI
U kunt uw database ook implementeren met behulp van Azure PowerShell of de Azure CLI. In de onderstaande afbeelding ziet u het PowerShell-voorbeeld waarin u een nieuwe resourcegroep maakt en een beheerder met de naam SqlAdmin definieert en vervolgens een nieuwe server, database en firewallregel maakt.
# 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"
De Azure CLI kan ook worden gebruikt om een Azure SQL Database te implementeren, zoals hieronder wordt weergegeven:
#!/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
Azure SQL Database implementeren met behulp van Azure Resource Manager-sjablonen
Een andere methode voor het implementeren van resources is zoals eerder vermeld met behulp van een Azure Resource Manager-sjabloon. Een Resource Manager-sjabloon biedt u de meest gedetailleerde controle over uw resources en Microsoft biedt een GitHub-opslagplaats met de naam Azure-Quickstart-Templates, die als host fungeert voor Azure Resource Manager-sjablonen waarnaar u in uw implementaties kunt verwijzen. Hieronder ziet u een PowerShell-voorbeeld van het implementeren van een op GitHub gebaseerde sjabloon:
#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 ..."
Met dit script wordt het maken van een Azure-resourcegroep en de implementatie van een logische SQL-server hierin geautomatiseerd. De gebruiker wordt gevraagd om een projectnaam, Azure-locatie en referenties van de SQL Server-beheerder, waarna een resourcegroep wordt gecreëerd met behulp van de opgegeven gegevens. Ten slotte wordt een logische SQL-server geïmplementeerd in de resourcegroep met behulp van een vooraf gedefinieerde ARM-sjabloon van een opgegeven URI en wordt de uitvoering onderbroken totdat de gebruiker op drukt ENTER.