Eventos
Junte-se a nós na FabCon Vegas
31 de mar., 23 - 2 de abr., 23
O melhor evento liderado pela comunidade Microsoft Fabric, Power BI, SQL e AI. 31 de março a 2 de abril de 2025.
Registre-se hoje mesmoNão há mais suporte para esse navegador.
Atualize o Microsoft Edge para aproveitar os recursos, o suporte técnico e as atualizações de segurança mais recentes.
Aplica-se a: Banco de Dados SQL do Azure
A criação de um banco de dados individual é a opção mais rápida e simples para criar um banco de dados no Banco de Dados SQL do Azure. Este guia de início rápido mostra como criar um banco de dados individual usando o Terraform.
O Terraform permite a definição, a visualização e a implantação da infraestrutura de nuvem. Usando o Terraform, você cria arquivos de configuração usando sintaxe de HCL. A sintaxe da HCL permite que você especifique o provedor de nuvem, como o Azure, e os elementos que compõem sua infraestrutura de nuvem. Depois de criar os arquivos de configuração, você cria um plano de execução que permite visualizar as alterações de infraestrutura antes de serem implantadas. Depois de verificar as alterações, aplique o plano de execução para implantar a infraestrutura.
Neste artigo, você aprenderá como:
Para criar bancos de dados usando Transact-SQL: é necessário ter permissões CREATE DATABASE
. Para criar um banco de dados, um logon deve ser realizado usando o logon de administrador do servidor (criado quando o servidor lógico do Banco de Dados SQL do Azure foi provisionado), o administrador do Microsoft Entra do servidor ou um membro da função de banco de dados “dbmanager” no banco de dados master
. Para saber mais, confira CRIAR BANCO DE DADOS.
Para criar bancos de dados usando o portal do Azure, o PowerShell, a CLI do Azure ou a API REST: são necessárias permissões do Azure RBAC, especificamente as funções de Contribuidor, Contribuidor do BD SQL ou Contribuidor do SQL Server do Azure RBAC. Para obter mais informações, confira Azure RBAC built-in roles.
Observação
O código de exemplo deste artigo está localizado no repositório do GitHub do Azure Terraform. Você pode exibir o arquivo de log que contém os resultados do teste das versões atuais e anteriores do Terraform.
Veja mais artigos e exemplos de código mostrando como usar o Terraform para gerenciar recursos do Azure
Crie um diretório no qual testar e executar o código de exemplo do Terraform e faça dele o diretório atual.
Crie um arquivo chamado providers.tf
e insira o seguinte código:
terraform {
required_version = ">=1.0"
required_providers {
azurerm = {
source = "hashicorp/azurerm"
version = "~>3.0"
}
random = {
source = "hashicorp/random"
version = "~>3.0"
}
}
}
provider "azurerm" {
features {}
}
Crie um arquivo chamado main.tf
e insira o seguinte código:
resource "random_pet" "rg_name" {
prefix = var.resource_group_name_prefix
}
resource "azurerm_resource_group" "rg" {
name = random_pet.rg_name.id
location = var.resource_group_location
}
resource "random_pet" "azurerm_mssql_server_name" {
prefix = "sql"
}
resource "random_password" "admin_password" {
count = var.admin_password == null ? 1 : 0
length = 20
special = true
min_numeric = 1
min_upper = 1
min_lower = 1
min_special = 1
}
locals {
admin_password = try(random_password.admin_password[0].result, var.admin_password)
}
resource "azurerm_mssql_server" "server" {
name = random_pet.azurerm_mssql_server_name.id
resource_group_name = azurerm_resource_group.rg.name
location = azurerm_resource_group.rg.location
administrator_login = var.admin_username
administrator_login_password = local.admin_password
version = "12.0"
}
resource "azurerm_mssql_database" "db" {
name = var.sql_db_name
server_id = azurerm_mssql_server.server.id
}
Crie um arquivo chamado variables.tf
e insira o seguinte código:
variable "resource_group_location" {
type = string
description = "Location for all resources."
default = "eastus"
}
variable "resource_group_name_prefix" {
type = string
description = "Prefix of the resource group name that's combined with a random ID so name is unique in your Azure subscription."
default = "rg"
}
variable "sql_db_name" {
type = string
description = "The name of the SQL Database."
default = "SampleDB"
}
variable "admin_username" {
type = string
description = "The administrator username of the SQL logical server."
default = "azureadmin"
}
variable "admin_password" {
type = string
description = "The administrator password of the SQL logical server."
sensitive = true
default = null
}
Crie um arquivo chamado outputs.tf
e insira o seguinte código:
output "resource_group_name" {
value = azurerm_resource_group.rg.name
}
output "sql_server_name" {
value = azurerm_mssql_server.server.name
}
output "admin_password" {
sensitive = true
value = local.admin_password
}
Execute terraform init para inicializar a implantação do Terraform. Esse comando baixa o provedor do Azure necessário para gerenciar seus recursos do Azure.
terraform init -upgrade
Pontos principais:
-upgrade
atualiza os plug-ins do provedor necessários para a versão mais recente que esteja em conformidade com as restrições de versão da configuração.Execute o comando terraform plan para criar um plano de execução.
terraform plan -out main.tfplan
Pontos principais:
terraform plan
cria um plano de execução, mas não o executa. Em vez disso, ele determina quais ações são necessárias para criar a configuração especificada em seus arquivos de configuração. Esse padrão permite que você verifique se o plano de execução corresponde às suas expectativas antes de fazer qualquer alteração nos recursos reais.-out
permite que você especifique um arquivo de saída para o plano. Usar o parâmetro -out
garante que o plano que você examinou seja exatamente o que é aplicado.Execute terraform apply para aplicar o plano de execução à sua infraestrutura de nuvem.
terraform apply main.tfplan
Pontos principais:
terraform apply
pressupõe que você executou o terraform plan -out main.tfplan
anteriormente.-out
, use esse mesmo nome de arquivo na chamada para terraform apply
.-out
, chame terraform apply
sem nenhum parâmetro.Obtenha o nome do grupo de recursos do Azure.
resource_group_name=$(terraform output -raw resource_group_name)
Obtenha o nome do servidor lógico.
sql_server_name=$(terraform output -raw sql_server_name)
Execute az sql db list para exibir os nomes de todos os bancos de dados no servidor.
az sql db list \
--resource-group $resource_group_name \
--server $sql_server_name \
--output table
Quando você não precisar mais dos recursos criados por meio o Terraform, execute as seguintes etapas:
Execute terraform plan e especifique o sinalizador destroy
.
terraform plan -destroy -out main.destroy.tfplan
Pontos principais:
terraform plan
cria um plano de execução, mas não o executa. Em vez disso, ele determina quais ações são necessárias para criar a configuração especificada em seus arquivos de configuração. Esse padrão permite que você verifique se o plano de execução corresponde às suas expectativas antes de fazer qualquer alteração nos recursos reais.-out
permite que você especifique um arquivo de saída para o plano. Usar o parâmetro -out
garante que o plano que você examinou seja exatamente o que é aplicado.Execute a aplicação do Terraform para aplicar o plano de execução.
terraform apply main.destroy.tfplan
Eventos
Junte-se a nós na FabCon Vegas
31 de mar., 23 - 2 de abr., 23
O melhor evento liderado pela comunidade Microsoft Fabric, Power BI, SQL e AI. 31 de março a 2 de abril de 2025.
Registre-se hoje mesmoTreinamento
Roteiro de aprendizagem
Conceitos básicos do Terraform no Azure - Training
Conheça os conceitos básicos de como o Terraform permite que você gerencie as implantações de infraestrutura no Azure.
Certificação
Microsoft Certified: Azure Database Administrator Associate - Certifications
Administrar uma infraestrutura de banco de dados do SQL Server para bancos de dados relacionais de nuvem, locais e híbridos usando as ofertas de banco de dados relacional do Microsoft PaaS.