Leistungsrichtlinien für SQL Server in Azure Virtual MachinesPerformance guidelines for SQL Server in Azure Virtual Machines

ÜbersichtOverview

Dieser Artikel enthält Informationen zur Optimierung der Leistung von SQL Server auf virtuellen Microsoft Azure-Computern.This article provides guidance for optimizing SQL Server performance in Microsoft Azure Virtual Machine. Es empfiehlt sich, beim Ausführen von SQL Server in Azure Virtual Machines weiterhin die gleichen Optionen zur Optimierung der Datenbankleistung zu verwenden, die für SQL Server in der lokalen Server-Umgebung gelten.While running SQL Server in Azure Virtual Machines, we recommend that you continue using the same database performance tuning options that are applicable to SQL Server in on-premises server environment. Die Leistung einer relationalen Datenbank in einer öffentlichen Cloud hängt jedoch von vielen Faktoren ab, z. B. der Größe eines virtuellen Computers und der Konfiguration der Datenträger für Daten.However, the performance of a relational database in a public cloud depends on many factors such as the size of a virtual machine, and the configuration of the data disks.

Im Azure-Portal bereitgestellte SQL Server-Images befolgen die bewährten Methoden für die allgemeine Speicherkonfiguration (weitere Informationen zum Konfigurieren von Speicher finden Sie unter Speicherkonfiguration für SQL Server-VMs).SQL Server images provisioned in the Azure portal follow general storage configuration best practices (for more information on how storage is configured, see Storage configuration for SQL Server VMs). Nach der Bereitstellung empfiehlt es sich gegebenenfalls, weitere der in diesem Artikel behandelten Optimierungen anzuwenden.After provisioning, consider applying other optimizations discussed in this article. Orientieren Sie sich dabei an Ihrer Workload, und testen Sie die gewählte Option.Base your choices on your workload and verify through testing.

Tipp

In der Regel kommt es zu einem Kompromiss zwischen einer Kostenoptimierung und einer Leistungsoptimierung.There is typically a trade-off between optimizing for costs and optimizing for performance. Dieser Artikel konzentriert sich auf die optimale Leistung von SQL Server auf Azure-VMs.This article is focused on getting the best performance for SQL Server on Azure VMs. Wenn Ihre Workload weniger anspruchsvoll ist, sind möglicherweise nicht alle unten aufgeführten Optimierungen erforderlich.If your workload is less demanding, you might not require every optimization listed below. Berücksichtigen Sie bei der Evaluierung dieser Empfehlungen Ihre Leistungsanforderungen und -kosten sowie Ihre Workloadmuster.Consider your performance needs, costs, and workload patterns as you evaluate these recommendations.

ChecklisteQuick check list

Im folgenden finden eine kurze Checkliste für die optimale Leistung von SQL Server in Azure Virtual Machines:The following is a quick check list for optimal performance of SQL Server on Azure Virtual Machines:

BereichArea OptimierungenOptimizations
Größe des virtuellen ComputersVM size - DS3_v2 oder höher für SQL Server Enterprise Edition.- DS3_v2 or higher for SQL Enterprise edition.

- DS2_v2 oder höher für SQL Server Standard und Web Edition.- DS2_v2 or higher for SQL Standard and Web editions.
SpeicherStorage - Verwenden Sie SSD Premium.- Use premium SSDs. Storage Standard empfiehlt sich nur für Entwicklungs- und Testumgebungen.Standard storage is only recommended for dev/test.

- Speichern Sie das Speicherkonto und die SQL Server-VM in derselben Region.- Keep the storage account and SQL Server VM in the same region.

* Deaktivieren Sie auf dem Speicherkonto den georedundanten Azure-Speicher (Georeplikation).* Disable Azure geo-redundant storage (geo-replication) on the storage account.
DatenträgerDisks - Verwenden Sie mindestens 2 P30-Datenträger (1 für Protokolldateien; 1 für Datendateien, einschließlich „TempDB“).- Use a minimum of 2 P30 disks (1 for log files and 1 for data files including TempDB). Für Workloads, die ca. 50.000 IOPS erfordern, sollten Sie die Verwendung eines SSD Ultra-Datenträgers erwägen.For workloads requiring ~50,000 IOPS, consider using an Ultra SSD.

- Vermeiden Sie die Verwendung von Betriebssystem- oder temporären Datenträgern für die Datenbankspeicherung oder Protokollierung.- Avoid using operating system or temporary disks for database storage or logging.

- Aktivieren Sie das Caching für Lesevorgänge auf den Datenträgern, auf denen die Datendateien und TempDB-Datendateien gehostet werden.- Enable read caching on the disk(s) hosting the data files and TempDB data files.

- Aktivieren Sie kein Caching auf Datenträgern, auf denen die Protokolldatei gehostet wird.- Do not enable caching on disk(s) hosting the log file. Wichtig: Beenden Sie den SQL Server-Dienst, wenn Sie die Cacheeinstellungen für einen Azure-VM-Datenträger ändern.Important: Stop the SQL Server service when changing the cache settings for an Azure VM disk.

- Erstellen Sie ein Stripeset mehrerer Azure-Datenträger für Daten, um einen höheren E/A-Durchsatz zu erzielen.- Stripe multiple Azure data disks to get increased IO throughput.

- Formatieren Sie mit dokumentierten Zuordnungsgrößen.- Format with documented allocation sizes.

- Legen Sie die TempDB für geschäftskritische SQL Server-Workloads auf dem lokalen SSD-Laufwerk D:\ ab (nach dem Auswählen der richtigen VM-Größe).- Place TempDB on the local SSD D:\ drive for mission critical SQL Server workloads (after choosing correct VM size). Weitere Informationen finden Sie im Blogbeitrag Using SSDs to store TempDB (Verwenden von SSDs zum Speichern von TempDB).More info in the blog Using SSDs to store TempDB.
E/AI/O - Aktivieren Sie die Datenbankseitenkomprimierung.- Enable database page compression.

- Aktivieren Sie die sofortige Dateiinitialisierung für Datendateien.- Enable instant file initialization for data files.

- Begrenzen Sie die automatische Vergrößerung der Datenbank.- Limit autogrowth of the database.

- Deaktivieren Sie die automatische Verkleinerung der Datenbank.- Disable autoshrink of the database.

- Verschieben Sie alle Datenbanken, einschließlich der Systemdatenbanken, auf Datenträger für Daten.- Move all databases to data disks, including system databases.

- Verschieben Sie die Verzeichnisse für das SQL Server-Fehlerprotokoll und die Ablaufverfolgungsdateien auf die Datenträger für Daten.- Move SQL Server error log and trace file directories to data disks.

- Richten Sie standardmäßige Dateispeicherorte für Sicherungen und Datenbanken ein.- Setup default backup and database file locations.

- Aktivieren Sie gesperrte Seiten.- Enable locked pages.

- Wenden Sie SQL Server-Leistungs-Hotfixpakete an.- Apply SQL Server performance fixes.
FeaturespezifischFeature-specific - Sichern Sie direkt in den Blobspeicher.- Back up directly to blob storage.

Weitere Informationen dazu, wie und warum diese Optimierungen vorgenommen werden, finden Sie in den Details und den Leitfäden in den folgenden Abschnitten.For more information on how and why to make these optimizations, please review the details and guidance provided in following sections.

Leitfaden für die Größe virtueller ComputerVM size guidance

Für leistungsabhängige Anwendungen empfiehlt sich die Verwendung der folgenden Größen für virtuelle Computer:For performance sensitive applications, it’s recommended that you use the following virtual machines sizes:

  • SQL Server Enterprise Edition: DS3_v2 oder höherSQL Server Enterprise Edition: DS3_v2 or higher
  • SQL Server Standard und Web Edition: DS2_v2 oder höherSQL Server Standard and Web Editions: DS2_v2 or higher

VMs der DSv2-Serie unterstützen Storage Premium, was für eine optimale Leistung empfohlen wird.DSv2-series VMs support premium storage, which is recommended for the best performance. Die hier empfohlenen Größen sind Richtwerte, doch die tatsächliche VM-Größe hängt von den Anforderungen Ihrer Workloads ab.The sizes recommended here are baselines, but the actual machine size you select depends on your workload demands. VMs der DSv2-Serie sind universelle VMs, die für eine Vielzahl von Workloads geeignet sind, während andere VM-Größen für bestimmte Workloadtypen optimiert sind.DSv2-series VMs are general-purpose VMs that are good for a variety of workloads, whereas other machines sizes are optimized for specific workload types. Die M-Serie bietet beispielsweise die höchste vCPU-Anzahl und Arbeitsspeicher für die größten SQL Server-Workloads.For example, the M-series offers the highest vCPU count and memory for the largest SQL Server workloads. Die GS-Serie und DSv2-Serie 11-15 sind für große Arbeitsspeicheranforderungen optimiert.The GS-series and DSv2-series 11-15 are optimized for large memory requirements. Beide Serien sind auch mit eingeschränkten Kerngrößen erhältlich, was Kosten bei Workloads mit geringeren Computeanforderungen spart.Both of those series are also available in constrained core sizes, which saves money for workloads with lower compute demands. VMs der Ls-Serie sind für hohen Datenträgerdurchsatz und hohe E/A-Werte optimiert.The Ls-series machines are optimized for high disk throughput and IO. Es ist wichtig, Ihre spezifische SQL Server-Workload zu prüfen und diese bei der Auswahl der VM-Serie und -Größe zu berücksichtigen.It is important to consider your specific SQL Server workload and apply this to your selection of a VM series and size.

Leitfaden für SpeicherStorage guidance

Virtuelle Computer der DS-Serie (sowie der DSv2- und GS-Serie) unterstützen SSD Premium.DS-series (along with DSv2-series and GS-series) VMs support premium SSDs. Für alle Produktionsworkloads werden Datenträger vom Typ SSD Premium empfohlen.Premium SSDs are recommended for all production workloads.

Warnung

Datenträger vom Typ HDD Standard und SSD Standard verfügen über unterschiedliche Latenzen und Bandbreiten und sollten nur für Entwicklungs-/Testworkloads verwendet werden.Standard HDDs and SSDs have varying latencies and bandwidth and are only recommended for dev/test workloads. Für Produktionsworkloads sollte SSD Premium verwendet werden.Production workloads should use premium SSDs.

Außerdem sollten Sie Ihr Azure-Speicherkonto im selben Rechenzentrum wie Ihre SQL Server-VMs erstellen, um Übertragungsverzögerungen zu verringern.In addition, we recommend that you create your Azure storage account in the same data center as your SQL Server virtual machines to reduce transfer delays. Wenn Sie ein Speicherkonto erstellen, deaktivieren Sie die Georeplikation, da keine konsistente Schreibreihenfolge über mehrere Datenträger gewährleistet werden kann.When creating a storage account, disable geo-replication as consistent write order across multiple disks is not guaranteed. Konfigurieren Sie stattdessen eine SQL Server-Notfallwiederherstellungstechnologie zwischen zwei Azure-Rechenzentren.Instead, consider configuring a SQL Server disaster recovery technology between two Azure data centers. Weitere Informationen finden Sie unter Hochverfügbarkeit und Notfallwiederherstellung für SQL Server auf virtuellen Azure-Computern.For more information, see High Availability and Disaster Recovery for SQL Server in Azure Virtual Machines.

Leitfaden für DatenträgerDisks guidance

Es gibt drei Haupttypen von Datenträgern auf einer Azure-VM:There are three main disk types on an Azure VM:

  • Betriebssystemdatenträger: Wenn Sie einen virtuellen Azure-Computer erstellen, fügt die Plattform dem virtuellen Computer mindestens einen Datenträger (mit der Bezeichnung Laufwerk C: ) für das Betriebssystem hinzu.OS disk: When you create an Azure Virtual Machine, the platform will attach at least one disk (labeled as the C drive) to the VM for your operating system disk. Bei diesem Datenträger handelt es sich um eine VHD, die als Seitenblob gespeichert wird.This disk is a VHD stored as a page blob in storage.
  • Temporärer Datenträger: Virtuelle Azure-Computer enthalten einen weiteren Datenträger, der als temporärer Datenträger bezeichnet wird (Laufwerk D: ).Temporary disk: Azure virtual machines contain another disk called the temporary disk (labeled as the D: drive). Dies ist ein Datenträger für temporären Speicherbereich auf dem Knoten.This is a disk on the node that can be used for scratch space.
  • Datenträger für Daten: Sie können dem virtuellen Computer auch weitere Datenträger für Daten hinzufügen. Diese werden als Seitenblobs im Speicher gespeichert.Data disks: You can also attach additional disks to your virtual machine as data disks, and these will be stored in storage as page blobs.

In den folgenden Abschnitten werden Empfehlungen zur Verwendung dieser unterschiedlichen Datenträger erläutert.The following sections describe recommendations for using these different disks.

Betriebssystem-DatenträgerOperating system disk

Ein Betriebssystem-Datenträger ist eine virtuelle Festplatte, die Sie als aktive Version eines Betriebssystems starten und einbinden können, und die als Laufwerk C bezeichnet ist.An operating system disk is a VHD that you can boot and mount as a running version of an operating system and is labeled as C drive.

Die für den Betriebssystem-Datenträger verwendete Caching-Standardrichtlinie ergibt Lesen/Schreiben.Default caching policy on the operating system disk is Read/Write. Für leistungsabhängige Anwendungen empfiehlt sich die Verwendung von Datenträgern für Daten anstelle des Betriebssystem-Datenträgers.For performance sensitive applications, we recommend that you use data disks instead of the operating system disk. Weitere Informationen finden Sie im Abschnitt über Datenträger für Daten weiter unten.See the section on Data Disks below.

Temporärer DatenträgerTemporary disk

Das temporäre Speicherlaufwerk, das als Laufwerk D: bezeichnet wird, wird nicht in Azure Blob Storage beibehalten.The temporary storage drive, labeled as the D: drive, is not persisted to Azure blob storage. Speichern Sie die Datenbank- oder Transaktionsprotokolldateien für Ihre Benutzer nicht auf Laufwerk D: .Do not store your user database files or user transaction log files on the D: drive.

Das temporäre Laufwerk auf virtuellen Computern der D-Serie, Dv2-Serie und G-Serie ist SSD-basiert.For D-series, Dv2-series, and G-series VMs, the temporary drive on these VMs is SSD-based. Falls Ihre Workload intensiv TempDB nutzt (beispielsweise für temporäre Objekte oder komplexe Verknüpfungen), kann das Speichern von TempDB auf Laufwerk D: zu einem höheren Durchsatz und einer geringeren TempDB-Wartezeit führen.If your workload makes heavy use of TempDB (such as temporary objects or complex joins), storing TempDB on the D drive could result in higher TempDB throughput and lower TempDB latency. Ein Beispielszenario finden Sie in der TempDB-Diskussion im folgenden Blogbeitrag: Storage Configuration Guidelines for SQL Server on Azure VM (Richtlinien zur Speicherkonfiguration für SQL Server auf einer Azure-VM).For an example scenario, see the TempDB discussion in the following blog post: Storage Configuration Guidelines for SQL Server on Azure VM.

Für virtuelle Computer, die SSD Premium unterstützen (DS-Serie, DSv2-Serie und GS-Serie), sollten Sie TempDB auf einem Datenträger speichern, der SSD Premium mit aktiviertem Lesecache unterstützt.For VMs that support premium SSDs (DS-series, DSv2-series, and GS-series), we recommend storing TempDB on a disk that supports premium SSDs with read caching enabled.

Es gibt eine Ausnahme von dieser Empfehlung: Wenn die „tempdb“-Auslastung schreibintensiv ist, können Sie eine höhere Leistung erzielen, indem Sie „tempdb“ auf dem lokalen Laufwerk D: speichern, das für diese Computergrößen auch SSD-basiert ist.There is one exception to this recommendation: if your TempDB usage is write-intensive, you can achieve higher performance by storing TempDB on the local D drive, which is also SSD-based on these machine sizes. Weitere Informationen finden Sie im Blogbeitrag Using SSDs with TempDB (Verwenden von SSDs mit TempDB).Review the Using SSDs with TempDB blog for more information.

DatenträgerData disks

  • Verwenden von Datenträgern für Daten- und Protokolldateien: Wenn Sie kein Datenträgerstriping verwenden, sollten Sie zwei P30-Datenträger vom Typ SSD Premium verwenden, wobei sich auf einem Datenträger die Protokolldateien und auf dem anderen die Daten- und TempDB-Dateien befinden (mit Ausnahme der oben erwähnten geschäftskritischen und schreibintensiven Workloads).Use data disks for data and log files: If you are not using disk striping, use two premium SSD P30 disks where one disk contains the log file(s) and the other contains the data and TempDB (except for mission critical and write-heavy workloads as mentioned above). Jeder Datenträger vom Typ SSD Premium stellt je nach Größe IOPs und Bandbreite (MB/s) bereit. Dies ist im Artikel Auswählen eines Datenträgertyps beschrieben.Each premium SSD provides a number of IOPs and bandwidth (MB/s) depending on its size, as depicted in the article, Select a disk type. Wenn Sie ein Verfahren zum Datenträgerstriping verwenden, z. B. Speicherplätze, erzielen Sie eine optimale Leistung, indem Sie zwei Pools einrichten, einen für die Protokolldatei(en) und den anderen für die Datendateien.If you are using a disk striping technique, such as Storage Spaces, you achieve optimal performance by having two pools, one for the log file(s) and the other for the data files. Wenn Sie jedoch planen, SQL Server-Failoverclusterinstanzen (FCI) zu verwenden, müssen Sie einen Pool konfigurieren.However, if you plan to use SQL Server Failover Cluster Instances (FCI), you must configure one pool.

    Tipp

    Hinweis

    Beim Bereitstellen einer SQL Server-VM im Portal haben Sie die Möglichkeit, Ihre Speicherkonfiguration zu bearbeiten.When you provision a SQL Server VM in the portal, you have the option of editing your storage configuration. Je nach Konfiguration konfiguriert Azure einen oder mehrere Datenträger.Depending on your configuration, Azure configures one or more disks. Mehrere Datenträger werden in einem einzelnen Speicherpool mit Striping zusammengefasst.Multiple disks are combined into a single storage pool with striping. Daten- und Protokolldateien befinden sich in dieser Konfiguration zusammen.Both the data and log files reside together in this configuration. Weitere Informationen finden Sie unter Speicherkonfiguration für SQL Server-VMs.For more information, see Storage configuration for SQL Server VMs.

  • Datenträgerstriping: Für einen höheren Durchsatz können Sie zusätzliche Datenträger für Daten hinzufügen und Datenträgerstriping verwenden.Disk Striping: For more throughput, you can add additional data disks and use Disk Striping. Um die Anzahl der Datenträger zu ermitteln, müssen Sie die Anzahl der IOPS und die Bandbreite analysieren, die für die Protokolldateien und für Ihre Daten und die TempDB-Dateien erforderlich sind.To determine the number of data disks, you need to analyze the number of IOPS and bandwidth required for your log file(s), and for your data and TempDB file(s). Beachten Sie, dass verschiedene VM-Größen über unterschiedliche Grenzwerte für die unterstützte Anzahl der IOPS und die Bandbreiten verfügen. Informationen finden Sie in den Tabellen zu IOPS pro Größe des virtuellen Computers.Notice that different VM sizes have different limits on the number of IOPs and bandwidth supported, see the tables on IOPS per VM size. Verwenden Sie die folgenden Richtlinien:Use the following guidelines:

    • Verwenden Sie Speicherplätze für Windows 8 und Windows Server 2012 oder höher mit den folgenden Richtlinien:For Windows 8/Windows Server 2012 or later, use Storage Spaces with the following guidelines:

      1. Legen Sie die Überlappung (Stripsetgröße) für OLTP-Workloads auf 64 KB (65536 Bytes) und für Data Warehousing-Workloads auf 256 KB (262144 Bytes) fest, um Leistungseinbußen durch falsche Partitionsausrichtung zu vermeiden.Set the interleave (stripe size) to 64 KB (65536 bytes) for OLTP workloads and 256 KB (262144 bytes) for data warehousing workloads to avoid performance impact due to partition misalignment. Dies muss mit PowerShell festgelegt werden.This must be set with PowerShell.
      2. Festgelegte Anzahl der Spalten = Anzahl der physischen Datenträger.Set column count = number of physical disks. Verwenden Sie PowerShell, wenn Sie mehr als 8 Datenträger (keine Server-Manager-Benutzeroberfläche) konfigurieren.Use PowerShell when configuring more than 8 disks (not Server Manager UI).

      PowerShell erstellt z.B. wie folgt einen neuen Speicherpool mit der Überlappungsgröße auf 64 KB und die Anzahl der Spalten auf 2:For example, the following PowerShell creates a new storage pool with the interleave size to 64 KB and the number of columns to 2:

      $PoolCount = Get-PhysicalDisk -CanPool $True
      $PhysicalDisks = Get-PhysicalDisk | Where-Object {$_.FriendlyName -like "*2" -or $_.FriendlyName -like "*3"}
      
      New-StoragePool -FriendlyName "DataFiles" -StorageSubsystemFriendlyName "Storage Spaces*" -PhysicalDisks $PhysicalDisks | New-VirtualDisk -FriendlyName "DataFiles" -Interleave 65536 -NumberOfColumns 2 -ResiliencySettingName simple –UseMaximumSize |Initialize-Disk -PartitionStyle GPT -PassThru |New-Partition -AssignDriveLetter -UseMaximumSize |Format-Volume -FileSystem NTFS -NewFileSystemLabel "DataDisks" -AllocationUnitSize 65536 -Confirm:$false 
      
    • 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.For Windows 2008 R2 or earlier, you can use dynamic disks (OS striped volumes) and the stripe size is always 64 KB. Beachten Sie, dass diese Option seit Windows 8 / Windows Server 2012 veraltet ist.Note that this option is deprecated as of Windows 8/Windows Server 2012. 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).For information, see the support statement at Virtual Disk Service is transitioning to Windows Storage Management API.

    • Bei Verwendung von Direkte Speicherplätze (Storage Spaces Direct, S2D) mit SQL Server-Failoverclusterinstanzen müssen Sie einen einzelnen Pool konfigurieren.If you are using Storage Spaces Direct (S2D) with SQL Server Failover Cluster Instances, you must configure a single pool. Auch wenn in einem einzelnen Pool unterschiedliche Volumes erstellt werden können, sollten Sie darauf achten, dass alle die gleichen Merkmale (z. B. die gleiche Cacherichtlinie) aufweisen.Note that although different volumes can be created on that single pool, they will all share the same characteristics, such as the same caching policy.

    • Bestimmen Sie auf Basis der erwarteten Auslastung die Anzahl der jedem Speicherpool zugeordneten Datenträger.Determine the number of disks associated with your storage pool based on your load expectations. Bedenken Sie, dass verschiedene VM-Größen unterschiedlich viele angefügte Datenträger für Daten unterstützen.Keep in mind that different VM sizes allow different numbers of attached data disks. Weitere Informationen finden Sie unter Größen für virtuelle Computer.For more information, see Sizes for Virtual Machines.

    • Wenn Sie keine Datenträger vom Typ SSD Premium nutzen (Entwicklungs-/Testszenarien), sollten Sie die für Ihre Größe des virtuellen Computers maximal unterstützte Anzahl von Datenträgern für Daten hinzufügen und Datenträgerstriping verwenden.If you are not using premium SSDs (dev/test scenarios), the recommendation is to add the maximum number of data disks supported by your VM size and use Disk Striping.

  • Cacherichtlinie: Berücksichtigen Sie die folgenden Empfehlungen für die Cacherichtlinie (abhängig von Ihrer Speicherkonfiguration).Caching policy: Note the following recommendations for caching policy depending on your storage configuration.

    • Wenn Sie separate Datenträger für Daten- und Protokolldateien verwenden, aktivieren Sie das Zwischenspeichern für Lesevorgänge für die Datenträger, auf denen Ihre Datendateien und TempDB-Datendateien gehostet werden.If you are using separate disks for data and log files, enable read caching on the data disks hosting your data files and TempDB data files. Dadurch lässt sich die Leistung mitunter erheblich verbessern.This can result in a significant performance benefit. Aktivieren Sie die Zwischenspeicherung nicht für den Datenträger mit der Protokolldatei, da sich dadurch die Leistung minimal verschlechtert.Do not enable caching on the disk holding the log file as this causes a minor decrease in performance.

    • Wenn Sie Datenträgerstriping in einem einzelnen Speicherpool verwenden, profitieren die meisten Workloads vom Zwischenspeichern für Lesevorgänge.If you are using disk striping in a single storage pool, most workloads will benefit from read caching. Wenn Sie gesonderte Speicherpools für die Protokoll- und Datendateien haben, aktivieren Sie die Zwischenspeicherung für Lesevorgänge nur für den Speicherpool der Datendateien.If you have separate storage pools for the log and data files, enable read caching only on the storage pool for the data files. Bei bestimmten schreiblastigen Workloads lässt sich unter Umständen ohne Zwischenspeicherung eine höhere Leistung erzielen.In certain heavy write workloads, better performance might be achieved with no caching. Dies kann nur im Rahmen von Tests ermittelt werden.This can only be determined through testing.

    • Die obigen Empfehlungen gelten für SSD Premium-Datenträger.The previous recommendations apply to premium SSDs. Wenn Sie keine SSD Premium-Datenträger verwenden, sollten Sie das Caching für reguläre Datenträger nicht aktivieren.If you are not using premium SSDs, do not enable any caching on any data disks.

    • Informationen zum Konfigurieren des Datenträgercachings finden Sie in den folgenden Artikeln.For instructions on configuring disk caching, see the following articles. Für das klassische Bereitstellungsmodell (ASM): Set-AzureOSDisk und Set-AzureDataDisk.For the classic (ASM) deployment model see: Set-AzureOSDisk and Set-AzureDataDisk. Für das Azure Resource Manager-Bereitstellungsmodell: Set-AzOSDisk und Set-AzVMDataDisk.For the Azure Resource Manager deployment model see: Set-AzOSDisk and Set-AzVMDataDisk.

      Warnung

      Beenden Sie den SQL Server-Dienst beim Ändern der Cacheeinstellung der Azure-VM-Datenträger, um eine Beschädigung der Datenbank zu vermeiden.Stop the SQL Server service when changing the cache setting of Azure VM disks to avoid the possibility of any database corruption.

  • Größe der NTFS-Zuordnungseinheiten: Beim Formatieren des Datenträgers für Daten empfiehlt es sich, als Größe der Zuordnungseinheiten für Daten- und Protokolldateien sowie für TempDB einen Wert von 64 KB zu verwenden.NTFS allocation unit size: When formatting the data disk, it is recommended that you use a 64-KB allocation unit size for data and log files as well as TempDB.

  • Bewährte Methoden für die Datenträgerverwaltung: Beenden Sie den SQL Server-Dienst, wenn Sie einen Datenträger für Daten entfernen oder dessen Cachetyp ändern.Disk management best practices: When removing a data disk or changing its cache type, stop the SQL Server service during the change. Wenn die Cacheeinstellungen auf dem Betriebssystemdatenträger geändert werden, beendet Azure den virtuellen Computer, ändert den Cachetyp und startet den virtuellen Computer neu.When the caching settings are changed on the OS disk, Azure stops the VM, changes the cache type, and restarts the VM. Wenn die Cacheeinstellungen eines Datenträgers für Daten geändert werden, wird der virtuelle Computer nicht beendet, aber der Datenträger für Daten wird während der Änderung vom virtuellen Computer getrennt und dann erneut angefügt.When the cache settings of a data disk are changed, the VM is not stopped, but the data disk is detached from the VM during the change and then reattached.

    Warnung

    Beenden Sie den SQL Server-Dienst während dieser Vorgänge nicht, kann eine Beschädigung der Datenbank die Folge sein.Failure to stop the SQL Server service during these operations can cause database corruption.

E/A-LeitfadenI/O guidance

  • Die besten Ergebnisse mit SSD Premium-Datenträgern werden erzielt, wenn Sie Ihre Anwendung und Anforderungen parallelisieren.The best results with premium SSDs are achieved when you parallelize your application and requests. SSD Premium ist für Szenarien bestimmt, in denen die E/A-Warteschlangentiefe größer als 1 ist, sodass nur geringe oder gar keine Leistungssteigerungen für serielle Singlethread-Anforderungen erreicht werden (auch wenn sie speicherintensiv sind).Premium SSDs are designed for scenarios where the IO queue depth is greater than 1, so you will see little or no performance gains for single-threaded serial requests (even if they are storage intensive). Dies kann sich z. B. auf die Singlethread-Testergebnisse der Leistungsanalysetools, z. B. SQLIO, auswirken.For example, this could impact the single-threaded test results of performance analysis tools, such as SQLIO.

  • Ziehen Sie die Verwendung der Datenbankseitenkomprimierung in Betracht, weil Sie dadurch die Leistung von E/A-intensiven Workloads verbessern können.Consider using database page compression as it can help improve performance of I/O intensive workloads. Die Datenkomprimierung erhöht jedoch möglicherweise den CPU-Verbrauch auf dem Datenbankserver.However, the data compression might increase the CPU consumption on the database server.

  • Erwägen Sie die Aktivierung der sofortigen Dateiinitialisierung, um die für die anfängliche Dateizuordnung erforderliche Zeit zu verringern.Consider enabling instant file initialization to reduce the time that is required for initial file allocation. Um die sofortige Dateiinitialisierung nutzen zu können, gewähren Sie dem SQL Server-Dienstkonto (MSSQLSERVER) die Berechtigung SE_MANAGE_VOLUME_NAME, und fügen Sie es zur Sicherheitsrichtlinie Durchführen von Volumewartungsaufgaben hinzu.To take advantage of instant file initialization, you grant the SQL Server (MSSQLSERVER) service account with SE_MANAGE_VOLUME_NAME and add it to the Perform Volume Maintenance Tasks security policy. Wenn Sie ein SQL Server-Plattformimage für Azure verwenden, wird das Standarddienstkonto (NT Service\MSSQLSERVER) nicht der Sicherheitsrichtlinie Durchführen von Volumewartungsaufgaben hinzugefügt.If you are using a SQL Server platform image for Azure, the default service account (NT Service\MSSQLSERVER) isn’t added to the Perform Volume Maintenance Tasks security policy. Anders ausgedrückt: Die sofortige Dateiinitialisierung wird in einem SQL Server Azure-Plattformimages nicht aktiviert.In other words, instant file initialization is not enabled in a SQL Server Azure platform image. Starten Sie den SQL Server-Dienst neu, nachdem Sie das SQL Server-Dienstkonto der Sicherheitsrichtlinie Durchführen von Volumewartungsaufgaben hinzugefügt haben.After adding the SQL Server service account to the Perform Volume Maintenance Tasks security policy, restart the SQL Server service. Möglicherweise sind bei Verwendung dieses Features bestimmte Sicherheitsaspekte zu berücksichtigen.There could be security considerations for using this feature. Weitere Informationen finden Sie unter Datenbankdatei-Initialisierung.For more information, see Database File Initialization.

  • automatische Vergrößerung gilt lediglich als Behelfslösung für unerwartetes Wachstum.autogrow is considered to be merely a contingency for unexpected growth. Führen Sie die tägliche Verwaltung Ihres Daten- und Protokolldateiwachstums nicht durch automatische Vergrößerung.Do not manage your data and log growth on a day-to-day basis with autogrow. Wenn die automatische Vergrößerung verwendet wird, vergrößern Sie die Datei vorab mit dem Switch "Größe".If autogrow is used, pre-grow the file using the Size switch.

  • Stellen Sie sicher, dass Automatische Verkleinerung deaktiviert ist, um unnötigen Mehraufwand zu vermeiden, der sich negativ auf die Leistung auswirken kann.Make sure autoshrink is disabled to avoid unnecessary overhead that can negatively affect performance.

  • Verschieben Sie alle Datenbanken, einschließlich der Systemdatenbanken, auf Datenträger für Daten.Move all databases to data disks, including system databases. Weitere Informationen finden Sie unter Verschieben von Systemdatenbanken.For more information, see Move System Databases.

  • Verschieben Sie die Verzeichnisse für das SQL Server-Fehlerprotokoll und die Ablaufverfolgungsdateien auf die Datenträger für Daten.Move SQL Server error log and trace file directories to data disks. Dies können Sie mit dem SQL Server-Konfigurations-Manager vornehmen, indem Sie mit der rechten Maustaste auf die SQL Server-Instanz klicken und „Eigenschaften“ auswählen.This can be done in SQL Server Configuration Manager by right-clicking your SQL Server instance and selecting properties. Die Einstellungen für Fehlerprotokolle und Ablaufverfolgungsdateien können auf der Registerkarte Startparameter geändert werden. Das Sicherungsverzeichnis wird auf der Registerkarte Erweitert angegeben. Der folgende Screenshot zeigt, wo sich der Startparameter für Fehlerprotokolle befindet.The error log and trace file settings can be changed in the Startup Parameters tab. The Dump Directory is specified in the Advanced tab. The following screenshot shows where to look for the error log startup parameter.

    Screenshot eines SQL-Fehlerprotokolls

  • Richten Sie standardmäßige Dateispeicherorte für Sicherungen und Datenbanken ein.Setup default backup and database file locations. Verwenden Sie die Empfehlungen in diesem Artikel, und nehmen Sie die Änderungen im Fenster mit den Servereigenschaften vor.Use the recommendations in this article, and make the changes in the Server properties window. Eine Anleitung finden Sie unter Anzeigen oder Ändern der Standardspeicherorte für Daten- und Protokolldateien (SQL Server Management Studio).For instructions, see View or Change the Default Locations for Data and Log Files (SQL Server Management Studio). Der folgende Screenshot zeigt, wo diese Änderungen vorgenommen werden.The following screenshot demonstrates where to make these changes.

    Datenprotokoll- und Sicherungsdateien für SQL

  • Aktivieren Sie gesperrte Seiten, um E/A- und Auslagerungsaktivitäten zu verringern.Enable locked pages to reduce IO and any paging activities. Weitere Informationen finden Sie unter Aktivieren der Option zum Sperren von Seiten im Speicher (Windows).For more information, see Enable the Lock Pages in Memory Option (Windows).

  • Wenn Sie SQL Server 2012 ausführen, installieren Sie Service Pack 1, kumulatives Update 10.If you are running SQL Server 2012, install Service Pack 1 Cumulative Update 10. Dieses Update enthält ein Fix für schlechte E/A-Leistung beim Ausführen von SELECT in temporären Tabellenanweisungen in SQL Server 2012This update contains the fix for poor performance on I/O when you execute select into temporary table statement in SQL Server 2012. Informationen hierzu finden Sie in diesem Knowledge Base-Artikel.For information, see this knowledge base article.

  • Es könnte auch sinnvoll sein, alle Datendateien beim Übertragen in bzw. aus Azure zu komprimieren.Consider compressing any data files when transferring in/out of Azure.

Featurespezifische AnleitungenFeature-specific guidance

Für manche Bereitstellungen können durch Verwendung erweiterter Konfigurationsmethoden zusätzliche Leistungsvorteile erzielt werden.Some deployments may achieve additional performance benefits using more advanced configuration techniques. In der folgenden Liste sind einige SQL Server-Features zusammengestellt, mit denen Sie eine bessere Leistung erzielen können:The following list highlights some SQL Server features that can help you to achieve better performance:

Sicherung in Azure StorageBackup to Azure Storage

Wenn Sie Sicherungen für eine SQL Server-Instanz durchführen, die auf virtuellen Azure-Computern ausgeführt wird, können Sie die SQL Server-Sicherung über URLs verwenden.When performing backups for SQL Server running in Azure virtual machines, you can use SQL Server Backup to URL. Dieses Feature steht ab SQL Server 2012 SP1 CU2 zur Verfügung und wird für Sicherungen auf die angefügten Datenträgern für Daten empfohlen.This feature is available starting with SQL Server 2012 SP1 CU2 and recommended for backing up to the attached data disks. Bei Sicherungen/Wiederherstellungen nach/von Azure Storage folgen Sie den Empfehlungen unter SQL Server-URL-Sicherung – bewährte Methoden und Problembehandlungund „Wiederherstellen von in Microsoft Azure gespeicherten Sicherungen“.When you backup/restore to/from Azure storage, follow the recommendations provided at SQL Server Backup to URL Best Practices and Troubleshooting and Restoring from Backups Stored in Azure Storage. Darüber hinaus können Sie diese Sicherungen mit automatisierten Sicherungen für SQL Server auf virtuellen Azure-Computernautomatisieren.You can also automate these backups using Automated Backup for SQL Server in Azure Virtual Machines.

In Versionen vor SQL Server 2012 können Sie das Microsoft SQL Server Backup to Microsoft Azure Toolverwenden.Prior to SQL Server 2012, you can use SQL Server Backup to Azure Tool. Dieses Tool hilft, den Sicherungsdurchsatz durch Verwenden mehrerer Sicherungsstripeset-Ziele zu erhöhen.This tool can help to increase backup throughput using multiple backup stripe targets.

SQL Server-Datendateien in AzureSQL Server Data files in Azure

Das neue Feature SQL Server-Datendateien in Azure ist ab SQL Server 2014 verfügbar.This new feature, SQL Server Data Files in Azure, is available starting with SQL Server 2014. Das Ausführen von SQL Server mit Datendateien in Azure zeigt vergleichbare Leistungseigenschaften wie die Verwendung von Azure-Datenträgern.Running SQL Server with data files in Azure demonstrates comparable performance characteristics as using Azure data disks.

Failoverclusterinstanz und SpeicherplätzeFailover cluster instance and Storage Spaces

Wenn Sie Speicherplätze verwenden, deaktivieren Sie beim Hinzufügen von Knoten zum Cluster auf der Seite Bestätigung das Kontrollkästchen Der gesamte geeignete Speicher soll dem Cluster hinzugefügt werden.If you are using Storage Spaces, when adding nodes to the cluster on the Confirmation page, clear the checkbox labeled Add all eligible storage to the cluster.

Deaktivieren von geeignetem Speicher

Wenn Sie Speicherplätze verwenden und das Kontrollkästchen Der gesamte geeignete Speicher soll dem Cluster hinzugefügt werden. nicht deaktivieren, trennt Windows die virtuellen Datenträger während des Clusterprozesses.If you are using Storage Spaces and do not uncheck Add all eligible storage to the cluster, Windows detaches the virtual disks during the clustering process. Sie werden daher erst im Datenträger-Manager oder -Explorer angezeigt, nachdem die Speicherplätze aus dem Cluster entfernt und mithilfe von PowerShell erneut angefügt wurden.As a result, they do not appear in Disk Manager or Explorer until the storage spaces are removed from the cluster and reattached using PowerShell. Mit Speicherplätzen werden mehrere Datenträger in Speicherpools gruppiert.Storage Spaces groups multiple disks in to storage pools. Weitere Informationen finden Sie unter Speicherplätze.For more information, see Storage Spaces.

Nächste SchritteNext steps

Weitere Informationen zu Speicher und Leistung finden Sie unter Richtlinien für die Speicherkonfiguration für SQL Server auf virtuellen Azure-Computern.For more information about storage and performance, see Storage Configuration Guidelines for SQL Server on Azure VM

Best Practices für die Sicherheit finden Sie unter Sicherheitsüberlegungen für SQL Server auf virtuellen Azure-Computern.For security best practices, see Security Considerations for SQL Server in Azure Virtual Machines.

Weitere Artikel zu virtuellen SQL Server-Computern finden Sie unter Übersicht zu SQL Server auf virtuellen Azure-Computern.Review other SQL Server Virtual Machine articles at SQL Server on Azure Virtual Machines Overview. Falls Sie Fragen zu SQL Server-VMs haben, finden Sie in den häufig gestellten Fragen weitere Informationen.If you have questions about SQL Server virtual machines, see the Frequently Asked Questions.