Explore um único banco de dados SQL
Examinaremos vários métodos para implantar um Banco de Dados SQL do Azure singleton.
Implantação através do portal
O processo para criar um banco de dados singleton por meio do portal do Azure é simples. Enquanto estiver no portal, no menu de navegação à esquerda, selecione "Bancos de dados SQL". Na caixa de diálogo deslizante resultante, clique em "Criar":
Na folha na imagem abaixo, você notará que a assinatura já deve ser fornecida para você. Terá de fornecer as seguintes informações:
- Grupo de recursos – Se houver um grupo de recursos existente que você deseja usar, você pode selecioná-lo na lista suspensa. Você pode clicar na opção "Criar novo" se desejar criar um novo grupo de recursos para este Banco de Dados SQL do Azure.
- Nome do banco de dados – Você deve fornecer um nome de banco de dados.
- Servidor – Cada banco de dados deve residir em um servidor lógico. Se você já tem um existente na região apropriada, você pode optar por usá-lo. Caso contrário, você pode clicar no link Criar novo e seguir 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? – Determinar se deve ou não utilizar uma piscina elástica.
- Computação + armazenamento – Determine os recursos de computação apropriados necessários. Por padrão, será um Gen5, 2vCore, com 32 GB de armazenamento até que algo mais seja selecionado. Clique em Configurar banco de dados para visualizar opções de configuração alternativas.
A imagem abaixo mostra a folha do portal na qual você pode configurar as opções do banco de dados. Aqui você notará que a camada de serviço é de Uso Geral e a camada de computação é Provisionada. Provisionado implica que os recursos de computação são pré-alocados e cobrados por hora com base no número de vCores configurados. A outra opção é Serverless, que foi discutida anteriormente. Serverless é cobrado por segundo com base no número de vCores em uso.
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 onde 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 ..."