Exercício – configurar o Banco de Dados SQL do Azure
Nesta unidade, você implantará um servidor lógico SQL do Azure e criará bancos de dados para utilizar os recursos discutidos para proteger seu Banco de Dados SQL do Azure.
Configurar: Usar scripts para implantar o Banco de Dados SQL do Azure
No lado direito está o Azure Cloud Shell, que é uma forma de interagir com o Azure usando um navegador. Antes de iniciar o exercício, você executará um script no Cloud Shell para criar seu ambiente com o banco de dados de exemplo AdventureWorks
no Banco de Dados SQL do Azure. No script, será solicitado que você insira uma senha para o novo banco de dados e o endereço IP local para permitir que o dispositivo se conecte ao banco de dados.
Esses scripts deverão levar de três a cinco minutos para serem concluídos. Certifique-se de anotar seus password
, unique ID
e region
, pois eles não serão mostrados novamente.
Comece obtendo o endereço IP local. Verifique se você está desconectado de qualquer serviço de VPN e abra um terminal do PowerShell local no seu dispositivo. Execute o comando a seguir e anote o endereço IP resultante.
(Invoke-WebRequest -Uri "https://ipinfo.io/ip").Content
Execute os comandos a seguir no Cloud Shell. Insira uma senha complexa e, no prompt, insira o seu endereço IP público local, que você obteve na etapa anterior. Substitua "[nome do grupo de recursos da área restrita]" por "
[nome de grupo de recursos de área restrita] ".$adminSqlLogin = "cloudadmin" $password = Read-Host "Your username is 'cloudadmin'. Enter a password for your Azure SQL Database server that meets the password requirements" # Prompt for local ip address $ipAddress = Read-Host "Disconnect your VPN, open PowerShell on your machine and run '(Invoke-WebRequest -Uri "https://ipinfo.io/ip").Content'. Enter the value (include periods) next to 'Address' " # Get resource group and location and random string $resourceGroup = Get-AzResourceGroup | Where ResourceGroupName -like "[sandbox resource group name]" $resourceGroupName = "[sandbox resource group name]" $uniqueID = Get-Random -Minimum 100000 -Maximum 1000000 $storageAccountName = "mslearnsa"+$uniqueID $location = $resourceGroup.Location # The logical server name has to be unique in the system $serverName = "aw-server$($uniqueID)"
Gere e armazene em um arquivo de texto as informações que serão necessárias em todo o módulo, executando o código a seguir no Cloud Shell. Provavelmente, você precisará pressionar
Enter
depois de colar o código, pois a última linha não será executada por padrão.Write-Host "Your unique ID for future exercises in this module:" $uniqueID Write-Host "Your resource group name is:" $resourceGroupName Write-Host "Your resources were deployed in the following region:" $location Write-Host "Your server name is:" $serverName
Observação
Lembre-se de anotar seus
password
,unique ID
eregion
. Elas serão usadas em todo o módulo.Execute o script a seguir para implantar um servidor lógico do Banco de Dados SQL do Azure com o exemplo
AdventureWorks
, bem como um banco de dados do razão que discutiremos em unidades futuras. O script também adiciona seu endereço IP como uma regra de firewall, habilita o Microsoft Defender para SQL e cria uma conta de armazenamento para uso em unidades futuras. Permita vários minutos para que o script seja concluído.# The sample database name $databaseName = "AdventureWorks" # The ledger database name $databaseName2 = "myLedgerDatabase" # The storage account name has to be unique in the system $storageAccountName = $("sql$($uniqueID)") # Create a new 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 and all Azure services $serverFirewallRule = New-AzSqlServerFirewallRule ` -ResourceGroupName $resourceGroupName ` -ServerName $serverName ` -FirewallRuleName "AllowedIPs" ` -StartIpAddress $ipAddress -EndIpAddress $ipAddress $allowAzureIpsRule = New-AzSqlServerFirewallRule ` -ResourceGroupName $resourceGroupName ` -ServerName $serverName ` -AllowAllAzureIPs # Create databases $database = New-AzSqlDatabase -ResourceGroupName $resourceGroupName ` -ServerName $serverName ` -DatabaseName $databaseName ` -SampleName "AdventureWorksLT" ` -Edition "GeneralPurpose" -Vcore 2 -ComputeGeneration "Gen5" $database2 = New-AzSqlDatabase -ResourceGroupName $resourceGroupName ` -ServerName $serverName ` -DatabaseName $databaseName2 ` -Edition "GeneralPurpose" -Vcore 2 -ComputeGeneration "Gen5" # Enable Microsoft Defender for SQL $azureDefender = Enable-AzSqlServerAdvancedDataSecurity ` -ResourceGroupName $resourceGroupName ` -ServerName $serverName # Create a storage account $storageAccount = New-AzStorageAccount -ResourceGroupName $resourceGroupName ` -AccountName $storageAccountName ` -Location $location ` -Type "Standard_LRS"
Abra o SSMS (SQL Server Management Studio) e crie uma conexão com o servidor lógico. Como Nome do servidor, insira o nome do servidor lógico do Banco de Dados SQL do Azure (por exemplo, aw-server
<unique ID>
.database.windows.net). Se você não tiver salvado o nome anteriormente, talvez seja necessário consultar o portal do Azure para obtê-lo.No portal do Azure, pesquise AdventureWorks para localizar o banco de dados e o servidor lógico associado.
Altere a autenticação para Autenticação do SQL Server e insira o logon e a senha do administrador do servidor correspondentes, que você forneceu durante a implantação no exercício anterior.
Marque a caixa de seleção Lembrar senha e, em seguida, selecione Conectar.
Observação
Dependendo da sua configuração local (por exemplo, VPN), o endereço IP do cliente pode ser diferente do endereço IP que o portal do Azure usou durante a implantação. Se ele for diferente, você verá uma mensagem pop-up dizendo "O seu endereço IP do cliente não tem acesso ao servidor. Entre em uma conta do Azure e crie uma nova regra de firewall para habilitar o acesso". Se você receber essa mensagem, entre com a conta que você está usando para a área restrita e adicione uma regra de firewall para o endereço IP do cliente. Você pode concluir todas essas etapas usando o assistente de pop-up no SSMS.
Depois de conectado ao servidor lógico do SQL do Azure, expanda a pasta Bancos de Dados.
Você deve ver os dois bancos de dados que foram criados
AdventureWorks
emyLedgerDatabase
. Clique com o botão direito do mouse no banco de dadosmyLedgerDatabase
e selecione Nova Consulta e execute o comando a seguir para criar uma tabela chamadaAccount.Balance
. Você pode executar a consulta selecionando Executar na barra de tarefas.CREATE SCHEMA [Account]; GO CREATE TABLE [Account].[Balance] ( [CustomerID] INT NOT NULL PRIMARY KEY CLUSTERED, [LastName] VARCHAR (50) NOT NULL, [FirstName] VARCHAR (50) NOT NULL, [Balance] DECIMAL (10,2) NOT NULL ) WITH ( SYSTEM_VERSIONING = ON (HISTORY_TABLE = [Account].[BalanceHistory]), LEDGER = ON );