Exercício – Configurar a Base 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 através de um browser. 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-lhe-á pedido que forneça uma palavra-passe para a nova base de dados e o seu endereço IP local para permitir que o seu dispositivo se ligue à base de dados.
A conclusão destes scripts deve demorar entre 3 e 5 minutos. Certifique-se de anotar o seu password
, unique ID
e region
, porque eles não serão mostrados novamente.
Comece por obter o seu endereço IP local. Certifique-se de que está desligado de qualquer serviço VPN e abra um terminal PowerShell local no seu dispositivo. Execute o seguinte comando e anote o endereço IP resultante.
(Invoke-WebRequest -Uri "https://ipinfo.io/ip").Content
Execute os seguintes comandos no Cloud Shell: Introduza uma palavra-passe complexa e, na linha de comandos, introduza o seu endereço IP público, obtido no passo anterior.
$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 "<rgn>[sandbox resource group name]</rgn>" $resourceGroupName = $resourceGroup.ResourceGroupName $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)"
Escreva e guarde num ficheiro de texto as informações que serão necessárias ao longo do módulo ao executar o seguinte código no Cloud Shell. Você provavelmente precisará pressionar
Enter
depois de colar o código, porque 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
Nota
Lembre-se de anotar o seu
password
,unique ID
eregion
. Irá utilizá-los ao longo do módulo.Execute o script a seguir para implantar um servidor lógico do Banco de Dados SQL do Azure com o
AdventureWorks
exemplo, bem como um banco de dados contábil 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. Aguarde alguns minutos para que este 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 SQL Server Management Studio (SSMS) e, em seguida, crie uma nova ligação ao servidor lógico. Para o Nome do servidor, insira o nome do servidor lógico do Banco de Dados SQL do Azure (por exemplo,
<unique ID>
). Se não guardou o nome anteriormente, talvez tenha de aceder ao portal do Azure para o obter.No portal do Azure, procure AdventureWorks para encontrar a base 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 de administrador do servidor correspondentes, que você forneceu durante a implantação no exercício anterior.
Marque a caixa de seleção Lembrar senha e selecione Conectar.
Nota
Consoante a configuração local (por exemplo, VPN), o endereço IP de cliente poderá ser diferente do endereço IP que o portal do Azure utilizou durante a implementação. Se for o caso, verá a mensagem pop-up "O seu endereço IP de 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 receber esta mensagem, inicie sessão com a conta que está a utilizar para a sandbox e adicione uma regra de firewall para o endereço IP do cliente. Pode concluir todos estes passos com o assistente de pop-up no SQL Server Management Studio.
Uma vez conectado ao seu servidor lógico 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 nomyLedgerDatabase
banco de dados e selecione Nova Consulta e execute o seguinte comando 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 );