Prozkoumání izolované databáze SQL

Dokončeno

Podíváme se na několik metod nasazení jednoúčelové služby Azure SQL Database.

Nasazení prostřednictvím portálu

Proces vytvoření jednoúčelové databáze prostřednictvím webu Azure Portal je jednoduchý. Na portálu vyberte v levé navigační nabídce "DATABÁZE SQL". Ve výsledném dialogovém okně pro vysunutí klikněte na Vytvořit:

The Azure portal Azure SQL Database Deployment screen

V okně na následujícím obrázku si všimnete, že předplatné by už mělo být k dispozici. Budete muset zadat následující informace:

  • Skupina prostředků – Pokud existuje existující skupina prostředků, kterou chcete použít, můžete ji vybrat z rozevíracího seznamu. Pokud chcete pro tuto službu Azure SQL Database vytvořit novou skupinu prostředků, můžete kliknout na možnost Vytvořit novou.
  • Název databáze – Je nutné zadat název databáze.
  • Server – Každá databáze se musí nacházet na logickém serveru. Pokud již existuje v příslušné oblasti, můžete se rozhodnout ji použít. V opačném případě můžete kliknout na vytvořit nový odkaz a podle pokynů vytvořit nový logický server pro hostování databáze.
  • Chcete používat elastický fond SQL? – Určete, jestli se má použít elastický fond.
  • Compute + Storage – Určete potřebné výpočetní prostředky. Ve výchozím nastavení se bude jednat o Gen5, 2vCore s 32 GB úložiště, dokud nebude vybráno něco jiného. Kliknutím na Konfigurovat databázi zobrazíte alternativní možnosti konfigurace.

Create SQL Database blade of Azure portal

Následující obrázek ukazuje okno portálu, ve kterém můžete konfigurovat možnosti databáze. Tady si všimnete, že úroveň služby je pro obecné účely a úroveň výpočetních prostředků je zřízená. Zřízené znamená, že výpočetní prostředky jsou předem přidělené a fakturované za hodinu na základě počtu nakonfigurovaných virtuálních jader. Druhá možnost je bezserverová, která byla popsána dříve. Bezserverová služba se účtuje za sekundu na základě počtu využitých virtuálních jader.

Service Tier selection in Azure portal

Nasazení služby Azure SQL Database prostřednictvím PowerShellu nebo rozhraní příkazového řádku

Databázi můžete nasadit také pomocí Azure PowerShellu nebo Azure CLI. Následující obrázek ukazuje příklad PowerShellu, ve kterém vytváříte novou skupinu prostředků, a definujete správce s názvem Sql Správa a pak vytvoříte nový server, databázi a pravidlo brány 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"

Azure CLI se dá použít také k nasazení služby Azure SQL Database, jak je znázorněno níže:

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

Nasazení služby Azure SQL Database pomocí šablon Azure Resource Manageru

Další metodou nasazení prostředků je, jak je uvedeno dříve, pomocí šablony Azure Resource Manageru. Šablona Resource Manageru poskytuje nejpodrobnější kontrolu nad vašimi prostředky a Microsoft poskytuje úložiště GitHub s názvem Azure-Quickstart-Templates, které hostuje šablony Azure Resource Manageru, na které můžete odkazovat ve svých nasazeních. Příklad Nasazení šablony založené na GitHubu v PowerShellu je znázorněno níže:

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