Eksplorowanie pojedynczej bazy danych SQL

Ukończone

Przyjrzymy się kilku metodom wdrażania pojedynczej bazy danych Azure SQL Database.

Wdrażanie za pośrednictwem portalu

Proces tworzenia pojedynczej bazy danych za pośrednictwem witryny Azure Portal jest prosty. W portalu w menu nawigacji po lewej stronie wybierz pozycję "Bazy danych SQL". W wyświetlonym oknie dialogowym wysuwającym kliknij pozycję "Utwórz":

The Azure portal Azure SQL Database Deployment screen

W bloku na poniższej ilustracji zauważysz, że subskrypcja powinna być już udostępniona. Należy podać następujące informacje:

  • Grupa zasobów — jeśli istnieje istniejąca grupa zasobów, której chcesz użyć, możesz wybrać ją z listy rozwijanej. Możesz kliknąć opcję "Utwórz nową", jeśli chcesz utworzyć nową grupę zasobów dla tej usługi Azure SQL Database.
  • Nazwa bazy danych — musisz podać nazwę bazy danych.
  • Serwer — każda baza danych musi znajdować się na serwerze logicznym. Jeśli masz już istniejący w odpowiednim regionie, możesz go użyć. W przeciwnym razie możesz kliknąć link Utwórz nowy i postępować zgodnie z monitami, aby utworzyć nowy serwer logiczny do hostowania bazy danych.
  • Chcesz użyć elastycznej puli SQL? — określ, czy używać elastycznej puli.
  • Obliczenia i magazyn — określ odpowiednie potrzebne zasoby obliczeniowe. Domyślnie będzie to gen5, 2vCore z 32 GB miejsca do momentu wybrania innego miejsca. Kliknij pozycję Konfiguruj bazę danych , aby wyświetlić alternatywne opcje konfiguracji.

Create SQL Database blade of Azure portal

Na poniższej ilustracji przedstawiono blok portalu, w którym można skonfigurować opcje bazy danych. W tym miejscu zauważysz, że warstwa usługi to Ogólnego przeznaczenia, a warstwa obliczeniowa jest aprowizowana. Aprowizacja oznacza, że zasoby obliczeniowe są wstępnie przydzielane i rozliczane na godzinę na podstawie liczby skonfigurowanych rdzeni wirtualnych. Drugą opcją jest bezserwerowa, która została omówiona wcześniej. Opłaty za bezserwerowe są naliczane na sekundę na podstawie liczby używanych rdzeni wirtualnych.

Service Tier selection in Azure portal

Wdrażanie bazy danych Azure SQL Database za pomocą programu PowerShell/interfejsu wiersza polecenia

Bazę danych można również wdrożyć przy użyciu programu Azure PowerShell lub interfejsu wiersza polecenia platformy Azure. Na poniższej ilustracji przedstawiono przykład programu PowerShell, w którym tworzysz nową grupę zasobów i definiujesz administratora o nazwie Sql Administracja a następnie tworzysz nowy serwer, bazę danych i regułę zapory.

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

Interfejs wiersza polecenia platformy Azure można również użyć do wdrożenia usługi Azure SQL Database, jak pokazano poniżej:

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

Wdrażanie usługi Azure SQL Database przy użyciu szablonów usługi Azure Resource Manager

Inną metodą wdrażania zasobów jest jak wspomniano wcześniej przy użyciu szablonu usługi Azure Resource Manager. Szablon usługi Resource Manager zapewnia najbardziej szczegółową kontrolę nad zasobami, a firma Microsoft udostępnia repozytorium GitHub o nazwie "Azure-Quickstart-Templates", które hostuje szablony usługi Azure Resource Manager, do których można się odwołać we wdrożeniach. Poniżej przedstawiono przykład wdrażania szablonu opartego na usłudze GitHub w programie PowerShell:

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