Erstellen einer SQL Server-Instanz auf einer Azure-VM mit Azure PowerShell

Gilt für:SQL Server auf Azure-VM

Dieser Leitfaden behandelt die Optionen für die Verwendung von PowerShell zur Bereitstellung von SQL Server auf einem virtuellen Azure-Computer (VM). Ein vereinfachtes Beispiel für Azure PowerShell anhand von Standardwerten finden Sie im Schnellstart zum Erstellen einer SQL Server-Instanz auf einer Azure-VM mit PowerShell.

Wenn Sie kein Azure-Abonnement besitzen, können Sie ein kostenloses Konto erstellen, bevor Sie beginnen.

Hinweis

In diesem Artikel wird das Azure Az PowerShell-Modul verwendet. Dieses PowerShell-Modul wird für die Interaktion mit Azure empfohlen. Informationen zu den ersten Schritten mit dem Az PowerShell-Modul finden Sie unter Installieren von Azure PowerShell. Informationen zum Migrieren zum Az PowerShell-Modul finden Sie unter Migrieren von Azure PowerShell von AzureRM zum Az-Modul.

Konfigurieren Ihres Abonnements

  1. Öffnen Sie PowerShell, und führen Sie den Befehl Connect-AzAccount aus, um den Zugriff auf Ihr Azure-Konto einzurichten.

    Connect-AzAccount
    
  2. Geben Sie bei Aufforderung Ihre Anmeldeinformationen ein. Verwenden Sie die E-Mail-Adresse und das Kennwort für die Anmeldung beim Azure-Portal.

Definieren von Image-Variablen

Beginnen Sie mit dem Definieren einer Reihe von Variablen, um Werte wiederzuverwenden und die Skripterstellung zu vereinfachen. Die Parameterwerte können nach Belieben geändert werden. Dabei müssen allerdings die Benennungskonventionen hinsichtlich Namenslänge und Sonderzeichen eingehalten werden.

Ort und Ressourcengruppe

Definieren Sie den Datenbereich und die Ressourcengruppe, in der Sie die anderen VM-Ressourcen erstellen möchten.

Ändern Sie die Werte nach Bedarf, und führen Sie diese Cmdlets aus, um die Variablen zu initialisieren.

$Location = "SouthCentralUS"
$ResourceGroupName = "sqlvm2"

Speichereigenschaften

Definieren Sie das Speicherkonto und die Art des Speichers für den virtuellen Computer.

Ändern Sie die Werte nach Bedarf, und führen Sie das folgende Cmdlet aus, um diese Variablen zu initialisieren. Für Produktionsworkloads werden SSD Premium-Datenträger empfohlen.

$StorageName = $ResourceGroupName + "storage"
$StorageSku = "Premium_LRS"

Netzwerkeigenschaften

Definieren Sie die Eigenschaften, die vom Netzwerk auf dem virtuellen Computer verwendet werden sollen.

  • Netzwerkschnittstelle
  • TCP/IP-Zuordnungsmethode
  • Name des virtuellen Netzwerks
  • Name des virtuellen Subnetzes
  • Bereich von IP-Adressen für das virtuelle Netzwerk
  • Bereich von IP-Adressen für das Subnetz
  • Öffentliche Bezeichnung für die Domäne

Ändern Sie die Werte nach Bedarf, und führen Sie dieses Cmdlet aus, um die Variablen zu initialisieren.

$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

Eigenschaften für virtuelle Computer

Definieren Sie die folgenden Eigenschaften:

  • Name des virtuellen Computers
  • Computername
  • Größe des virtuellen Computers
  • Name für den Betriebssystemdatenträger des virtuellen Computers

Ändern Sie die Werte nach Bedarf, und führen Sie dieses Cmdlet aus, um die Variablen zu initialisieren.

$VMName = $ResourceGroupName + "VM"
$ComputerName = $ResourceGroupName + "Server"
$VMSize = "Standard_DS13"
$OSDiskName = $VMName + "OSDisk"

Auswählen eines SQL Server-Images

Definieren Sie mithilfe der folgenden Variablen das SQL Server-Image, das für den virtuellen Computer verwendet werden soll.

  1. Listen Sie zuerst mit dem Befehl Get-AzVMImageOffer alle SQL Server-Imageangebote auf. Dieser Befehl listet die im Azure-Portal derzeit verfügbaren Images sowie auch ältere Images auf, die nur mit PowerShell installiert werden können:

    Get-AzVMImageOffer -Location $Location -Publisher 'MicrosoftSQLServer'
    

    Hinweis

    Für SQL Server 2008 und SQL Server 2008 R2 steht kein erweiterter Support mehr zur Verfügung, und die Produkte sind nicht mehr im Azure Marketplace erhältlich.

  2. Verwenden Sie in diesem Tutorial die folgenden Variablen, um SQL Server 2022 unter Windows Server 2022 anzugeben.

    $OfferName = "SQL2022-WS2022"
    $PublisherName = "MicrosoftSQLServer"
    $Version = "latest"
    
  3. Listen Sie als nächstes die verfügbaren Editionen für das Angebot auf.

    Get-AzVMImageSku -Location $Location -Publisher 'MicrosoftSQLServer' -Offer $OfferName | Select Skus
    
  4. Verwenden Sie in diesem Tutorial die SQL Server 2022 Developer Edition (SQLDEV). Die Developer Edition wird kostenlos für Test- und Entwicklungsumgebungen lizenziert – Sie bezahlen lediglich für die Kosten der VM-Ausführung.

    $Sku = "SQLDEV"
    

Erstellen einer Ressourcengruppe

Bei Verwendung des Resource Manager-Bereitstellungsmodells wird als erstes Objekt die Ressourcengruppe erstellt. Verwenden Sie das Cmdlet New-AzResourceGroup, um eine Azure-Ressourcengruppe und die zugehörigen Ressourcen zu erstellen. Geben Sie die zuvor initialisierten Variablen für den Namen der Ressourcengruppe und den Speicherort an.

Führen Sie dieses Cmdlet aus, um Ihre neue Ressourcengruppe zu erstellen.

New-AzResourceGroup -Name $ResourceGroupName -Location $Location

Speicherkonto erstellen

Der virtuelle Computer benötigt Speicherressourcen für den Betriebssystemdatenträger sowie für die SQL Server-Daten und -Protokolldateien. Der Einfachheit halber erstellen Sie für beides einen einzelnen Datenträger. Zusätzliche Datenträger können später mithilfe des Cmdlets Add-Azure Disk angefügt werden, um Ihre SQL Server-Daten und -Protokolldateien auf dedizierten Datenträgern zu platzieren. Erstellen Sie mit dem Cmdlet New-AzStorageAccount ein Standardspeicherkonto in der neuen Ressourcengruppe. Geben Sie die zuvor initialisierten Variablen für den Namen des Speicherkontos, den Namen der Speicher-SKU und den Speicherort an.

Führen Sie dieses Cmdlet aus, um Ihr neues Speicherkonto zu erstellen.

$StorageAccount = New-AzStorageAccount -ResourceGroupName $ResourceGroupName `
   -Name $StorageName -SkuName $StorageSku `
   -Kind "Storage" -Location $Location

Tipp

Das Erstellen des Speicherkontos kann einige Minuten dauern.

Erstellen von Netzwerkressourcen

Der virtuelle Computer benötigt für die Netzwerkkonnektivität eine Reihe von Netzwerkressourcen.

  • Jeder virtuelle Computer benötigt ein virtuelles Netzwerk.
  • Ein virtuelles Netzwerk muss über mindestens ein definiertes Subnetz verfügen.
  • Eine Netzwerkschnittstelle muss mit einer öffentlichen oder privaten IP-Adresse definiert werden.

Erstellen einer Subnetzkonfiguration für ein virtuelles Netzwerk

Erstellen Sie zunächst eine Subnetzkonfiguration für das virtuelle Netzwerk. Erstellen Sie für dieses Tutorial mithilfe des Cmdlets New-AzVirtualNetworkSubnetConfig ein Standardsubnetz. Geben Sie die zuvor initialisierten Variablen für den Subnetznamen und das Adresspräfix an.

Hinweis

Mit dem Cmdlet können auch weitere Eigenschaften der Subnetzkonfiguration für das virtuelle Netzwerk definiert werden. Darauf wird in diesem Tutorial jedoch nicht weiter eingegangen.

Führen Sie dieses Cmdlet aus, um die Konfiguration des virtuellen Subnetzes zu erstellen.

$SubnetConfig = New-AzVirtualNetworkSubnetConfig -Name $SubnetName -AddressPrefix $VNetSubnetAddressPrefix

Erstellen eines virtuellen Netzwerks

Erstellen Sie als Nächstes mithilfe des Cmdlets New-AzVirtualNetwork Ihr virtuelles Netzwerk in der neuen Ressourcengruppe. Geben Sie die zuvor initialisierten Variablen für Name, Speicherort und Adresspräfix an. Verwenden Sie die Sie im vorherigen Schritt definierten Subnetzkonfiguration.

Führen Sie dieses Cmdlet aus, um Ihr virtuelles Netzwerk zu erstellen.

$VNet = New-AzVirtualNetwork -Name $VNetName `
   -ResourceGroupName $ResourceGroupName -Location $Location `
   -AddressPrefix $VNetAddressPrefix -Subnet $SubnetConfig

Erstellen der öffentlichen IP-Adresse

Nachdem Ihre virtuelles Netzwerk jetzt definiert ist, müssen sie eine IP-Adresse für die Verbindung mit dem virtuellen Computer konfigurieren. Für dieses Tutorial erstellen Sie eine öffentliche IP-Adresse mit dynamischer IP-Adressierung, um Internetverbindungen zu unterstützen. Erstellen Sie mit dem Cmdlet New-AzPublicIpAddress die öffentliche IP-Adresse in der neuen Ressourcengruppe. Geben Sie die zuvor initialisierten Variablen für Name, Speicherort, Zuordnungsmethode und DNS-Domänennamensbezeichnung an.

Hinweis

Mit dem Cmdlet können auch weitere Eigenschaften der öffentlichen IP-Adresse definiert werden. Darauf wird in diesem Einstiegstutorial jedoch nicht weiter eingegangen. Sie können auch eine private Adresse oder eine Adresse mit einer statischen Adresse erstellen, aber auch das wird in diesem Tutorial nicht behandelt.

Führen Sie dieses Cmdlet aus, um Ihre öffentliche IP-Adresse zu erstellen.

$PublicIp = New-AzPublicIpAddress -Name $InterfaceName `
   -ResourceGroupName $ResourceGroupName -Location $Location `
   -AllocationMethod $TCPIPAllocationMethod -DomainNameLabel $DomainName

Erstellen der Netzwerksicherheitsgruppe

Erstellen Sie eine Netzwerksicherheitsgruppe, um den Datenverkehr von virtuellem Computer und SQL Server sicherzustellen.

  1. Erstellen Sie zuerst eine Netzwerksicherheitsgruppen-Regel für das Remotedesktopprotokoll (RDP), um RDP-Verbindungen zuzulassen.

    $NsgRuleRDP = New-AzNetworkSecurityRuleConfig -Name "RDPRule" -Protocol Tcp `
       -Direction Inbound -Priority 1000 -SourceAddressPrefix * -SourcePortRange * `
       -DestinationAddressPrefix * -DestinationPortRange 3389 -Access Allow
    
  2. Konfigurieren Sie eine Netzwerksicherheitsgruppen-Regel, die Datenverkehr an TCP-Port 1433 zulässt. So werden Verbindungen zu SQL Server über das Internet ermöglicht.

    $NsgRuleSQL = New-AzNetworkSecurityRuleConfig -Name "MSSQLRule"  -Protocol Tcp `
       -Direction Inbound -Priority 1001 -SourceAddressPrefix * -SourcePortRange * `
       -DestinationAddressPrefix * -DestinationPortRange 1433 -Access Allow
    
  3. Erstellen Sie die Netzwerksicherheitsgruppe.

    $Nsg = New-AzNetworkSecurityGroup -ResourceGroupName $ResourceGroupName `
       -Location $Location -Name $NsgName `
       -SecurityRules $NsgRuleRDP,$NsgRuleSQL
    

Erstellen der Netzwerkschnittstelle

Nun können Sie die Netzwerkschnittstelle für Ihren virtuellen Computer erstellen. Erstellen Sie mit dem Cmdlet New-AzNetworkInterface die Netzwerkschnittstelle in Ihrer neuen Ressourcengruppe. Geben Sie den Namen, Speicherort, das Subnetz und die öffentliche IP-Adresse an, die zuvor Sie definiert haben.

Führen Sie dieses Cmdlet aus, um Ihre Netzwerkschnittstelle zu erstellen.

$Interface = New-AzNetworkInterface -Name $InterfaceName `
   -ResourceGroupName $ResourceGroupName -Location $Location `
   -SubnetId $VNet.Subnets[0].Id -PublicIpAddressId $PublicIp.Id `
   -NetworkSecurityGroupId $Nsg.Id

Konfigurieren eines VM-Objekts

Nachdem die Speicher- und Netzwerkressourcen jetzt definiert sind, können Sie Computeressourcen für den virtuellen Computer definieren.

  • Geben Sie die Größe des virtuellen Computers und verschiedene Betriebssystemeigenschaften an.
  • Geben Sie die zuvor erstellte Netzwerkschnittstelle an.
  • Definieren Sie Blobspeicher.
  • Legen Sie den Betriebssystem-Datenträger fest.

Erstellen des VM-Objekts

Legen Sie zunächst die Größe des virtuellen Computers fest. Geben Sie für dieses Tutorial DS13 an. Erstellen Sie mit dem Cmdlet New-AzVMConfig ein konfigurierbares VM-Objekt. Geben Sie die zuvor initialisierten Variablen für Name und Größe an.

Führen Sie dieses Cmdlet aus, um das VM-Objekt zu erstellen.

$VirtualMachine = New-AzVMConfig -VMName $VMName -VMSize $VMSize

Erstellen eines Anmeldeinformationsobjekts zum Speichern von Name und Kennwort für die lokalen Administratoranmeldeinformationen

Bevor Sie die Betriebssystemeigenschaften für den virtuellen Computer festlegen können, müssen Sie die Anmeldeinformationen für das lokale Administratorkonto als sichere Zeichenfolge angeben. Verwenden Sie hierzu das Cmdlet Get-Credential.

Führen Sie das folgende Cmdlet aus. Sie müssen den Namen und das Kennwort des lokalen Administrators der VM im PowerShell-Anforderungsfenster für Anmeldeinformationen eingeben.

$Credential = Get-Credential -Message "Type the name and password of the local administrator account."

Festlegen der Betriebssystemeigenschaften für den virtuellen Computer

Nun können Sie die Betriebssystemeigenschaften des virtuellen Computers mit dem Cmdlet Set-AzVMOperatingSystem festlegen.

  • Legen Sie „Windows“ als Art des Betriebssystems fest.
  • Legen Sie fest, dass der Agent für virtuelle Computer installiert werden muss.
  • Legen Sie fest, dass das Cmdlet automatische Aktualisierungen ermöglicht.
  • Geben Sie die zuvor initialisierten Variablen für den Namen des virtuellen Computers, den Computernamen und die Anmeldeinformationen an.

Führen Sie dieses Cmdlet aus, um die Betriebssystemeigenschaften für Ihren virtuellen Computer festzulegen.

$VirtualMachine = Set-AzVMOperatingSystem -VM $VirtualMachine `
   -Windows -ComputerName $ComputerName -Credential $Credential `
   -ProvisionVMAgent -EnableAutoUpdate

Hinzufügen der Netzwerkschnittstelle zum virtuellen Computer

Verwenden Sie dann das Cmdlet Add-AzVMNetworkInterface, um die Netzwerkschnittstelle mit der zuvor definierten Variable hinzuzufügen.

Führen Sie dieses Cmdlet aus, um die Netzwerkschnittstelle für Ihren virtuellen Computer festzulegen.

$VirtualMachine = Add-AzVMNetworkInterface -VM $VirtualMachine -Id $Interface.Id

Festlegen des Blobspeicherorts für den Datenträger des virtuellen Computers

Legen Sie im nächsten Schritt mithilfe der zuvor definierten Variablen den Blobspeicherort für den VM-Datenträger fest.

Führen Sie dieses Cmdlet aus, um den Blobspeicherort festzulegen.

$OSDiskUri = $StorageAccount.PrimaryEndpoints.Blob.ToString() + "vhds/" + $OSDiskName + ".vhd"

Festlegen der Eigenschaften des Betriebssystemdatenträgers für den virtuellen Computer

Legen Sie als Nächstes mit dem Cmdlet Set-AzVMOSDisk die Eigenschaften des Betriebssystemdatenträgers für den virtuellen Computer fest.

  • Geben Sie an, dass das Betriebssystem für den virtuellen Computer auf einem Image basiert.
  • Legen Sie eine schreibgeschützte Zwischenspeicherung fest (da SQL Server auf dem selben Datenträger installiert wird).
  • Geben Sie die zuvor initialisierten Variablen für den Namen des virtuellen Computers und den Betriebssystem-Datenträger an.

Führen Sie dieses Cmdlet aus, um die Eigenschaften des Betriebssystem-Datenträgers für Ihren virtuellen Computer festzulegen.

$VirtualMachine = Set-AzVMOSDisk -VM $VirtualMachine -Name `
   $OSDiskName -VhdUri $OSDiskUri -Caching ReadOnly -CreateOption FromImage

Angeben des Plattformimage für den virtuellen Computer

Im letzten Konfigurationsschritt wird das Plattformimage für den virtuellen Computer angegeben. Für dieses Tutorial verwenden Sie das aktuelle SQL Server 2016 CTP-Image. Verwenden Sie das Cmdlet Set-AzVMSourceImage, um dieses Image mit den zuvor definierten Variablen zu verwenden.

Führen Sie dieses Cmdlet aus, um das Plattformimage für Ihren virtuellen Computer festzulegen.

$VirtualMachine = Set-AzVMSourceImage -VM $VirtualMachine `
   -PublisherName $PublisherName -Offer $OfferName `
   -Skus $Sku -Version $Version

Erstellen des virtuellen SQL-Computers

Nach Abschluss der Konfigurationsschritte können Sie den virtuellen Computer nun erstellen. Verwenden Sie das Cmdlet New-AzVM, um den virtuellen Computer mithilfe der zuvor definierten Variablen zu erstellen.

Tipp

Das Erstellen des virtuellen Computers kann einige Minuten dauern.

Führen Sie dieses Cmdlet aus, um Ihren virtuellen Computer zu erstellen.

New-AzVM -ResourceGroupName $ResourceGroupName -Location $Location -VM $VirtualMachine

Der virtuelle Computer wird erstellt.

Hinweis

Wenn Sie eine Fehlermeldung bezüglich der Startdiagnose erhalten haben, können Sie sie ignorieren. Für die Startdiagnose wird ein Standardspeicherkonto erstellt, da es sich bei dem angegebenen Speicherkonto für den Datenträger des virtuellen Computers um ein Premium-Speicherkonto handelt.

Installieren der SQL-Iaas-Agenterweiterung

SQL Server-VMs unterstützen mit der Erweiterung für SQL Server-IaaS-Agent automatische Verwaltungsfunktionen. Führen Sie nach der Erstellung des virtuellen Computers den Befehl New-AzSqlVM aus, um Ihre SQL Server-VM mit der Erweiterung zu registrieren. Geben Sie den Lizenztyp für Ihre SQL Server-VM an, und wählen Sie über den Azure-Hybridvorteil eine Lizenz mit nutzungsbasierter Bezahlung oder eine BYOL-Lizenz (Bring Your Own License) aus. Weitere Informationen zur Lizenzierung finden Sie unter Lizenzierungsmodell.

New-AzSqlVM -ResourceGroupName $ResourceGroupName -Name $VMName -Location $Location -LicenseType <PAYG/AHUB> 

Es gibt drei Möglichkeiten, VMs mit der Erweiterung zu registrieren:

Beenden oder Entfernen eines virtuellen Computers

Wenn der virtuelle Computer nicht kontinuierlich ausgeführt werden muss, können Sie ihn beenden, wenn er nicht verwendet wird, um unnötige Kosten zu vermeiden. Mit dem folgenden Befehl wird der virtuelle Computer beendet, bleibt aber für eine spätere Verwendung verfügbar.

Stop-AzVM -Name $VMName -ResourceGroupName $ResourceGroupName

Mit dem Befehl Remove-AzResourceGroup können Sie alle Ressourcen, die der VM zugeordnet sind, endgültig entfernen. Dadurch wird auch der virtuelle Computer endgültig gelöscht. Seien Sie daher vorsichtig, wenn Sie diesen Befehl verwenden.

Beispielskript

Das folgende Skript enthält das vollständige PowerShell-Skript für dieses Tutorial. Es wird davon ausgegangen, dass Sie das zu verwendende Azure-Abonnement bereits mit den Befehlen Connect-AzAccount und Select-AzSubscription eingerichtet haben.

# Variables

## Global
$Location = "SouthCentralUS"
$ResourceGroupName = "sqlvm2"

## Storage
$StorageName = $ResourceGroupName + "storage"
$StorageSku = "Premium_LRS"

## Network
$InterfaceName = $ResourceGroupName + "ServerInterface"
$NsgName = $ResourceGroupName + "nsg"
$VNetName = $ResourceGroupName + "VNet"
$SubnetName = "Default"
$VNetAddressPrefix = "10.0.0.0/16"
$VNetSubnetAddressPrefix = "10.0.0.0/24"
$TCPIPAllocationMethod = "Dynamic"
$DomainName = $ResourceGroupName

##Compute
$VMName = $ResourceGroupName + "VM"
$ComputerName = $ResourceGroupName + "Server"
$VMSize = "Standard_DS13"
$OSDiskName = $VMName + "OSDisk"

##Image
$PublisherName = "MicrosoftSQLServer"
$OfferName = "SQL2017-WS2016"
$Sku = "SQLDEV"
$Version = "latest"

# Resource Group
New-AzResourceGroup -Name $ResourceGroupName -Location $Location

# Storage
$StorageAccount = New-AzStorageAccount -ResourceGroupName $ResourceGroupName -Name $StorageName -SkuName $StorageSku -Kind "Storage" -Location $Location

# Network
$SubnetConfig = New-AzVirtualNetworkSubnetConfig -Name $SubnetName -AddressPrefix $VNetSubnetAddressPrefix
$VNet = New-AzVirtualNetwork -Name $VNetName -ResourceGroupName $ResourceGroupName -Location $Location -AddressPrefix $VNetAddressPrefix -Subnet $SubnetConfig
$PublicIp = New-AzPublicIpAddress -Name $InterfaceName -ResourceGroupName $ResourceGroupName -Location $Location -AllocationMethod $TCPIPAllocationMethod -DomainNameLabel $DomainName
$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
$Nsg = New-AzNetworkSecurityGroup -ResourceGroupName $ResourceGroupName -Location $Location -Name $NsgName -SecurityRules $NsgRuleRDP,$NsgRuleSQL
$Interface = New-AzNetworkInterface -Name $InterfaceName -ResourceGroupName $ResourceGroupName -Location $Location -SubnetId $VNet.Subnets[0].Id -PublicIpAddressId $PublicIp.Id -NetworkSecurityGroupId $Nsg.Id

# Compute
$VirtualMachine = New-AzVMConfig -VMName $VMName -VMSize $VMSize
$Credential = Get-Credential -Message "Type the name and password of the local administrator account."
$VirtualMachine = Set-AzVMOperatingSystem -VM $VirtualMachine -Windows -ComputerName $ComputerName -Credential $Credential -ProvisionVMAgent -EnableAutoUpdate #-TimeZone = $TimeZone
$VirtualMachine = Add-AzVMNetworkInterface -VM $VirtualMachine -Id $Interface.Id
$OSDiskUri = $StorageAccount.PrimaryEndpoints.Blob.ToString() + "vhds/" + $OSDiskName + ".vhd"
$VirtualMachine = Set-AzVMOSDisk -VM $VirtualMachine -Name $OSDiskName -VhdUri $OSDiskUri -Caching ReadOnly -CreateOption FromImage

# Image
$VirtualMachine = Set-AzVMSourceImage -VM $VirtualMachine -PublisherName $PublisherName -Offer $OfferName -Skus $Sku -Version $Version

# Create the VM in Azure
New-AzVM -ResourceGroupName $ResourceGroupName -Location $Location -VM $VirtualMachine

# Add the SQL IaaS Agent Extension, and choose the license type
New-AzSqlVM -ResourceGroupName $ResourceGroupName -Name $VMName -Location $Location -LicenseType <PAYG/AHUB> 

Nächste Schritte

Nach der Erstellung des virtuellen Computers haben Sie folgende Möglichkeiten: