Individuele SQL-database verkennen

Voltooid

We bekijken verschillende methoden voor het implementeren van een Singleton Azure SQL Database.

Implementeren via de portal

Het proces voor het maken van een singleton-database via Azure Portal is eenvoudig. Selecteer 'SQL Databases' in het navigatiemenu aan de linkerkant in de portal. Klik in het dialoogvenster voor dia-out op Maken:

The Azure portal Azure SQL Database Deployment screen

Op de blade in de onderstaande afbeelding ziet u dat het abonnement al voor u moet worden opgegeven. U moet de volgende informatie opgeven:

  • Resourcegroep: als er een bestaande resourcegroep is die u wilt gebruiken, kunt u deze selecteren in de vervolgkeuzelijst. U kunt op de optie Nieuwe maken klikken als u een nieuwe resourcegroep wilt maken voor deze Azure SQL Database.
  • Databasenaam: u moet een databasenaam opgeven.
  • Server: elke database moet zich op een logische server bevinden. Als u er al een hebt in de juiste regio, kunt u ervoor kiezen om deze te gebruiken. Anders kunt u op de koppeling Nieuwe maken klikken en de aanwijzingen volgen om een nieuwe logische server te maken om de database te hosten.
  • Wilt u een elastische SQL-pool gebruiken? – Bepaal of een elastische pool moet worden gebruikt.
  • Compute en opslag : bepaal de juiste rekenresources die nodig zijn. Standaard is dit een Gen5, 2vCore, met 32 GB opslagruimte totdat er iets anders is geselecteerd. Klik op Database configureren om alternatieve configuratieopties weer te geven.

Create SQL Database blade of Azure portal

In de onderstaande afbeelding ziet u de portalblade waarin u de databaseopties kunt configureren. Hier ziet u dat de servicelaag Algemeen gebruik is en dat de rekenlaag is ingericht. Ingericht impliceert dat de rekenresources vooraf worden toegewezen en gefactureerd per uur op basis van het aantal geconfigureerde vCores. De andere optie is serverloos, die eerder is besproken. Serverloos wordt per seconde gefactureerd op basis van het aantal vCores dat wordt gebruikt.

Service Tier selection in Azure portal

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 Sql Beheer 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 ..."