Automatizar a implantação usando o PowerShell

Concluído

O PowerShell é um shell de comando moderno e multiplataforma projetado para simplificar o gerenciamento de tarefas e aprimorar a automação. Ele fornece aos administradores recursos de linha de comando avançados que, quando automatizados, ajudam a reduzir os custos operacionais.

O PowerShell pode lidar com objetos de texto e .NET, tornando-o uma ferramenta de linha de comando versátil e all-in-one.

Alguns dos principais benefícios do PowerShell incluem:

  • Histórico da linha de comando robusto
  • Preenchimento com Tab e previsão de comando
  • Suporte para aliases de comando e parâmetro
  • Pipeline dos comandos de encadeamento
  • Sistema de ajuda no console

O módulo principal do PowerShell, o módulo do Az PowerShell, é um conjunto de cmdlets de software livre. Ele permite que você gerencie recursos do Azure diretamente do PowerShell, permitindo a criação, modificação, recuperação de status e implantações baseadas em modelo.

Módulo Az.Sql do PowerShell

O módulo do PowerShell do Az.Sql é um subconjunto do módulo do Az PowerShell, permitindo que você gerencie e implante recursos do SQL do Azure. Com os cmdlets do Az.Sql , você pode lidar com tudo, desde a criação de bancos de dados até a configuração da replicação geográfica e o gerenciamento completo do SQL do Azure.

Você pode usar o módulo Az.Sql PowerShell em vários ambientes, incluindo o PowerShellGet, o Azure Cloud Shell e um contêiner do Docker do Az PowerShell.

Não importa como você usa o PowerShell, a sintaxe permanece consistente com a estrutura de verbo-substantivo.

<command-name> -<Required Parameter Name> <Required Parameter Value>
[-<Optional Parameter Name> <Optional Parameter Value>]
[-<Optional Switch Parameters>]
[-<Optional Parameter Name>] <Required Parameter Value>

Os comandos sempre começam com um nome de comando, como Get-AzSqlServer, que retorna informações sobre um ou mais servidores lógicos para o Banco de Dados SQL do Azure. O "command-name" é seguido por um nome de parâmetro com <-ServerName>, que é um parâmetro aplicável a Get-AzSQLServer. Depois, entra um valor de parâmetro, que é escrito no formato de cadeia de caracteres. O exemplo a seguir mostra o uso do Get-AzSqlServer comando com vários parâmetros com seus valores retornados:

Get-AzSqlServer -ResourceGroupName "ResourceGroup01" -ServerName "Server01"

Aqui estão mais alguns exemplos, como como criar uma nova Instância Gerenciada de SQL e como criar um banco de dados em um servidor específico:

New-AzSqlInstance -Name managedInstance2 -ResourceGroupName ResourceGroup01 -Location westcentralus -AdministratorCredential (Get-Credential) -SubnetId "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/resourcegroup01/providers/Microsoft.Network/virtualNetworks/vnet_name/subnets/subnet_name" -LicenseType LicenseIncluded -StorageSizeInGB 1024 -VCore 16 -Edition "GeneralPurpose" -ComputeGeneration Gen4
New-AzSqlDatabase -ResourceGroupName "ResourceGroup01" -ServerName "Server01" -DatabaseName "Database01"

Aqui está um exemplo que cria uma nova Instância Gerenciada de SQL com o administrador externo do Microsoft Entra, autenticação somente do Microsoft Entra e nenhum SqlAdministratorCredentials:

New-AzSqlInstance -Name managedInstance2 -ResourceGroupName ResourceGroup01 -ExternalAdminName DummyLogin -EnableActiveDirectoryOnlyAuthentication -Location westcentralus -SubnetId "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/resourceGroups/resourcegroup01/providers/Microsoft.Network/virtualNetworks/vnet_name/subnets/subnet_name" -LicenseType LicenseIncluded -StorageSizeInGB 1024 -VCore 16 -Edition "GeneralPurpose" -ComputeGeneration Gen4

$val = Get-AzSqlInstance -Name managedInstance2 -ResourceGroupName ResourceGroup01 -ExpandActiveDirectoryAdministrator

Para saber mais sobre a lista completa de nomes de comando para o módulo Az.Sql, consulte Azure PowerShell Az.Sql.