Explorar um banco de dados SQL individual
Veremos vários métodos para implantar um Banco de Dados SQL do Azure singleton.
Implantação por meio do portal
O processo para criar um banco de dados singleton por meio do portal do Azure é simples. No portal, no menu de navegação à esquerda, selecione "Bancos de Dados SQL". Na caixa de diálogo com controle deslizante exibida, clique em "Criar":
Na folha da imagem abaixo, você observará que a assinatura já deve ter sido fornecida para você. Será preciso fornecer as seguintes informações:
- Grupo de Recursos – se já houver um grupo de recursos que você deseja usar, selecione-o na lista suspensa. Você poderá clicar na opção "Criar" se quiser criar um grupo de recursos para o Banco de Dados SQL do Azure.
- Nome do Banco de Dados – você deve fornecer um nome para o banco de dados.
- Servidor – Cada banco de dados precisa residir em um servidor lógico. Se já existir um na região apropriada, você poderá usá-lo. Caso contrário, você pode clicar em Criar e seguir os prompts para criar um servidor lógico para hospedar o banco de dados.
- Deseja usar o pool elástico SQL? – Determine se um pool elástico deve ser usado.
- Computação + armazenamento – determine os recursos de computação necessários. Por padrão, será um Gen5, 2vCore, com 32 GB de armazenamento até que outras opções sejam selecionadas. Clique em Configurar banco de dados para exibir opções de configuração alternativas.
A imagem abaixo mostra a folha do portal em que você pode configurar as opções do banco de dados. Nela, você observará que a camada de serviço é Uso Geral e a camada de computação é Provisionado. Provisionado implica que os recursos de computação são previamente alocados e cobrados por hora com base no número de vCores configurados. A outra opção é Sem servidor, que foi discutida anteriormente. A opção sem servidor é cobrada por segundo com base no número de vCores utilizados.
Implantar um Banco de Dados SQL do Azure por meio do PowerShell/CLI
Você também pode implantar seu banco de dados usando o Azure PowerShell ou a CLI do Azure. A imagem abaixo mostra o exemplo do PowerShell em que se está criando um grupo de recursos e definindo um administrador chamado SqlAdmin e depois criando um servidor, um banco de dados e uma regra 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"
A CLI do Azure também pode ser usada para implantar um Banco de Dados SQL do Azure, conforme mostrado abaixo:
#!/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
Implantar o Banco de Dados SQL do Azure usando modelos do Azure Resource Manager
Outro método para a implantação de recursos é, como já mencionado, usar um modelo do Azure Resource Manager. Um modelo do Resource Manager oferece a você um controle mais granular sobre seus recursos, e a Microsoft fornece um repositório GitHub chamado "Azure-QuickStart-Templates", que hospeda modelos do Azure Resource Manager que você pode referenciar em suas implantações. Um exemplo do PowerShell de implantação de um modelo baseado no GitHub é mostrado abaixo:
#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 ..."