Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
              Van toepassing op:SQL Server op Azure VM-
Deze handleiding bevat opties voor het gebruik van PowerShell voor het maken van een SQL Server op een virtuele Azure-machine (VM). Zie voor een gestroomlijnd Azure PowerShell-voorbeeld dat afhankelijk is van standaardwaarden de quickstart SQL Server op Azure VM PowerShellof voor een end-to-end script SQL Server-VM maken met PowerShell-script.
Vereiste voorwaarden
U hebt het volgende nodig om deze handleiding te voltooien:
- Een Azure-abonnement. Als u nog geen abonnement op Azure hebt, maak dan een gratis account aan voordat u begint.
- De nieuwste versie van Azure PowerShell
Notitie
In dit artikel wordt de Azure Az PowerShell-module gebruikt. Dit is de aanbevolen PowerShell-module voor interactie met Azure. Zie Azure PowerShell-installeren om aan de slag te gaan met de Az PowerShell-module. Raadpleeg Azure PowerShell migreren van AzureRM naar Az om te leren hoe u naar de Azure PowerShell-module migreert.
Variabelen definiëren
Als u waarden opnieuw wilt gebruiken en het maken van scripts wilt vereenvoudigen, begint u met het definiëren van een aantal variabelen. Wijzig de parameterwaarden zoals u wilt, maar houd rekening met naambeperkingen met betrekking tot naamlengten en speciale tekens bij het wijzigen van de opgegeven waarden.
Begin met het definiëren van de parameters die u in het script wilt gebruiken, zoals de locatie, de naam van de resourcegroep, de SQL Server-installatiekopieën en het opslagaccount dat u wilt gebruiken, evenals de eigenschappen van het netwerk en de virtuele machine.
Locatie en resourcegroep
Definieer de gegevensregio, resourcegroep en het abonnement waar u uw SQL Server-VM en de bijbehorende resources wilt maken.
Wijzig naar wens en voer deze cmdlets uit om deze variabelen te initialiseren.
$SubscriptionId = "<Enter Subscription ID>"
$Location = "<Enter Location>"
$ResourceGroupName = "<Enter Resource Group Name>"
$userName = "<Enter User Name for the virtual machine"
Opslageigenschappen
Definieer het opslagaccount en het type opslag dat moet worden gebruikt door de virtuele machine.
Wijzig naar wens en voer vervolgens de volgende cmdlet uit om deze variabelen te initialiseren. U wordt aangeraden premium SSD's te gebruiken voor productieworkloads.
$StorageName = "sqlvm" + "storage"
$StorageSku = "Premium_LRS"
Notitie
De naam van het opslagaccount moet tussen de 3 en 24 tekens lang zijn en mag alleen cijfers en kleine letters bevatten. Zorg er dus voor dat de naam van de resourcegroep geen speciale tekens heeft of wijzig de naam van het opslagaccount om een andere naam te gebruiken dan $ResourceGroupName.
Netwerkeigenschappen
Definieer de eigenschappen die door het netwerk in de virtuele machine moeten worden gebruikt.
- Netwerkinterface
- TCP/IP-toewijzingsmethode
- Naam van virtueel netwerk
- Naam van virtueel subnet
- Bereik van IP-adressen voor het virtuele netwerk
- Bereik van IP-adressen voor het subnet
- Label van openbare domeinnaam
Wijzig naar wens en voer deze cmdlet uit om deze variabelen te initialiseren.
$InterfaceName = $ResourceGroupName + "ServerInterface"
$NsgName = $ResourceGroupName + "nsg"
$TCPIPAllocationMethod = "Dynamic"
$VNetName = $ResourceGroupName + "VNet"
$SubnetName = "Default"
$VNetAddressPrefix = "10.0.0.0/16"
$VNetSubnetAddressPrefix = "10.0.0.0/24"
$DomainName = $ResourceGroupName
Eigenschappen van virtuele machines
Definieer de volgende eigenschappen:
- Naam van de virtuele machine
- Computernaam
- Grootte van de virtuele machine
- Naam van besturingssysteemschijf voor de virtuele machine
Wijzig naar wens en voer deze cmdlet uit om deze variabelen te initialiseren.
$VMName = $ResourceGroupName + "VM"
$ComputerName = $ResourceGroupName + "Server"
$VMSize = "Standard_DS13"
$OSDiskName = $VMName + "OSDisk"
Kies een SQL Server-image
Het is mogelijk om een oudere installatiekopieën van SQL Server te implementeren die niet beschikbaar is in Azure Portal met behulp van PowerShell.
Gebruik de volgende variabelen om de SQL Server-installatiekopieën te definiëren die moeten worden gebruikt voor de virtuele machine.
- Maak een lijst van alle sql Server-installatiekopieën met de opdracht Get-AzVMImageOffer om de huidige beschikbare installatiekopieën in Azure Portal weer te geven, evenals oudere installatiekopieën die u alleen kunt implementeren met PowerShell: - Get-AzVMImageOffer -Location $Location -Publisher 'MicrosoftSQLServer'- Notitie - SQL Server 2012 en SQL Server 2014 zijn buiten de basisondersteuning en zijn niet meer beschikbaar via Azure Marketplace. 
- Vermeld de beschikbare edities voor uw aanbieding met de Get-AzVMImageSku. - Get-AzVMImageSku -Location $Location -Publisher 'MicrosoftSQLServer' -Offer $OfferName | Select Skus
Voor deze zelfstudie gebruikt u de SQL Server 2022 Developer-editie (SQLDEV-GEN2) op Windows Server 2022. De Developer-editie is gratis gelicentieerd voor testen en ontwikkelen en u betaalt alleen voor de kosten voor het uitvoeren van de VIRTUELE machine:
$OfferName = "SQL2022-WS2022"
$PublisherName = "MicrosoftSQLServer"
$Version = "latest"
$Sku = "SQLDEV-GEN2"
$License = 'PAYG'
# Define a credential object
$SecurePassword = ConvertTo-SecureString '<strong password>' `
   -AsPlainText -Force
$Cred = New-Object System.Management.Automation.PSCredential ($userName, $securePassword)
Een brongroep maken
Open PowerShell en maak toegang tot uw Azure-account door de opdracht Connect-AzAccount uit te voeren en uw abonnementscontext in te stellen met Set-AzContext-. Voer uw inloggegevens in wanneer dit gevraagd wordt. Gebruik hetzelfde e-mailadres en wachtwoord dat u gebruikt om u aan te melden bij Azure Portal.
Nadat u de abonnementscontext hebt ingesteld, is het eerste object dat u maakt de resourcegroep. Gebruik de opdracht Connect-AzAccount om verbinding te maken met Azure en stel de abonnementscontext in met Set-AzContext-. Gebruik de cmdlet New-AzResourceGroup om een Azure-resourcegroep en de bijbehorende resources te maken. Geef de variabelen op die u eerder hebt geïnitialiseerd voor de naam en locatie van de resourcegroep.
Voer deze cmdlet uit om verbinding te maken met Azure, een abonnementscontext tot stand te brengen en uw nieuwe resourcegroep te maken:
# Set subscription context
Connect-AzAccount
$subscriptionContextParams = @{
    SubscriptionId = $SubscriptionId
}
Set-AzContext @subscriptionContextParams
# Create a resource group
$resourceGroupParams = @{
    Name = $resourceGroupName
    Location = $Location
    Tag = @{Owner="SQLDocs-Samples"}
}
$resourceGroup = New-AzResourceGroup @resourceGroupParams
Een opslagaccount maken
De virtuele machine vereist opslagbronnen voor de besturingssysteemschijf en voor de SQL Server-gegevens en logboekbestanden. Ter vereenvoudiging maakt u één schijf voor beide. U kunt later extra schijven koppelen met behulp van de cmdlet Add-Azure Disk om uw SQL Server-gegevens en logboekbestanden op toegewezen schijven te plaatsen. Gebruik de cmdlet New-AzStorageAccount om een standaardopslagaccount te maken in uw nieuwe resourcegroep. Geef de variabelen op die u eerder hebt geïnitialiseerd voor de naam van het opslagaccount, de naam van de opslag-SKU en de locatie.
Voer deze cmdlet uit om uw nieuwe opslagaccount te maken:
# Create storage account
$StorageAccount = New-AzStorageAccount -ResourceGroupName $ResourceGroupName `
   -Name $StorageName -SkuName $StorageSku `
   -Kind "Storage" -Location $Location
Hint
Het maken van het opslagaccount kan enkele minuten duren.
Netwerkbronnen maken
De virtuele machine vereist een aantal netwerkbronnen voor netwerkconnectiviteit.
- Voor elke virtuele machine is een virtueel netwerk vereist.
- Een virtueel netwerk moet ten minste één subnet hebben gedefinieerd.
- Er moet een netwerkinterface worden gedefinieerd met een openbaar of een privé-IP-adres.
Een subnetconfiguratie voor een virtueel netwerk maken
Begin met het maken van een subnetconfiguratie voor uw virtuele netwerk. Maak voor deze zelfstudie een standaardsubnet met behulp van de cmdlet New-AzVirtualNetworkSubnetConfig. Geef de variabelen op die u eerder hebt geïnitialiseerd voor de subnetnaam en het adresvoorvoegsel.
Notitie
U kunt aanvullende eigenschappen van de subnetconfiguratie van het virtuele netwerk definiëren met behulp van deze cmdlet, maar dat valt buiten het bereik van deze zelfstudie.
Voer deze cmdlet uit om uw virtuele subnetconfiguratie te maken.
# Create a subnet configuration
$SubnetConfig = New-AzVirtualNetworkSubnetConfig -Name $SubnetName -AddressPrefix $VNetSubnetAddressPrefix
Een virtueel netwerk maken
Maak vervolgens uw virtuele netwerk in uw nieuwe resourcegroep met behulp van de cmdlet New-AzVirtualNetwork. Geef de variabelen op die u eerder hebt geïnitialiseerd voor de naam, locatie en adresvoorvoegsel. Gebruik de subnetconfiguratie die u in de vorige stap hebt gedefinieerd.
Voer deze cmdlet uit om uw virtuele netwerk te maken:
# Create a virtual network
$VNet = New-AzVirtualNetwork -Name $VNetName `
   -ResourceGroupName $ResourceGroupName -Location $Location `
   -AddressPrefix $VNetAddressPrefix -Subnet $SubnetConfig
Het openbare IP-adres maken
Nu uw virtuele netwerk is gedefinieerd, moet u een IP-adres configureren om verbinding te maken met de virtuele machine. Voor deze zelfstudie maakt u een openbaar IP-adres met behulp van dynamische IP-adressering ter ondersteuning van de internetverbinding. Gebruik de cmdlet New-AzPublicIpAddress om het openbare IP-adres in uw nieuwe resourcegroep te maken. Geef de variabelen op die u eerder hebt geïnitialiseerd voor de naam, locatie, toewijzingsmethode en dns-domeinnaamlabel.
Notitie
U kunt aanvullende eigenschappen van het openbare IP-adres definiëren met behulp van deze cmdlet, maar dat valt buiten het bereik van deze eerste zelfstudie. U kunt ook een privéadres of een adres met een statisch adres maken, maar dat valt ook buiten het bereik van deze zelfstudie.
Voer deze cmdlet uit om uw openbare IP-adres te maken.
# Create a public IP address
$PublicIp = New-AzPublicIpAddress -Name $InterfaceName `
-ResourceGroupName $ResourceGroupName -Location $Location `
-AllocationMethod $TCPIPAllocationMethod -DomainNameLabel $DomainName
De netwerkbeveiligingsgroep maken
Maak een netwerkbeveiligingsgroep om het vm- en SQL Server-verkeer te beveiligen.
- Maak twee regels voor netwerkbeveiligingsgroepen met behulp van New-AzNetworkSecurityRuleConfig, een regel voor extern bureaublad (RDP) om RDP-verbindingen toe te staan en een regel die verkeer op TCP-poort 1433 toestaat. Hierdoor worden verbindingen met SQL Server via internet mogelijk. - # Create a network security group rule $NsgRuleRDP = New-AzNetworkSecurityRuleConfig -Name "RDPRule" -Protocol Tcp ` -Direction Inbound -Priority 1000 -SourceAddressPrefix * -SourcePortRange * ` -DestinationAddressPrefix * -DestinationPortRange 3389 -Access Allow $NsgRuleSQL = New-AzNetworkSecurityRuleConfig -Name "MSSQLRule" -Protocol Tcp ` -Direction Inbound -Priority 1001 -SourceAddressPrefix * -SourcePortRange * ` -DestinationAddressPrefix * -DestinationPortRange 1433 -Access Allow
- Maak de netwerkbeveiligingsgroep met behulp van New-AzNetworkSecurityGroup. - # Create a network security group $Nsg = New-AzNetworkSecurityGroup -ResourceGroupName $ResourceGroupName ` -Location $Location -Name $NsgName ` -SecurityRules $NsgRuleRDP,$NsgRuleSQL
De netwerkinterface maken
U bent nu klaar om de netwerkinterface voor uw virtuele machine te maken. Gebruik de cmdlet New-AzNetworkInterface om de netwerkinterface in uw nieuwe resourcegroep te maken. Geef de naam, locatie, subnet en openbaar IP-adres op die eerder zijn gedefinieerd.
Voer deze cmdlet uit om uw netwerkinterface te maken.
# Create a network interface
$Interface = New-AzNetworkInterface -Name $InterfaceName `
   -ResourceGroupName $ResourceGroupName -Location $Location `
   -SubnetId $VNet.Subnets[0].Id -PublicIpAddressId $PublicIp.Id `
   -NetworkSecurityGroupId $Nsg.Id
Een VM-object configureren
Nu opslag- en netwerkresources zijn gedefinieerd, kunt u rekenresources voor de virtuele machine definiëren.
- Geef de grootte van de virtuele machine en verschillende eigenschappen van het besturingssysteem op.
- Geef de netwerkinterface op die u eerder hebt gemaakt.
- Blob-opslag definiëren.
- Geef de besturingssysteemschijf op.
De SQL Server-VM maken
Als u uw SQL Server-VM wilt maken, maakt u eerst een referentieobject en maakt u vervolgens de VIRTUELE machine.
Een referentieobject maken voor het opslaan van de naam en het wachtwoord voor de lokale beheerdersreferenties
Voordat u de eigenschappen van het besturingssysteem voor de virtuele machine kunt instellen, moet u de referenties voor het lokale beheerdersaccount opgeven als een beveiligde tekenreeks. Gebruik hiervoor de cmdlet Get-Credential.
Voer de volgende cmdlet uit. U moet de lokale beheerdersnaam en het wachtwoord van de virtuele machine typen in het powerShell-referentieaanvraagvenster.
# Define a credential object
$SecurePassword = ConvertTo-SecureString '<strong password>' `
   -AsPlainText -Force
$Cred = New-Object System.Management.Automation.PSCredential ($userName, $securePassword)
Eigenschappen definiëren en de VIRTUELE machine maken
U kunt nu de besturingssysteemeigenschappen van de virtuele machine instellen met New-AzVMConfig, de VIRTUELE machine maken met New-AzVM-en Add-AzVMNetworkInterface cmdlet gebruiken om de netwerkinterface toe te voegen met behulp van de variabele die u eerder hebt gedefinieerd.
Het voorbeeldscript doet het volgende:
- Vereisen dat de virtuele-machineagent wordt geïnstalleerd.
- Hiermee specificeert u dat de cmdlet het automatisch bijwerken inschakelt.
- Hiermee geeft u de variabelen op die u eerder hebt geïnitialiseerd voor de naam van de virtuele machine, de computernaam en de referentie.
Voer deze cmdlet uit om de eigenschappen van het besturingssysteem voor uw virtuele machine in te stellen.
# Create a virtual machine configuration
$VMName = $ResourceGroupName + "VM"
$VMConfig = New-AzVMConfig -VMName $VMName -VMSize $VMSize |
    Set-AzVMOperatingSystem -Windows -ComputerName $VMName -Credential $Cred -ProvisionVMAgent -EnableAutoUpdate |
    Set-AzVMSourceImage -PublisherName $PublisherName -Offer $OfferName -Skus $Sku  -Version $Version |
    Add-AzVMNetworkInterface -Id $Interface.Id
# Create the VM
New-AzVM -ResourceGroupName $ResourceGroupName -Location $Location -VM $VMConfig
De virtuele machine wordt gemaakt.
Notitie
Als u een foutmelding krijgt over opstartdiagnostiek, kunt u deze negeren. Er wordt een standaardopslagaccount gemaakt voor diagnostische gegevens over opstarten omdat het opgegeven opslagaccount voor de schijf van de virtuele machine een Premium-opslagaccount is.
De SQL IaaS Agent-extensie installeren
Virtuele SQL Server-machines ondersteunen geautomatiseerde beheerfuncties met de SQL Server IaaS Agent-extensie. Als u uw SQL Server wilt registreren bij de extensie, voert u de opdracht New-AzSqlVM uit nadat de virtuele machine is gemaakt. Geef het licentietype op voor uw SQL Server-VM, waarbij u kiest tussen betalen per gebruik (PAYG), bring-your-own-license via de Azure Hybrid Benefit- (AHUB), herstel na noodgevallen (DR) om de gratis DR-replicalicentie te activeren. Zie licentiemodelvoor meer informatie over licenties.
Als u uw SQL Server-VM wilt registreren bij de SQL IaaS Agent-extensie, moet u eerst uw abonnement registreren bij de resourceprovider met behulp van Register-AzResourceProvideren vervolgens uw SQL Server-VM registreren bij de SQL IaaS Agent-extensie met behulp van New-AzSqlVM-:
# Register the SQL IaaS Agent extension to your subscription
Register-AzResourceProvider -ProviderNamespace Microsoft.SqlVirtualMachine
# Register SQL Server VM with the extension
New-AzSqlVM -Name $VMName -ResourceGroupName $ResourceGroupName -Location $Location `
-LicenseType $License
Er zijn drie manieren om u te registreren bij de extensie:
- automatisch voor alle huidige en toekomstige VM's in een abonnement
- Handmatig voor een enkele VM
- handmatig voor meerdere VM's in bulk
Een VM stoppen of verwijderen
Als u de VIRTUELE machine niet continu hoeft uit te voeren, kunt u onnodige kosten voorkomen door deze te stoppen wanneer deze niet in gebruik is. Met de volgende opdracht wordt de virtuele machine gestopt, maar blijft deze beschikbaar voor toekomstig gebruik.
Stop-AzVM -Name $VMName -ResourceGroupName $ResourceGroupName
U kunt ook alle resources die aan de virtuele machine zijn gekoppeld, permanent verwijderen met de opdracht Remove-AzResourceGroup. Als u dit doet, wordt ook de virtuele machine definitief verwijderd, dus gebruik deze opdracht zorgvuldig.
Volledig script
Zie SQL Server implementeren op Azure VM met PowerShellvoor een volledig PowerShell-script dat een end-to-end-ervaring biedt.
Verwante inhoud
Nadat de virtuele machine is gemaakt, kunt u het volgende doen:
- Verbinding maken met de virtuele machine met behulp van Bastion-
- Configureer SQL Server-instellingen in de portal voor uw VIRTUELE machine, waaronder:
- connectiviteit configureren
- Clients en toepassingen verbinden met het nieuwe SQL Server-exemplaar