Konfigurieren von Speicher für SQL Server-VMs

Gilt für: SQL Server auf Azure-VMs

In diesem Artikel erfahren Sie, wie Sie den Speicher für Ihre SQL Server-Instanz auf Azure Virtual Machines (VMs) konfigurieren.

SQL Server-VMs, die über Marketplace-Images bereitgestellt werden, folgen automatisch den standardmäßigen bewährten Methoden für die Speicherung, die während der Bereitstellung geändert werden können. Einige dieser Konfigurationseinstellungen können nach der Bereitstellung geändert werden.

Voraussetzungen

Zur Verwendung der Einstellungen für die automatische Speicherkonfiguration muss Ihr virtueller Computer über die folgenden Merkmale verfügen:

Neue virtuelle Computer

In den folgenden Abschnitten wird beschrieben, wie Speicher für neue virtuelle SQL Server-Computer konfiguriert wird.

Azure-Portal

Wenn Sie eine Azure-VM mithilfe eines SQL Server-Katalogimages bereitstellen, wählen Sie auf der Registerkarte SQL Server-Einstellungen und Speicher die Option Konfiguration ändern aus, um die Seite Speicher konfigurieren zu öffnen. Sie können die Standardeinstellungen der Werte übernehmen oder den Typ der Datenträgerkonfiguration ändern, der den Anforderungen für Ihre Workload am besten entspricht.

Screenshot mit Hervorhebung der Registerkarte „SQL Server-Einstellungen“ und der Option „Konfiguration ändern“.

Wählen Sie den Speicherort auf dem Laufwerk für Ihre Daten- und Protokolldateien aus, und geben Sie den Datenträgertyp sowie die Anzahl der Datenträger an. Verwenden Sie die IOPS-Werte, um die beste Speicherkonfiguration für Ihre geschäftlichen Anforderungen zu bestimmen. Wenn Sie Storage Premium auswählen, wird die Zwischenspeicherung auf Schreibgeschützt für das Datenlaufwerk und Keine für das Protokolllaufwerk festgelegt, wie unter Bewährte Methoden für die SQL Server-VM-Leistung beschrieben.

SQL Server-VM-Speicherkonfiguration während der Bereitstellung

Die Datenträgerkonfiguration ist vollständig anpassbar, sodass Sie die Speichertopologie, den Datenträgertyp und den IOPs konfigurieren können, die Sie für Ihre SQL Server-VM-Workload benötigen. Sie haben auch die Möglichkeit, UltraSSD (Vorschau) als Option für den Datenträgertyp zu verwenden, wenn sich Ihre SQL Server-VM in einer der unterstützten Regionen (USA, Osten 2, Asien, Südosten und Europa, Norden) befindet und Sie Ultra-Datenträger für Ihr Abonnement aktiviert haben.

Konfigurieren Sie ihre Einstellungen für die tempdb-Datenbank unter Tempdb-Speicher, dazu gehören z. B. der Speicherort der Datenbankdateien sowie die Anzahl der Dateien, die Anfangsgröße und die Größe für die automatische Vergrößerung in MB. Derzeit beträgt die maximale Anzahl von tempdb-Dateien während der Bereitstellung 8, aber nach der Bereitstellung der SQL Server-VM können weitere Dateien hinzugefügt werden.

Screenshot: Konfigurieren der tempdb-Speicherung für Ihre SQL-VM

Zusätzlich haben Sie die Möglichkeit, die Zwischenspeicherung für die Datenträger festzulegen. Azure VMs verfügen über eine mehrschichtige Zwischenspeicherungstechnologie namens Blobcache, wenn sie mit Premium-Datenträgern verwendet werden. Blobcache verwendet für das Zwischenspeichern eine Kombination aus RAM des virtuellen Computers und lokalem SSD-Laufwerk.

Die Datenträgerzwischenspeicherung für SSD Premium kann die Werte ReadOnly, ReadWrite oder None aufweisen.

  • Zwischenspeicherung vom Typ ReadOnly ist sehr vorteilhaft für SQL Server-Datendateien, die in Storage Premium gespeichert sind. Zwischenspeicherung vom Typ ReadOnly bringt niedrige Leselatenz, hohe Lese-IOPS und Durchsatz mit sich, da Lesezugriffe aus dem Cache erfolgen, der sich im VM-Arbeitsspeicher und auf der lokalen SSD befindet. Diese Lesezugriffe sind viel schneller als Lesezugriffe vom Datenträger, die aus Azure Blob Storage erfolgen. Storage Premium rechnet die aus dem Cache erfüllten Leseanforderungen nicht zur IOPS- und Durchsatzrate des Datenträgers. Aus diesem Grund kann Ihre Anwendung eine höhere Gesamtrate bei IOPS und Durchsatz erzielen.

  • Die Cachekonfiguration None sollte für die Datenträger verwendet werden, auf denen sich die SQL Server-Protokolldatei befindet, da die Protokolldatei sequenziell geschrieben wird und nicht von ReadOnly-Zwischenspeicherung profitiert.

  • Zwischenspeicherung vom Typ ReadWrite sollte nicht zum Hosten von SQL Server-Dateien verwendet werden, da SQL Server keine Datenkonsistenz mit dem ReadWrite-Cache unterstützt. Schreibvorgänge vergeuden die Kapazität des ReadOnly-Blobcaches, und die Latenzzeiten nehmen geringfügig zu, wenn die Schreibvorgänge durch ReadOnly-Blobcacheebenen erfolgen.

    Tipp

    Stellen Sie sicher, dass Ihre Speicherkonfiguration mit den Einschränkungen der ausgewählten VM-Größe übereinstimmt. Die Auswahl von Speicherparametern, die die Leistungsgrenze der VM-Größe überschreiten, führt zur Warnung The desired performance might not be reached due to the maximum virtual machine disk performance cap. Verringern Sie den IOPS durch Ändern des Datenträgertyps, oder erhöhen Sie die Leistungsbegrenzung durch Vergrößern der VM-Größe. Dadurch wird die Bereitstellung nicht unterbrochen.

Je nach Ihrer Auswahl führt Azure nach dem Erstellen der VM die folgenden Aufgaben der Speicherkonfiguration durch:

  • Erstellt SSD Premium-Datenträger und fügt sie an die VM an.
  • Konfiguriert die Datenträger so, dass sie für SQL Server zugänglich sind.
  • Konfiguriert die Datenträger in einem Speicherpool basierend auf der angegebenen Größe und den Leistungsanforderungen (IOPS und Durchsatz).
  • Ordnet dem Speicherpool ein neues Laufwerk auf dem virtuellen Computer zu.
  • Optimiert dieses neue Laufwerk basierend auf Ihrem angegebenen Workloadtyp („Data Warehousing“, „Transaktionsverarbeitung“ oder „Allgemein“).

Eine vollständige exemplarische Vorgehensweise zur Erstellung einer SQL Server-VM im Azure-Portal finden Sie unter Tutorial zur Bereitstellung.

Resource Manager-Vorlagen

Wenn Sie die folgenden Resource Manager-Vorlagen verwenden, werden standardmäßig zwei Premium-Datenträger ohne Speicherpoolkonfiguration angefügt. Sie können diese Vorlagen aber anpassen, um die Anzahl von Premium-Datenträgern zu ändern, die an den virtuellen Computer angefügt sind.

Schnellstartvorlage

Sie können die folgende Schnellstartvorlage verwenden, um eine SQL Server-VM mithilfe von Speicheroptimierung bereitzustellen.

Vorhandene virtuelle Computer

Für vorhandene SQL Server-VMs können Sie im Azure-Portal einige Speichereinstellungen ändern. Öffnen Sie Ihre SQL-VM-Ressource, und wählen Sie Übersicht aus. Auf der Seite Übersicht für SQL Server wird die aktuelle Speichernutzung Ihrer VM angezeigt. Alle Laufwerke, die auf Ihrer VM vorhanden sind, werden in diesem Diagramm angezeigt. Für jedes Laufwerk wird der Speicherplatz in vier Abschnitten angezeigt:

  • SQL data
  • SQL-Protokoll
  • Andere (anderer Speicher als SQL-Speicher)
  • Verfügbar

Wählen Sie zum Ändern der Speichereinstellungen Speicherkonfiguration unter Einstellungen aus.

Screenshot mit Hervorhebung der Option „Konfigurieren“ und des Abschnitts „Speichernutzung“.

Sie können die Datenträgereinstellungen für die Laufwerke ändern, die während des Erstellungsprozesses der SQL Server-VM konfiguriert wurden. Durch die Auswahl von Konfigurieren wird die Seite zur Änderung des Laufwerks geöffnet, auf der Sie den Datenträgertyp ändern und zusätzliche Datenträger hinzufügen können.

Konfigurieren von Speicher für vorhandene SQL Server-VM

Sie können die Einstellungen für tempdb auch direkt im Azure-Portal konfigurieren, z. B. die Anzahl der Datendateien, ihre Anfangsgröße und das Verhältnis der automatischen Vergrößerung. Weitere Informationen finden Sie unter Konfigurieren von tempdb.

Automatisierte Änderungen

Dieser Abschnitt dient als Referenz für die Änderungen der Speicherkonfiguration, die von Azure automatisch vorgenommen werden, während die SQL Server-VM-Bereitstellung oder -Konfiguration im Azure-Portal durchgeführt wird.

  • Azure konfiguriert einen Speicherpool aus dem ausgewählten Speicher Ihrer VM. Im nächsten Abschnitt dieses Themas sind Details zur Speicherpoolkonfiguration angegeben.
  • Bei der automatischen Speicherkonfiguration werden immer P30-Datenträger vom Typ SSD Premium verwendet. Daher besteht eine 1:1-Zuordnung zwischen der ausgewählten TB-Menge und der Anzahl von Datenträgern, die an die VM angefügt sind.

Preisinformationen finden Sie auf der Seite Preise für Azure Storage auf der Registerkarte Disk Storage .

Erstellung des Speicherpools

In Azure werden die folgenden Einstellungen verwendet, um den Speicherpool auf SQL Server-VMs zu erstellen:

Einstellung Wert
Stripegröße 256 KB (Data Warehousing), 64 KB (Transaktional)
Datenträgergrößen 1 TB jeder
Cache Lesen
Zuordnungsgröße Größe der NTFS-Zuordnungseinheit: 64 KB
Wiederherstellung Einfache Wiederherstellung (keine Resilienz)
Anzahl von Spalten Anzahl von Datenträgern für Daten bis zu 81

1 Nach der Erstellung des Speicherpools können Sie die Anzahl von Spalten im Speicherpool nicht mehr ändern.

Einstellungen für die Workloadoptimierung

In der folgenden Tabelle sind die drei verfügbaren Optionen für den Workloadtyp und die entsprechenden Optimierungen beschrieben:

Workloadtyp BESCHREIBUNG Optimierungen
Allgemein Standardeinstellung, die die meisten Workloads unterstützt Keine
Transaktionale Verarbeitung Optimiert den Speicher für herkömmliche OLTP-Datenbankworkloads Ablaufverfolgungsflag 1117
Ablaufverfolgungsflag 1118
Data Warehousing Optimiert den Speicher für Analyse- und Berichterstellungsworkloads Ablaufverfolgungsflag 610
Ablaufverfolgungsflag 1117

Hinweis

Beim Bereitstellen eines virtuellen SQL Server-Computers können Sie den Workloadtyp nur angeben, indem Sie ihn im Schritt für die Speicherkonfiguration auswählen.

Aktivieren der Zwischenspeicherung

Ändern Sie die Richtlinie für das Zwischenspeichern auf Datenträgerebene. Sie können dies über das Azure-Portal, PowerShell oder die Azure CLI erreichen.

Gehen Sie folgendermaßen vor, um Ihre Richtlinie für das Zwischenspeichern im Azure-Portal zu ändern:

  1. Beenden Sie den SQL Server-Dienst.

  2. Melden Sie sich beim Azure-Portal an.

  3. Navigieren Sie zu Ihrem virtuellen Computer, und wählen Sie Datenträger unter Einstellungen aus.

    Screenshot: Blatt „VM-Datenträgerkonfiguration“ im Azure-Portal

  4. Wählen Sie in der Dropdownliste die entsprechende Richtlinie für die Zwischenspeicherung für den Datenträger aus.

    Screenshot: Konfiguration der Richtlinie für die Zwischenspeicherung im Azure-Portal

  5. Nachdem die Änderung wirksam geworden ist, starten Sie die SQL Server-VM neu. Anschließend starten Sie den SQL Server-Dienst.

Aktivieren der Schreibbeschleunigung

Die Schreibbeschleunigung ist ein Datenträgerfeature, das nur für die virtuellen Computer (VMs) der M-Serie verfügbar ist. Der Zweck der Schreibbeschleunigung besteht darin, die E/A-Wartezeit von Schreibvorgängen für Azure Storage Premium zu verbessern, wenn Sie aufgrund von unternehmenskritischen OLTP-Workloads mit hohem Volumen oder Data Warehouse-Umgebungen eine einstellige E/A-Wartezeit benötigen.

Beenden Sie alle SQL Server-Aktivitäten, und fahren Sie den SQL Server-Dienst herunter, bevor Sie Änderungen an der Richtlinie für die Schreibbeschleunigung vornehmen.

Wenn Ihre Datenträger Stripesetdatenträger sind, aktivieren Sie die Schreibbeschleunigung für jeden Datenträger einzeln und Ihre Azure-VM sollte heruntergefahren sein, bevor Sie Änderungen vornehmen.

Gehen Sie folgendermaßen vor, um die Schreibbeschleunigung über das Azure-Portal zu aktivieren:

  1. Beenden Sie den SQL Server-Dienst. Wenn Ihre Datenträger Stripesetdatenträger sind, fahren Sie den virtuellen Computer herunter.

  2. Melden Sie sich beim Azure-Portal an.

  3. Navigieren Sie zu Ihrem virtuellen Computer, und wählen Sie Datenträger unter Einstellungen aus.

    Screenshot: Blatt „VM-Datenträgerkonfiguration“ im Azure-Portal

  4. Wählen Sie die Option zum Zwischenspeichern mit Schreibbeschleunigung für Ihren Datenträger im Dropdownmenü aus.

    Screenshot: Richtlinie für die Zwischenspeicherung für die Schreibbeschleunigung

  5. Nachdem die Änderung wirksam geworden ist, starten Sie den virtuellen Computer und den SQL Server-Dienst.

Datenträgerstriping

Für einen höheren Durchsatz können Sie zusätzliche Datenträger für Daten hinzufügen und Datenträgerstriping verwenden. Um die Anzahl der Datenträger für Daten zu bestimmen, analysieren Sie den Durchsatz und die Bandbreite, die für Ihre SQL Server-Datendateien erforderlich sind, einschließlich Protokoll und tempdb. Die Grenzwerte für Durchsatz und Bandbreite variieren je nach VM-Größe. Weitere Informationen finden Sie unter VM-Größe.

  • Verwenden Sie Speicherplätze für Windows 8 und Windows Server 2012 oder höher mit den folgenden Richtlinien:

    1. Legen Sie die Überlappung (Stripesetgröße) auf 64 KB (65.536 Byte) fest, um Leistungseinbußen durch falsche Partitionsausrichtung zu vermeiden. Dies muss mit PowerShell festgelegt werden.

    2. Festgelegte Anzahl der Spalten = Anzahl der physischen Datenträger. Verwenden Sie PowerShell, wenn Sie mehr als 8 Datenträger (keine Server-Manager-Benutzeroberfläche) konfigurieren.

Mit PowerShell erstellen Sie z. B. wie folgt einen neuen Speicherpool mit einer Überlappungsgröße von 64 KB und einer Anzahl der Spalten, die der Anzahl der physischen Datenträger im Speicherpool entspricht:

$PhysicalDisks = Get-PhysicalDisk | Where-Object {$_.FriendlyName -like "*2" -or $_.FriendlyName -like "*3"}

New-StoragePool -FriendlyName "DataFiles" -StorageSubsystemFriendlyName "Windows Storage on <VM Name>" `
    -PhysicalDisks $PhysicalDisks | New-VirtualDisk -FriendlyName "DataFiles" `
    -Interleave 65536 -NumberOfColumns $PhysicalDisks.Count -ResiliencySettingName simple `
    -UseMaximumSize |Initialize-Disk -PartitionStyle GPT -PassThru |New-Partition -AssignDriveLetter `
    -UseMaximumSize |Format-Volume -FileSystem NTFS -NewFileSystemLabel "DataDisks" `
    -AllocationUnitSize 65536 -Confirm:$false

In Windows Server 2016 und höher ist der Standardwert für -StorageSubsystemFriendlyNameWindows Storage on <VM Name>.

  • Für Windows 2008 R2 oder früher können Sie dynamische Datenträger (Betriebssystem-Stripesetvolumes) verwenden, und die Stripesetgröße ist immer 64 KB. Diese Option ist seit Windows 8/Windows Server 2012 veraltet. Informationen hierzu finden Sie in der Supporterklärung unter Virtual Disk Service is transitioning to Windows Storage Management API(Übergang des Diensts für virtuelle Datenträger in die Windows-Speicherverwaltungs-API, in englischer Sprache).

  • Bei Verwendung von Direkte Speicherplätze (Storage Spaces Direct, S2D) mit SQL Server-Failoverclusterinstanzen müssen Sie einen einzelnen Pool konfigurieren. Auch wenn für einen einzelnen Pool unterschiedliche Volumes erstellt werden können, weisen diese alle die gleichen Merkmale (z.B. die gleiche Cacherichtlinie) auf.

  • Bestimmen Sie auf Basis der erwarteten Auslastung die Anzahl der jedem Speicherpool zugeordneten Datenträger. Bedenken Sie, dass verschiedene VM-Größen unterschiedlich viele angefügte Datenträger für Daten unterstützen. Weitere Informationen finden Sie unter Größen für virtuelle Computer.

Nächste Schritte

Weitere Informationen zum Ausführen von SQL Server auf virtuellen Azure-Computern finden Sie unter SQL Server auf virtuellen Azure-Computern.