Explorer une base de données SQL unique
Examinons plusieurs méthodes pour déployer une base de données Azure SQL Unique.
Déploiement via le portail
La création d’une base de données SQL via le portail Azure est simple. Tout d’abord, accédez au portail Azure et sélectionnez « Bases de données SQL » dans le menu de gauche. Dans le volet déroulant qui s’affiche, sélectionnez « Créer ».
Dans le volet de l’image ci-dessous, vous remarquerez que l’abonnement devrait déjà être fourni. Vous devez fournir les informations suivantes :
- Groupe de ressources : si vous avez un groupe de ressources existant que vous souhaitez utiliser, sélectionnez-le dans la liste déroulante. Pour créer un groupe de ressources pour cette base de données Azure SQL, choisissez l’option Créer .
- Nom de la base de données : indiquez un nom pour votre base de données.
- Serveur : chaque base de données doit résider sur un serveur logique. Si vous en avez déjà une dans la région appropriée, vous pouvez la sélectionner. Sinon, sélectionnez le lien Créer un nouveau et suivez les instructions pour créer un nouveau serveur logique afin d'héberger la base de données.
- Voulez-vous utiliser un pool élastique SQL ? : déterminez s’il faut utiliser un pool élastique.
- Calcul + stockage – Identifiez les ressources de calcul appropriées nécessaires. Par défaut, il est défini sur Gen5, 2vCore, avec 32 Go de stockage. Sélectionnez Configurer la base de données pour afficher et choisir d’autres options de configuration.
Ici, vous remarquerez que le niveau de service est Usage général et que le niveau de calcul est Serverless, comme indiqué précédemment. Le modèle serverless est facturé par seconde en fonction du nombre de vCores en cours d’utilisation. L’autre option est Provisionnée, où les ressources de calcul sont prélocalisées et facturées par heure en fonction du nombre de vCores configurés.
Déploiement d’Azure SQL Database via PowerShell/CLI
Vous pouvez également déployer votre base de données via Azure PowerShell ou Azure CLI. L’image ci-dessous montre l’exemple PowerShell dans lequel vous créez un groupe de ressources et définissez un administrateur appelé SqlAdmin, puis créez un serveur, une base de données et une règle de pare-feu.
# 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"
Azure CLI permet également de déployer une base de données Azure SQL Database comme indiqué ci-dessous :
#!/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
Déploiement d’Azure SQL Database à l’aide de modèles Azure Resource Manager
Une autre méthode de déploiement des ressources consiste à utiliser un modèle Azure Resource Manager, comme indiqué précédemment. Un modèle Resource Manager vous donne le contrôle le plus granulaire sur vos ressources, et Microsoft fournit un dépôt GitHub appelé Azure-Quickstart-Templates, qui héberge des modèles Azure Resource Manager que vous pouvez référencer dans vos déploiements. Un exemple PowerShell de déploiement d’un modèle basé sur GitHub est illustré ci-dessous :
#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 ..."
Ce script automatise la création d’un groupe de ressources Azure et le déploiement d’un serveur logique SQL dans celui-ci. Il invite l’utilisateur à entrer un nom de projet, un emplacement Azure et des informations d’identification d’administrateur de serveur SQL, puis crée un groupe de ressources à l’aide des détails fournis. Enfin, il déploie un serveur logique SQL sur le groupe de ressources à l’aide d’un modèle ARM prédéfini à partir d’un URI spécifié et interrompt l’exécution jusqu’à ce que l’utilisateur appuie ENTERsur .