Guida introduttiva: Creare SQL Server in una macchina virtuale di Azure con PowerShell
Si applica a: SQL Server su VM di Azure
Questa guida introduttiva illustra la creazione di una macchina virtuale (VM) di Windows SQL Server con Azure PowerShell.
Suggerimento
- Questa guida introduttiva offre un percorso per effettuare il provisioning e connettersi rapidamente a una VM di SQL Server. Per altre informazioni su altre opzioni di Azure PowerShell per la creazione di VM di SQL Server, vedere Guida al provisioning di macchine virtuali SQL Server con Azure PowerShell.
- In caso di domande sulle macchine virtuali SQL Server, consultare le domande frequenti.
Prerequisiti
Per completare questa guida introduttiva, è necessario disporre degli elementi seguenti:
- Una sottoscrizione di Azure. Se non si ha una sottoscrizione di Azure, creare un account gratuito prima di iniziare.
- La versione più recente di Azure PowerShell
Nota
Questo articolo usa il modulo di PowerShell Azure Az consigliato per l'interazione con Azure. Per iniziare a usare il modulo Az PowerShell, vedere Installare Azure PowerShell. Per informazioni su come eseguire la migrazione al modulo AZ PowerShell, vedere Eseguire la migrazione di Azure PowerShell da AzureRM ad Az.
Connect to Azure
Aprire PowerShell e stabilire l'accesso all'account Azure eseguendo il comando Connect-AzAccount e impostare il contesto della sottoscrizione con Set-AzContext.
Connect-AzAccount Set-AzContext -subscription <Subscription ID>
Quando viene visualizzata la finestra di accesso, immettere le credenziali. Utilizzare lo stesso indirizzo email e password utilizzati per accedere al portale di Azure.
Creare un gruppo di risorse
Definire le variabili per un nome univoco del gruppo di risorse e fornire una posizione di un'area di Azure di destinazione per tutte le risorse della macchina virtuale. Usare quindi New-AzResourceGroup per creare il gruppo di risorse. Per semplificare il resto della guida introduttiva, gli altri comandi usano questo nome come base per i nomi delle altre risorse.
$ResourceGroupName = "sqlvm1"
$Location = "East US"
$ResourceGroupParams = @{
Name = $ResourceGroupName
Location = $Location
Tag = @{Owner="SQLDocs-Samples"}
}
New-AzResourceGroup @ResourceGroupParams
Configurare le impostazioni di rete
Usare New-AzVirtualNetworkSubnetConfig, New-AzVirtualNetwork e New-AzPublicIpAddress per creare una rete virtuale, una subnet e un indirizzo IP pubblico. Queste risorse vengono usate per fornire la connettività di rete alla macchina virtuale e connetterla a Internet.
$SubnetName = $ResourceGroupName + "subnet" $VnetName = $ResourceGroupName + "vnet" $PipName = $ResourceGroupName + $(Get-Random) # Create a subnet configuration $SubnetConfig = New-AzVirtualNetworkSubnetConfig -Name $SubnetName -AddressPrefix 192.168.1.0/24 # Create a virtual network $Vnet = New-AzVirtualNetwork -ResourceGroupName $ResourceGroupName -Location $Location ` -Name $VnetName -AddressPrefix 192.168.0.0/16 -Subnet $SubnetConfig # Create a public IP address and specify a DNS name $Pip = New-AzPublicIpAddress -ResourceGroupName $ResourceGroupName -Location $Location ` -AllocationMethod Static -IdleTimeoutInMinutes 4 -Name $PipName
Usare New-AzNetworkSecurityGroup per creare un gruppo di sicurezza di rete dopo aver configurato le regole per consentire le connessioni Desktop remoto (RDP) e SQL Server con New-AzNetworkSecurityRuleConfig.
# Rule to allow remote desktop (RDP) $NsgRuleRDP = New-AzNetworkSecurityRuleConfig -Name "RDPRule" -Protocol Tcp ` -Direction Inbound -Priority 1000 -SourceAddressPrefix * -SourcePortRange * ` -DestinationAddressPrefix * -DestinationPortRange 3389 -Access Allow #Rule to allow SQL Server connections on port 1433 $NsgRuleSQL = New-AzNetworkSecurityRuleConfig -Name "MSSQLRule" -Protocol Tcp ` -Direction Inbound -Priority 1001 -SourceAddressPrefix * -SourcePortRange * ` -DestinationAddressPrefix * -DestinationPortRange 1433 -Access Allow # Create the network security group $NsgName = $ResourceGroupName + "nsg" $Nsg = New-AzNetworkSecurityGroup -ResourceGroupName $ResourceGroupName ` -Location $Location -Name $NsgName ` -SecurityRules $NsgRuleRDP,$NsgRuleSQL
Creare l'interfaccia di rete con New-AzNetworkInterface.
$InterfaceName = $ResourceGroupName + "int" $Interface = New-AzNetworkInterface -Name $InterfaceName ` -ResourceGroupName $ResourceGroupName -Location $Location ` -SubnetId $VNet.Subnets[0].Id -PublicIpAddressId $Pip.Id ` -NetworkSecurityGroupId $Nsg.Id
Creare la macchina virtuale SQL
Definire le credenziali per l'accesso alla macchina virtuale. Il nome utente è "azureadmin". Assicurarsi di modificare la <password> prima di eseguire il comando.
# Define a credential object $userName = "azureadmin" $SecurePassword = ConvertTo-SecureString '<strong password>' ` -AsPlainText -Force $Cred = New-Object System.Management.Automation.PSCredential ($userName, $securePassword)
Creare un oggetto di configurazione della macchina virtuale con New-AzVMConfig e quindi creare la macchina virtuale con New-AzVM. Il comando seguente crea una macchina virtuale SQL Server 2022 Developer Edition in Windows Server 2022.
# Create a virtual machine configuration $VMName = $ResourceGroupName + "VM" $VMConfig = New-AzVMConfig -VMName $VMName -VMSize Standard_DS13_V2 | Set-AzVMOperatingSystem -Windows -ComputerName $VMName -Credential $Cred -ProvisionVMAgent -EnableAutoUpdate | Set-AzVMSourceImage -PublisherName "MicrosoftSQLServer" -Offer "sql2022-ws2022" -Skus "sqldev-gen2" -Version "latest" | Add-AzVMNetworkInterface -Id $Interface.Id # Create the VM New-AzVM -ResourceGroupName $ResourceGroupName -Location $Location -VM $VMConfig
Suggerimento
La creazione della macchina virtuale richiede alcuni minuti.
Eseguire la registrazione con il provider di risorse delle macchine virtuali SQL
Per ottenere l'integrazione del portale e le funzionalità delle VM SQL, è necessario registrarsi con l'estensione dell'operatore Iaas di SQL.
A tale scopo, registrare prima di tutto la sottoscrizione con il provider di risorse usando Register-AzResourceProvider:
# Register the SQL IaaS Agent extension to your subscription
Register-AzResourceProvider -ProviderNamespace Microsoft.SqlVirtualMachine
Registrare quindi la macchina virtuale di SQL Server con l'estensione SQL IaaS Agent usando New-AzSqlVM:
$License = 'PAYG'
# Register SQL Server VM with the extension
New-AzSqlVM -Name $VMName -ResourceGroupName $ResourceGroupName -Location $Location `
-LicenseType $License
Desktop remoto nella macchina virtuale
Usare Get-AzPublicIpAddress per recuperare l'indirizzo IP pubblico per la nuova macchina virtuale.
Get-AzPublicIpAddress -ResourceGroupName $ResourceGroupName | Select IpAddress
Passare l'indirizzo IP restituito come parametro della riga di comando a mstsc per avviare una sessione di Desktop remoto nella nuova VM.
mstsc /v:<publicIpAddress>
Quando vengono richieste le credenziali, scegliere di immettere le credenziali per un account diverso. Immettere il nome utente preceduto da una barra rovesciata, ad esempio
\azureadmin
, e la password impostata in precedenza in questa guida introduttiva.
Connessione a SQL Server
Dopo aver eseguito l'accesso a una sessione di Desktop remoto, avviare SQL Server Management Studio 2017 dal menu Start.
Nella finestra di dialogo Connetti al server mantenere i valori predefiniti. Il nome del server è il nome della VM. L'autenticazione è impostata su Autenticazione di Windows. Selezionare Connetti.
Si è ora connessi localmente a SQL Server. Se ci si vuole connettere in remoto, è necessario configurare la connettività dal portale di Azure o manualmente.
Pulire le risorse
Se non è necessario che la macchina virtuale sia continuamente in esecuzione, è possibile evitare addebiti superflui arrestandola quando non è in uso. Il comando seguente arresta la VM ma la lascia disponibile per un uso futuro.
Stop-AzVM -Name $VMName -ResourceGroupName $ResourceGroupName
È anche possibile eliminare definitivamente tutte le risorse associate alla macchina virtuale con il comando Remove-AzResourceGroup. In questo modo viene eliminata definitivamente anche la macchina virtuale, quindi usare questo comando con cautela.
Passaggi successivi
In questa guida introduttiva è stata creata una macchina virtuale di SQL Server 2022 con Azure PowerShell. Per altre informazioni su come eseguire la migrazione dei dati nella nuova VM di SQL Server, vedere l'articolo seguente.