Explore um único banco de dados SQL
Vamos examinar vários métodos para implantar um único Banco de Dados SQL do Azure.
Implantação através do portal
Criar um banco de dados SQL por meio do portal do Azure é simples. Primeiro, navegue até o portal do Azure e selecione "Bancos de dados SQL" no menu à esquerda. No painel deslizante exibido, selecione "Criar".
No painel da imagem abaixo, você notará que a assinatura já deve ser fornecida para você. Você precisará fornecer as seguintes informações:
- Grupo de recursos – Se você tiver um grupo de recursos existente que deseja usar, selecione-o na lista suspensa. Para criar um novo grupo de recursos para este Banco de Dados SQL do Azure, escolha a opção Criar novo .
- Nome do banco de dados – Forneça um nome para seu banco de dados.
- Servidor – Cada banco de dados deve residir em um servidor lógico. Se você já tiver um na região apropriada, você pode selecioná-lo. Caso contrário, selecione o link Criar novo e siga as instruções para criar um novo servidor lógico para hospedar o banco de dados.
- Quer utilizar o conjunto de bases de dados elásticas SQL? – Decida se quer usar uma piscina elástica.
- Computação + armazenamento – Determine os recursos de computação apropriados necessários. Por padrão, ele é definido como Gen5, 2vCore, com 32 GB de armazenamento. Selecione Configurar banco de dados para exibir e escolha opções de configuração alternativas.
Aqui, você notará que a camada de serviço é de uso geral e a camada de computação é sem servidor, conforme discutido anteriormente. Serverless é cobrado por segundo com base no número de vCores em uso. A opção alternativa é Provisionado, onde os recursos de computação são pré-alocados e cobrados por hora com base no número de vCores configurados.
Implantando 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 você está criando um novo grupo de recursos e definindo um administrador chamado SqlAdmin e, em seguida, criando um novo servidor, banco de dados e 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
Implantando o Banco de Dados SQL do Azure usando modelos do Azure Resource Manager
Outro método para implantar recursos é como mencionado anteriormente usando um modelo do Azure Resource Manager. Um modelo do Resource Manager oferece o controle mais granular sobre seus recursos, e a Microsoft fornece um repositório do 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 ..."
Esse script automatiza a criação de um grupo de recursos do Azure e a implantação de um servidor lógico SQL dentro dele. Ele solicita ao usuário um nome de projeto, local do Azure e credenciais de administrador do SQL Server e, em seguida, cria um grupo de recursos usando os detalhes fornecidos. Finalmente, ele implanta um servidor lógico SQL no grupo de recursos usando um modelo ARM predefinido de um URI especificado e pausa a execução até que o usuário pressione ENTER.