Bereitstellen von SQL Server auf virtuellen Azure-Computern mit Azure PowerShellHow to use Azure PowerShell to provision SQL Server on Azure Virtual Machines

BETRIFFT: jaSQL Server auf Azure-VMs APPLIES TO: yesSQL Server on Azure VM

Dieser Leitfaden behandelt die Optionen für die Verwendung von PowerShell zur Bereitstellung von SQL Server auf virtuellen Azure-Computern (VMs).This guide covers options for using PowerShell to provision SQL Server on Azure Virtual Machines (VMs). Ein vereinfachtes Beispiel für Azure PowerShell anhand von Standardwerten finden Sie im Schnellstart zum Erstellen einer SQL Server-VM mit Azure PowerShell.For a streamlined Azure PowerShell example that relies on default values, see the SQL VM Azure PowerShell quickstart.

Wenn Sie kein Azure-Abonnement besitzen, können Sie ein kostenloses Konto erstellen, bevor Sie beginnen.If you don't have an Azure subscription, create a free account before you begin.

Hinweis

Dieser Artikel wurde aktualisiert und beinhaltet jetzt das neue Az-Modul von Azure PowerShell.This article has been updated to use the new Azure PowerShell Az module. Sie können das AzureRM-Modul weiterhin verwenden, das bis mindestens Dezember 2020 weiterhin Fehlerbehebungen erhält.You can still use the AzureRM module, which will continue to receive bug fixes until at least December 2020. Weitere Informationen zum neuen Az-Modul und zur Kompatibilität mit AzureRM finden Sie unter Introducing the new Azure PowerShell Az module (Einführung in das neue Az-Modul von Azure PowerShell).To learn more about the new Az module and AzureRM compatibility, see Introducing the new Azure PowerShell Az module. Anweisungen zur Installation des Az-Moduls finden Sie unter Install Azure PowerShell (Installieren von Azure PowerShell).For Az module installation instructions, see Install Azure PowerShell.

Konfigurieren Ihres AbonnementsConfigure your subscription

  1. Öffnen Sie PowerShell, und führen Sie den Befehl Connect-AzAccount aus, um den Zugriff auf Ihr Azure-Konto einzurichten.Open PowerShell and establish access to your Azure account by running the Connect-AzAccount command.

    Connect-AzAccount
    
  2. Geben Sie bei Aufforderung Ihre Anmeldeinformationen ein.When prompted, enter your credentials. Verwenden Sie die E-Mail-Adresse und das Kennwort für die Anmeldung beim Azure-Portal.Use the same email and password that you use to sign in to the Azure portal.

Definieren von Image-VariablenDefine image variables

Beginnen Sie mit dem Definieren einer Reihe von Variablen, um Werte wiederzuverwenden und die Skripterstellung zu vereinfachen.To reuse values and simplify script creation, start by defining a number of variables. Die Parameterwerte können nach Belieben geändert werden. Dabei müssen allerdings die Benennungskonventionen hinsichtlich Namenslänge und Sonderzeichen eingehalten werden.Change the parameter values as you want, but be aware of naming restrictions related to name lengths and special characters when modifying the values provided.

Ort und RessourcengruppeLocation and resource group

Definieren Sie den Datenbereich und die Ressourcengruppe, in der Sie die anderen VM-Ressourcen erstellen möchten.Define the data region and the resource group where you want to create the other VM resources.

Ändern Sie die Werte nach Bedarf, und führen Sie diese Cmdlets aus, um die Variablen zu initialisieren.Modify as you want and then run these cmdlets to initialize these variables.

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

SpeichereigenschaftenStorage properties

Definieren Sie das Speicherkonto und die Art des Speichers für den virtuellen Computer.Define the storage account and the type of storage to be used by the virtual machine.

Ändern Sie die Werte nach Bedarf, und führen Sie das folgende Cmdlet aus, um diese Variablen zu initialisieren.Modify as you want, and then run the following cmdlet to initialize these variables. Für Produktionsworkloads werden SSD Premium-Datenträger empfohlen.We recommend using premium SSDs for production workloads.

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

NetzwerkeigenschaftenNetwork properties

Definieren Sie die Eigenschaften, die vom Netzwerk auf dem virtuellen Computer verwendet werden sollen.Define the properties to be used by the network in the virtual machine.

  • NetzwerkschnittstelleNetwork interface
  • TCP/IP-ZuordnungsmethodeTCP/IP allocation method
  • Name des virtuellen NetzwerksVirtual network name
  • Name des virtuellen SubnetzesVirtual subnet name
  • Bereich von IP-Adressen für das virtuelle NetzwerkRange of IP addresses for the virtual network
  • Bereich von IP-Adressen für das SubnetzRange of IP addresses for the subnet
  • Öffentliche Bezeichnung für die DomänePublic domain name label

Ändern Sie die Werte nach Bedarf, und führen Sie dieses Cmdlet aus, um die Variablen zu initialisieren.Modify as you want and then run this cmdlet to initialize these variables.

$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 ComputerVirtual machine properties

Definieren Sie die folgenden Eigenschaften:Define the following properties:

  • Name des virtuellen ComputersVirtual machine name
  • ComputernameComputer name
  • Größe des virtuellen ComputersVirtual machine size
  • Name für den Betriebssystemdatenträger des virtuellen ComputersOperating system disk name for the virtual machine

Ändern Sie die Werte nach Bedarf, und führen Sie dieses Cmdlet aus, um die Variablen zu initialisieren.Modify as you want and then run this cmdlet to initialize these variables.

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

Auswählen eines SQL Server-ImagesChoose a SQL Server image

Definieren Sie mithilfe der folgenden Variablen das SQL Server-Image, das für den virtuellen Computer verwendet werden soll.Use the following variables to define the SQL Server image to use for the virtual machine.

  1. Listen Sie zuerst mit dem Befehl Get-AzVMImageOffer alle SQL Server-Imageangebote auf.First, list all of the SQL Server image offerings with the Get-AzVMImageOffer command. Dieser Befehl listet die im Azure-Portal derzeit verfügbaren Images sowie auch ältere Images auf, die nur mit PowerShell installiert werden können:This command lists the current images that are available in the Azure portal and also older images that can only be installed with PowerShell:

    Get-AzVMImageOffer -Location $Location -Publisher 'MicrosoftSQLServer'
    
  2. Verwenden Sie in diesem Tutorial die folgenden Variablen, um SQL Server 2017 unter Windows Server 2016 anzugeben.For this tutorial, use the following variables to specify SQL Server 2017 on Windows Server 2016.

    $OfferName = "SQL2017-WS2016"
    $PublisherName = "MicrosoftSQLServer"
    $Version = "latest"
    
  3. Listen Sie als nächstes die verfügbaren Editionen für das Angebot auf.Next, list the available editions for your offer.

    Get-AzVMImageSku -Location $Location -Publisher 'MicrosoftSQLServer' -Offer $OfferName | Select Skus
    
  4. Verwenden Sie in diesem Tutorial die SQL Server 2017 Developer Edition (SQLDEV).For this tutorial, use the SQL Server 2017 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.The Developer edition is freely licensed for testing and development, and you only pay for the cost of running the VM.

    $Sku = "SQLDEV"
    

Erstellen einer RessourcengruppeCreate a resource group

Bei Verwendung des Resource Manager-Bereitstellungsmodells wird als erstes Objekt die Ressourcengruppe erstellt.With the Resource Manager deployment model, the first object that you create is the resource group. Verwenden Sie das Cmdlet New-AzResourceGroup, um eine Azure-Ressourcengruppe und die zugehörigen Ressourcen zu erstellen.Use the New-AzResourceGroup cmdlet to create an Azure resource group and its resources. Geben Sie die zuvor initialisierten Variablen für den Namen der Ressourcengruppe und den Speicherort an.Specify the variables that you previously initialized for the resource group name and location.

Führen Sie dieses Cmdlet aus, um Ihre neue Ressourcengruppe zu erstellen.Run this cmdlet to create your new resource group.

New-AzResourceGroup -Name $ResourceGroupName -Location $Location

Speicherkonto erstellenCreate a storage account

Der virtuelle Computer benötigt Speicherressourcen für den Betriebssystemdatenträger sowie für die SQL Server-Daten und -Protokolldateien.The virtual machine requires storage resources for the operating system disk and for the SQL Server data and log files. Der Einfachheit halber erstellen Sie für beides einen einzelnen Datenträger.For simplicity, you'll create a single disk for both. 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.You can attach additional disks later using the Add-Azure Disk cmdlet to place your SQL Server data and log files on dedicated disks. Erstellen Sie mit dem Cmdlet New-AzStorageAccount ein Standardspeicherkonto in der neuen Ressourcengruppe.Use the New-AzStorageAccount cmdlet to create a standard storage account in your new resource group. Geben Sie die zuvor initialisierten Variablen für den Namen des Speicherkontos, den Namen der Speicher-SKU und den Speicherort an.Specify the variables that you previously initialized for the storage account name, storage SKU name, and location.

Führen Sie dieses Cmdlet aus, um Ihr neues Speicherkonto zu erstellen.Run this cmdlet to create your new storage account.

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

Tipp

Das Erstellen des Speicherkontos kann einige Minuten dauern.Creating the storage account can take a few minutes.

Erstellen von NetzwerkressourcenCreate network resources

Der virtuelle Computer benötigt für die Netzwerkkonnektivität eine Reihe von Netzwerkressourcen.The virtual machine requires a number of network resources for network connectivity.

  • Jeder virtuelle Computer benötigt ein virtuelles Netzwerk.Each virtual machine requires a virtual network.
  • Ein virtuelles Netzwerk muss über mindestens ein definiertes Subnetz verfügen.A virtual network must have at least one subnet defined.
  • Eine Netzwerkschnittstelle muss mit einer öffentlichen oder privaten IP-Adresse definiert werden.A network interface must be defined with either a public or a private IP address.

Erstellen einer Subnetzkonfiguration für ein virtuelles NetzwerkCreate a virtual network subnet configuration

Erstellen Sie zunächst eine Subnetzkonfiguration für das virtuelle Netzwerk.Start by creating a subnet configuration for your virtual network. Erstellen Sie für dieses Tutorial mithilfe des Cmdlets New-AzVirtualNetworkSubnetConfig ein Standardsubnetz.For this tutorial, create a default subnet using the New-AzVirtualNetworkSubnetConfig cmdlet. Geben Sie die zuvor initialisierten Variablen für den Subnetznamen und das Adresspräfix an.Specify the variables that you previously initialized for the subnet name and address prefix.

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.You can define additional properties of the virtual network subnet configuration using this cmdlet, but that is beyond the scope of this tutorial.

Führen Sie dieses Cmdlet aus, um die Konfiguration des virtuellen Subnetzes zu erstellen.Run this cmdlet to create your virtual subnet configuration.

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

Erstellen eines virtuellen NetzwerksCreate a virtual network

Erstellen Sie als Nächstes mithilfe des Cmdlets New-AzVirtualNetwork Ihr virtuelles Netzwerk in der neuen Ressourcengruppe.Next, create your virtual network in your new resource group using the New-AzVirtualNetwork cmdlet. Geben Sie die zuvor initialisierten Variablen für Name, Speicherort und Adresspräfix an.Specify the variables that you previously initialized for the name, location, and address prefix. Verwenden Sie die Sie im vorherigen Schritt definierten Subnetzkonfiguration.Use the subnet configuration that you defined in the previous step.

Führen Sie dieses Cmdlet aus, um Ihr virtuelles Netzwerk zu erstellen.Run this cmdlet to create your virtual network.

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

Erstellen der öffentlichen IP-AdresseCreate the public IP address

Nachdem Ihre virtuelles Netzwerk jetzt definiert ist, müssen sie eine IP-Adresse für die Verbindung mit dem virtuellen Computer konfigurieren.Now that your virtual network is defined, you must configure an IP address for connectivity to the virtual machine. Für dieses Tutorial erstellen Sie eine öffentliche IP-Adresse mit dynamischer IP-Adressierung, um Internetverbindungen zu unterstützen.For this tutorial, create a public IP address using dynamic IP addressing to support Internet connectivity. Erstellen Sie mit dem Cmdlet New-AzPublicIpAddress die öffentliche IP-Adresse in der neuen Ressourcengruppe.Use the New-AzPublicIpAddress cmdlet to create the public IP address in your new resource group. Geben Sie die zuvor initialisierten Variablen für Name, Speicherort, Zuordnungsmethode und DNS-Domänennamensbezeichnung an.Specify the variables that you previously initialized for the name, location, allocation method, and DNS domain name label.

Hinweis

Mit dem Cmdlet können auch weitere Eigenschaften der öffentlichen IP-Adresse definiert werden. Darauf wird in diesem Einstiegstutorial jedoch nicht weiter eingegangen.You can define additional properties of the public IP address using this cmdlet, but that is beyond the scope of this initial tutorial. Sie können auch eine private Adresse oder eine Adresse mit einer statischen Adresse erstellen, aber auch das wird in diesem Tutorial nicht behandelt.You could also create a private address or an address with a static address, but that is also beyond the scope of this tutorial.

Führen Sie dieses Cmdlet aus, um Ihre öffentliche IP-Adresse zu erstellen.Run this cmdlet to create your public IP address.

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

Erstellen der NetzwerksicherheitsgruppeCreate the network security group

Erstellen Sie eine Netzwerksicherheitsgruppe, um den Datenverkehr von virtuellem Computer und SQL Server sicherzustellen.To secure the VM and SQL Server traffic, create a network security group.

  1. Erstellen Sie zuerst eine Netzwerksicherheitsgruppen-Regel für das Remotedesktopprotokoll (RDP), um RDP-Verbindungen zuzulassen.First, create a network security group rule for remote desktop (RDP) to allow RDP connections.

    $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.Configure a network security group rule that allows traffic on TCP port 1433. So werden Verbindungen zu SQL Server über das Internet ermöglicht.Doing so enables connections to SQL Server over the internet.

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

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

Erstellen der NetzwerkschnittstelleCreate the network interface

Nun können Sie die Netzwerkschnittstelle für Ihren virtuellen Computer erstellen.Now you're ready to create the network interface for your virtual machine. Erstellen Sie mit dem Cmdlet New-AzNetworkInterface die Netzwerkschnittstelle in Ihrer neuen Ressourcengruppe.Use the New-AzNetworkInterface cmdlet to create the network interface in your new resource group. Geben Sie den Namen, Speicherort, das Subnetz und die öffentliche IP-Adresse an, die zuvor Sie definiert haben.Specify the name, location, subnet, and public IP address previously defined.

Führen Sie dieses Cmdlet aus, um Ihre Netzwerkschnittstelle zu erstellen.Run this cmdlet to create your network interface.

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

Konfigurieren eines VM-ObjektsConfigure a VM object

Nachdem die Speicher- und Netzwerkressourcen jetzt definiert sind, können Sie Computeressourcen für den virtuellen Computer definieren.Now that storage and network resources are defined, you're ready to define compute resources for the virtual machine.

  • Geben Sie die Größe des virtuellen Computers und verschiedene Betriebssystemeigenschaften an.Specify the virtual machine size and various operating system properties.
  • Geben Sie die zuvor erstellte Netzwerkschnittstelle an.Specify the network interface that you previously created.
  • Definieren Sie Blobspeicher.Define blob storage.
  • Legen Sie den Betriebssystem-Datenträger fest.Specify the operating system disk.

Erstellen des VM-ObjektsCreate the VM object

Legen Sie zunächst die Größe des virtuellen Computers fest.Start by specifying the virtual machine size. Geben Sie für dieses Tutorial DS13 an.For this tutorial, specify a DS13. Erstellen Sie mit dem Cmdlet New-AzVMConfig ein konfigurierbares VM-Objekt.Use the New-AzVMConfig cmdlet to create a configurable virtual machine object. Geben Sie die zuvor initialisierten Variablen für Name und Größe an.Specify the variables that you previously initialized for the name and size.

Führen Sie dieses Cmdlet aus, um das VM-Objekt zu erstellen.Run this cmdlet to create the virtual machine object.

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

Erstellen eines Anmeldeinformationsobjekts zum Speichern von Name und Kennwort für die lokalen AdministratoranmeldeinformationenCreate a credential object to hold the name and password for the local administrator credentials

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.Before you can set the operating system properties for the virtual machine, you must supply the credentials for the local administrator account as a secure string. Verwenden Sie hierzu das Cmdlet Get-Credential.To accomplish this, use the Get-Credential cmdlet.

Führen Sie das folgende Cmdlet aus.Run the following cmdlet. Sie müssen den Namen und das Kennwort des lokalen Administrators der VM im PowerShell-Anforderungsfenster für Anmeldeinformationen eingeben.You'll need to type the VM's local administrator name and password into the PowerShell credential request window.

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

Festlegen der Betriebssystemeigenschaften für den virtuellen ComputerSet the operating system properties for the virtual machine

Nun können Sie die Betriebssystemeigenschaften des virtuellen Computers mit dem Cmdlet Set-AzVMOperatingSystem festlegen.Now you're ready to set the virtual machine's operating system properties with the Set-AzVMOperatingSystem cmdlet.

  • Legen Sie „Windows“ als Art des Betriebssystems fest.Set the type of operating system as Windows.
  • Legen Sie fest, dass der Agent für virtuelle Computer installiert werden muss.Require the virtual machine agent to be installed.
  • Legen Sie fest, dass das Cmdlet automatische Aktualisierungen ermöglicht.Specify that the cmdlet enables auto update.
  • Geben Sie die zuvor initialisierten Variablen für den Namen des virtuellen Computers, den Computernamen und die Anmeldeinformationen an.Specify the variables that you previously initialized for the virtual machine name, the computer name, and the credential.

Führen Sie dieses Cmdlet aus, um die Betriebssystemeigenschaften für Ihren virtuellen Computer festzulegen.Run this cmdlet to set the operating system properties for your virtual machine.

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

Hinzufügen der Netzwerkschnittstelle zum virtuellen ComputerAdd the network interface to the virtual machine

Verwenden Sie dann das Cmdlet Add-AzVMNetworkInterface, um die Netzwerkschnittstelle mit der zuvor definierten Variable hinzuzufügen.Next, use the Add-AzVMNetworkInterface cmdlet to add the network interface using the variable that you defined earlier.

Führen Sie dieses Cmdlet aus, um die Netzwerkschnittstelle für Ihren virtuellen Computer festzulegen.Run this cmdlet to set the network interface for your virtual machine.

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

Festlegen des Blobspeicherorts für den Datenträger des virtuellen ComputersSet the blob storage location for the disk to be used by the virtual machine

Legen Sie im nächsten Schritt mithilfe der zuvor definierten Variablen den Blobspeicherort für den VM-Datenträger fest.Next, set the blob storage location for the VM's disk with the variables that you defined earlier.

Führen Sie dieses Cmdlet aus, um den Blobspeicherort festzulegen.Run this cmdlet to set the blob storage location.

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

Festlegen der Eigenschaften des Betriebssystemdatenträgers für den virtuellen ComputerSet the operating system disk properties for the virtual machine

Legen Sie als Nächstes mit dem Cmdlet Set-AzVMOSDisk die Eigenschaften des Betriebssystemdatenträgers für den virtuellen Computer fest.Next, set the operating system disk properties for the virtual machine using the Set-AzVMOSDisk cmdlet.

  • Geben Sie an, dass das Betriebssystem für den virtuellen Computer auf einem Image basiert.Specify that the operating system for the virtual machine will come from an image.
  • Legen Sie eine schreibgeschützte Zwischenspeicherung fest (da SQL Server auf dem selben Datenträger installiert wird).Set caching to read only (because SQL Server is being installed on the same disk).
  • Geben Sie die zuvor initialisierten Variablen für den Namen des virtuellen Computers und den Betriebssystem-Datenträger an.Specify the variables that you previously initialized for the VM name and the operating system disk.

Führen Sie dieses Cmdlet aus, um die Eigenschaften des Betriebssystem-Datenträgers für Ihren virtuellen Computer festzulegen.Run this cmdlet to set the operating system disk properties for your virtual machine.

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

Angeben des Plattformimage für den virtuellen ComputerSpecify the platform image for the virtual machine

Im letzten Konfigurationsschritt wird das Plattformimage für den virtuellen Computer angegeben.The last configuration step is to specify the platform image for your virtual machine. Für dieses Tutorial verwenden Sie das aktuelle SQL Server 2016 CTP-Image.For this tutorial, use the latest SQL Server 2016 CTP image. Verwenden Sie das Cmdlet Set-AzVMSourceImage, um dieses Image mit den zuvor definierten Variablen zu verwenden.Use the Set-AzVMSourceImage cmdlet to use this image with the variables that you defined earlier.

Führen Sie dieses Cmdlet aus, um das Plattformimage für Ihren virtuellen Computer festzulegen.Run this cmdlet to specify the platform image for your virtual machine.

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

Erstellen des virtuellen SQL-ComputersCreate the SQL VM

Nach Abschluss der Konfigurationsschritte können Sie den virtuellen Computer nun erstellen.Now that you've finished the configuration steps, you're ready to create the virtual machine. Verwenden Sie das Cmdlet New-AzVM, um den virtuellen Computer mithilfe der zuvor definierten Variablen zu erstellen.Use the New-AzVM cmdlet to create the virtual machine using the variables that you defined.

Tipp

Das Erstellen des virtuellen Computers kann einige Minuten dauern.Creating the VM can take a few minutes.

Führen Sie dieses Cmdlet aus, um Ihren virtuellen Computer zu erstellen.Run this cmdlet to create your virtual machine.

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

Der virtuelle Computer wird erstellt.The virtual machine is created.

Hinweis

Wenn Sie eine Fehlermeldung bezüglich der Startdiagnose erhalten haben, können Sie sie ignorieren.If you get an error about boot diagnostics, you can ignore it. 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.A standard storage account is created for boot diagnostics because the specified storage account for the virtual machine's disk is a premium storage account.

Installieren des SQL-IaaS-AgentsInstall the SQL Iaas Agent

SQL Server-VMs unterstützen mit der Erweiterung für SQL Server-IaaS-Agent automatische Verwaltungsfunktionen.SQL Server virtual machines support automated management features with the SQL Server IaaS Agent Extension. Um den Agent auf der neuen VM zu installieren und beim Ressourcenanbieter zu registrieren, führen Sie den Befehl New-AzSqlVM aus, nachdem der virtuelle Computer erstellt wurde.To install the agent on the new VM and register it with the resource provider, run the New-AzSqlVM command after the virtual machine is created. 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.Specify the license type for your SQL Server VM, choosing between either pay-as-you-go or bring-your-own-license via the Azure Hybrid Benefit. Weitere Informationen zur Lizenzierung finden Sie unter Lizenzierungsmodell.For more information about licensing, see licensing model.

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

Beenden oder Entfernen eines virtuellen ComputersStop or remove a VM

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.If you don't need the VM to run continuously, you can avoid unnecessary charges by stopping it when not in use. Mit dem folgenden Befehl wird der virtuelle Computer beendet, bleibt aber für eine spätere Verwendung verfügbar.The following command stops the VM but leaves it available for future use.

Stop-AzVM -Name $VMName -ResourceGroupName $ResourceGroupName

Mit dem Befehl Remove-AzResourceGroup können Sie alle Ressourcen, die der VM zugeordnet sind, endgültig entfernen.You can also permanently delete all resources associated with the virtual machine with the Remove-AzResourceGroup command. Dadurch wird auch der virtuelle Computer endgültig gelöscht. Seien Sie daher vorsichtig, wenn Sie diesen Befehl verwenden.Doing so permanently deletes the virtual machine as well, so use this command with care.

BeispielskriptExample script

Das folgende Skript enthält das vollständige PowerShell-Skript für dieses Tutorial.The following script contains the complete PowerShell script for this tutorial. Es wird davon ausgegangen, dass Sie das zu verwendende Azure-Abonnement bereits mit den Befehlen Connect-AzAccount und Select-AzSubscription eingerichtet haben.It assumes that you have already set up the Azure subscription to use with the Connect-AzAccount and Select-AzSubscription commands.

# 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 Extension, and choose the license type
New-AzSqlVM -ResourceGroupName $ResourceGroupName -Name $VMName -Location $Location -LicenseType <PAYG/AHUB> 

Nächste SchritteNext steps

Nach der Erstellung des virtuellen Computers haben Sie folgende Möglichkeiten:After the virtual machine is created, you can: