Eksplorowanie pojedynczej bazy danych SQL

Ukończone

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

Wdrażanie za pośrednictwem portalu

Tworzenie bazy danych SQL za pośrednictwem witryny Azure Portal jest proste. Najpierw przejdź do witryny Azure Portal i wybierz pozycję "BAZY danych SQL" z menu po lewej stronie. W wyświetlonym panelu wysuwanym wybierz pozycję "Utwórz".

Zrzut ekranu przedstawiający stronę Wdrażania usługi Azure SQL Database w witrynie Azure Portal.

W okienku 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 masz istniejącą grupę zasobów, której chcesz użyć, wybierz ją z listy rozwijanej. Aby utworzyć nową grupę zasobów dla tej usługi Azure SQL Database, wybierz opcję Utwórz nową .
  • Nazwa bazy danych — podaj nazwę bazy danych.
  • Serwer — każda baza danych musi znajdować się na serwerze logicznym. Jeśli masz już jeden w odpowiednim regionie, możesz go wybrać. W przeciwnym razie wybierz link Utwórz nowy i postępuj zgodnie z monitami, aby utworzyć nowy serwer logiczny do hostowania bazy danych.
  • Chcesz użyć elastycznej puli SQL? — zdecyduj, czy używać elastycznej puli.
  • Obliczenia i magazyn — określ odpowiednie potrzebne zasoby obliczeniowe. Domyślnie jest ustawiona wartość Gen5, 2vCore z 32 GB miejsca do magazynowania. Wybierz pozycję Konfiguruj bazę danych , aby wyświetlić i wybrać alternatywne opcje konfiguracji.

Zrzut ekranu przedstawiający stronę Tworzenie bazy danych SQL Database w witrynie Azure Portal.

W tym miejscu zauważysz, że warstwa usługi to Ogólnego przeznaczenia, a warstwa obliczeniowa jest bezserwerowa, jak wspomniano wcześniej. Opłaty za bezserwerowe są naliczane na sekundę na podstawie liczby używanych rdzeni wirtualnych. Alternatywna opcja to Zapewnione, gdzie zasoby obliczeniowe są wstępnie przydzielane i naliczane za godzinę na podstawie liczby skonfigurowanych rdzeni wirtualnych.

Wybór warstwy usługi w witrynie 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 SqlAdmin, 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 ..."

Ten skrypt automatyzuje tworzenie grupy zasobów platformy Azure i wdrażanie w nim serwera logicznego SQL. Wyświetla monit o podanie nazwy projektu, lokalizacji platformy Azure i poświadczeń administratora programu SQL Server, a następnie tworzy grupę zasobów przy użyciu podanych szczegółów. Na koniec, wykorzystując wstępnie zdefiniowany szablon ARM z określonego identyfikatora URI, wdraża serwer logiczny SQL do grupy zasobów i wstrzymuje wykonywanie, aż użytkownik naciśnie ENTER.