Explorare bază de date SQL unică

Finalizat

Să analizăm mai multe metode pentru implementarea unei singure baze de date SQL Azure.

Implementarea prin portal

Crearea unei baze de date SQL prin portalul Azure este simplă. Mai întâi, navigați la portalul Azure și selectați "Baze de date SQL" din meniul din stânga. În panoul de diapozitive care apare, selectați "Creare".

Captură de ecran afișând pagina Implementare bază de date Azure SQL Portal Azure.

În panoul din imaginea de mai jos, veți observa că abonamentul ar trebui să fie furnizat deja pentru dvs. Va trebui să furnizați următoarele informații:

  • Grup de resurse - dacă aveți un grup de resurse existent pe care doriți să-l utilizați, selectați-l din lista verticală. Pentru a crea un nou grup de resurse pentru această bază de date Azure SQL, alegeți opțiunea Creare nou .
  • Nume bază de date – Furnizați un nume pentru baza de date.
  • Server - fiecare bază de date trebuie să se afle pe un server logic. Dacă aveți deja una în regiunea corespunzătoare, o puteți selecta. Altfel, selectați linkul Creare nou și urmați solicitările pentru a crea un server logic nou pentru a găzdui baza de date.
  • Doriți să utilizați rezervorul elastic SQL? – Decideți dacă să utilizați o piscină elastică.
  • Calcul + spațiu de stocare – Determinați resursele de calcul corespunzătoare necesare. În mod implicit, este setat la Gen5, 2vCore, cu 32 GB de spațiu de stocare. Selectați Configurare bază de date pentru a vizualiza și a alege opțiuni de configurare alternative.

Captură de ecran afișând pagina Creare bază de date SQL în portalul Azure.

Aici veți observa că nivelul serviciului este General Purpose, iar nivelul de calcul este Serverless, așa cum s-a discutat anterior. Serverless este facturat pe secundă pe baza numărului de vCore-uri în uz. Opțiunea alternativă este Furnizat, unde resursele de calcul sunt prelocate și facturate pe oră, pe baza numărului de fișiere vCore configurate.

Selecția nivelurilor de serviciu în portalul Azure.

Implementarea unei baze de date Azure SQL prin PowerShell/CLI

De asemenea, puteți implementa baza de date utilizând Azure PowerShell sau Azure CLI. Imaginea de mai jos afișează exemplul PowerShell în care creați un nou grup de resurse și definiți un administrator numit SqlAdmin, apoi creați un server nou, o bază de date și o regulă de firewall.

# 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 asemenea, CLI-ul Azure poate fi utilizat pentru a implementa o bază de date Azure SQL, așa cum se arată mai jos:

#!/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

Implementarea bazei de date Azure SQL utilizând șabloane azure Resource Manager

O altă metodă de implementare a resurselor este așa cum s-a menționat anterior utilizând un șablon Azure Resource Manager. Un șablon Manager de resurse vă oferă cel mai granular control asupra resurselor dvs., iar Microsoft oferă un depozit GitHub numit Azure-Quickstart-Templates, care găzduiește șabloane Azure Resource Manager pe care le puteți face referire în implementările dvs. Un exemplu PowerShell de implementare a unui șablon bazat pe GitHub este afișat mai jos:

#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 ..."

Acest script automatizează crearea unui grup de resurse Azure și implementarea unui server logic SQL în cadrul acestuia. Acesta îi solicită utilizatorului numele unui proiect, locația Azure și acreditările de administrator SQL Server, apoi creează un grup de resurse utilizând detaliile furnizate. În sfârșit, implementează un server logic SQL pentru grupul de resurse utilizând un șablon ARM predefinit dintr-un URI specificat și întrerupe execuția până când utilizatorul apasă ENTER.