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 – Verwenden Sie VM-Größen mit mindestens 4 vCPUs wie E4S_v3 oder höher oder DS12_v2 oder höher.- Use VM sizes with 4 or more vCPU like E4S_v3 or higher, or DS12_v2 or higher.

- Die Es-, Eas-, Ds- und Das-Serie bietet das optimale Verhältnis von Arbeitsspeicher zu vCPU, das für die Leistung von OLTP-Workloads erforderlich ist.- Es, Eas, Ds and Das Series offers the optimum memory to vCPU ratio required for OLTP workload performance.

- Die M-Serie bietet das größte Verhältnis von Arbeitsspeicher zu vCPU, das für unternehmenskritische Leistungen erforderlich ist, und ist ideal für Data Warehouse-Workloads geeignet.- M Series offers the highest memory to vCPU ratio required for mission critical performance and is ideal for data warehouse workloads.

– Erfassen Sie die Anforderungen für IOPS, Durchsatz und Latenz der Zielworkload zu Spitzenzeiten, indem Sie die Checkliste mit Anforderungen an die Anwendungsleistung verwenden und dann die VM-Größe auswählen, die für die Leistungsanforderungen Ihrer Workload skaliert werden kann.- Collect the target workload's IOPS, throughput and latency requirements at peak times by following the application performance requirements checklist and then select the VM Size that can scale to your workload's performance requirements.
SpeicherStorage – Ausführliche Informationen zum Testen der SQL Server-Leistung auf virtuellen Azure-Computern mit TPC-E- und TPC_C-Benchmarks finden Sie im Blog Optimieren der OLTP-Leistung.- For detailed testing of SQL Server performance on Azure VMs with TPC-E and TPC_C benchmarks, refer to the blog Optimize OLTP performance.

– Verwenden Sie SSD Premium für die besten Preis-/Leistungsvorteile.- Use premium SSDs for the best price/performance advantages. Konfigurieren Sie ReadOnly-Cache für Datendateien und keinen Cache für die Protokolldatei.Configure ReadOnly cache for data files and no cache for the log file.

– Verwenden Sie Ultra Disks, wenn für die Workload weniger als 1 ms Speicherlatenz erforderlich ist.- Use Ultra Disks if less than 1 ms storage latencies are required by the workload.

– Erfassen Sie die Speicherlatenzanforderungen für SQL Server-Daten-, Protokoll- und Temp DB-Dateien, indem Sie die Anwendung überwachen, bevor Sie den Datenträgertyp auswählen.- Collect the storage latency requirements for SQL Server data, log, and Temp DB files by monitoring the application before choosing the disk type. Wenn Speicherlatenzzeiten unter einer Millisekunde erforderlich sind, verwenden Sie Ultra Disks, ansonsten SSD Premium.If <1ms storage latencies are required, then use Ultra Disks, otherwise use premium SSD. Wenn niedrige Latenzen nur für die Protokolldatei und nicht für Datendateien erforderlich sind, stellen Sie die Ultra Disk auf den erforderlichen IOPS- und Durchsatzebenen nur für die Protokolldatei bereit.If low latencies are only required for the log file and not for data files, then provision the Ultra Disk at required IOPS and throughput levels only for the log File.

- Premium-Dateifreigaben werden als freigegebener Speicher für eine SQL Server-Failoverclusterinstanz empfohlen.- Premium file shares are recommended as shared storage for a SQL Server failover cluster Instance. Premium-Dateifreigaben unterstützen keine Zwischenspeicherung und bieten im Vergleich zu SSD Premium-Datenträgern eingeschränkte Leistung.Premium file shares do not support caching, and offer limited performance compared to premium SSD disks. Wählen Sie verwaltete SSD Premium-Datenträger und keine Premium-Dateifreigaben für eigenständige SQL-Instanzen aus, nutzen Sie aber Premium-Dateifreigaben für freigegebenen Speicher der Failoverclusterinstanz für einfache Verwaltung und flexible Skalierbarkeit.Choose premium SSD-managed disks over premium file shares for standalone SQL instances; but leverage premium file shares for failover cluster instance shared storage for ease of maintenance and flexible scalability.

– Standardspeicher wird nur für Entwicklungs- und Testzwecke oder für Sicherungsdateien empfohlen und sollte nicht für Produktionsworkloads verwendet werden.- Standard storage is only recommended for development and test purposes or for backup files and should not be used for production workloads.

- 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 georedundanten Azure-Speicher (Georeplikation) für das Speicherkonto.- Disable Azure geo-redundant storage (geo-replication) on the storage account.
DatenträgerDisks – Verwenden Sie mindestens 2 SSD Premium-Datenträger (1 Datenträger für Protokolldatei und 1 Datenträger für Datendateien).- Use a minimum of 2 premium SSD disks (1 for log file and 1 for data files).

– Aktivieren Sie für Workloads, die E/A-Latenzen < 1 ms erfordern, die Schreibbeschleunigung für die M-Serie, und verwenden Sie SSD Ultra-Datenträger für die Es- und DS-Serie.- For workloads requiring <1 ms IO latencies, enable write accelerator for M series and consider using Ultra SSD disks for Es and DS series.

– Aktivieren Sie schreibgeschützte Zwischenspeicherung für die Datenträger, auf denen die Datendateien gehostet werden.- Enable read only caching on the disk(s) hosting the data files.

– Fügen Sie 20 % mehr Premium-IOPS-/-Durchsatzkapazität hinzu, als Ihre Workload erfordert, wenn Sie den Speicher für SQL Server-Daten, -Protokolle und TempDB-Dateien konfigurieren.- Add additional 20% premium IOPS/throughput capacity than your workload requires when configuring storage for SQL Server data, log, and TempDB files

- 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 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 Speicherdurchsatz zu erzielen.- Stripe multiple Azure data disks to get increased storage 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). Wenn Sie die VM über das Azure Portal oder mit Azure-Schnellstartvorlagen erstellen und Temp DB auf dem lokalen Datenträger gespeichert wird, sind keine weiteren Maßnahmen erforderlich. In allen anderen Fällen befolgen Sie die Schritte im Blog zum Verwenden von SSDs zum Speichern von TempDB, um Fehler nach Neustarts zu vermeiden.If you create the VM from Azure portal or Azure quickstart templates and place Temp DB on the Local Disk then you do not need any further action; for all other cases follow the steps in the blog for Using SSDs to store TempDB to prevent failures after restarts. Wenn die Kapazität des lokalen Laufwerks für die Größe von Temp DB nicht ausreicht, platzieren Sie Temp DB in einem Speicherpool als Stripeset auf SSD Premium-Datenträgern mit schreibgeschützter Zwischenspeicherung.If the capacity of the local drive is not enough for your Temp DB size, then place Temp DB on a storage pool stripped on premium SSD disks with read-only caching.
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.

– Konfigurieren Sie standardmäßige Dateispeicherorte für Sicherungen und Datenbanken.- Configure default backup and database file locations.

- Aktivieren Sie gesperrte Seiten im Arbeitsspeicher.- Enable locked pages in memory.

- 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.

– Verwenden Sie Dateimomentaufnahmen-Sicherungen für Datenbanken, die größer als 12 TB sind.- Use file snapshot backups for databases larger than 12 TB.

– Verwenden Sie mehrere Temp DB-Dateien, 1 Datei pro Kern, bis zu 8 Dateien.- Use multiple Temp DB files, 1 file per core, up to 8 files.

– Legen Sie den maximalen Arbeitsspeicher des Servers auf 90 % oder bis zu 50 GB für das Betriebssystem verbleibend fest.- Set max server memory at 90% or up to 50 GB left for the Operating System.

– Aktivieren Sie Soft-NUMA.- Enable soft NUMA.

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 the following sections.

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

Beginnen Sie mit der Erfassung der CPU-, Arbeitsspeicher- und Speicherdurchsatzanforderungen der Workload zu Spitzenzeiten.Start by collecting the cpu, memory, and storage throughput requirements of the workload at peak times. Die Leistungsindikatoren \LogicalDisk\Disk Reads/Sec und \LogicalDisk\Disk Writes/Sec können verwendet werden, um Lese- und Schreib-IOPS-Anforderungen zu erfassen, und der Leistungsindikator \LogicalDisk\Disk Bytes/Sec kann verwendet werden, um Speicherdurchsatzanforderungen für Daten-, Protokoll- und Temp DB-Dateien zu erfassen.\LogicalDisk\Disk Reads/Sec and \LogicalDisk\Disk Writes/Sec performance counters can be used to collect read and write IOPS requirements and \LogicalDisk\Disk Bytes/Sec counter can be used to collect storage throughput requirements for Data, Log, and Temp DB files. Nachdem IOPS- und Durchsatzanforderungen in Spitzenzeiten definiert wurden, werten Sie die VM-Größen aus, die diese Kapazität bieten.After IOPS and throughput requirements at peak are defined then evaluate VM sizes offers that capacity. Wenn Ihre Workload beispielsweise 20 K Lese-IOPS und 10 K Schreib-IOPS in Spitzenzeiten erfordert, können Sie entweder E16s_v3 (mit bis zu 32 K zwischengespeicherten und 25.600 nicht zwischengespeicherten IOPS) oder M16_s (mit bis zu 20 K zwischengespeicherten und 10 K nicht zwischengespeicherten IOPS) mit 2 P30-Datenträgern auswählen.For example if your workload requires 20 K read IOPS and 10K write IOPS at peak, you can either choose E16s_v3 (with up to 32 K cached and 25600 uncached IOPS) or M16_s (with up to 20 K cached and 10K uncached IOPS) with 2 P30 disks. Stellen Sie sicher, dass Sie sowohl die Durchsatz- als auch die IOPS-Anforderungen der Workload verstehen, da VMs unterschiedliche Skalierungsgrenzen für IOPS und Durchsatz aufweisen.Make sure to understand both throughput and IOPS requirements of the workload as VMs has different scale limits for IOPS and throughput.

Die DSv_3- und Es_v3-Serien werden auf allgemeiner Hardware mit Intel Haswell--oder Broadwell-Prozessoren gehostet.DSv_3 and Es_v3-series are hosted on general purpose hardware with Intel Haswell or Broadwell processors. Die M-Serie bietet die höchste vCPU-Anzahl und den größten Arbeitsspeicher für die größten SQL Server-Workloads und wird auf arbeitsspeicheroptimierter Hardware mit der Skylake-Prozessorfamilie gehostet.M-series offers the highest vCPU count and memory for the largest SQL Server workloads and hosted on memory optimized hardware with Skylake processor family. Diese VM-Serien unterstützen Premium-Speicher, der für die beste Leistung mit Lesecache auf Hostebene empfohlen wird.These VM series support premium storage, which is recommended for the best performance with host level read cache. Die Es_v3- und M-Serien sind auch mit eingeschränkten Kerngrößen erhältlich, was Kosten bei Workloads mit geringeren Compute- und größeren Speicherkapazitätsanforderungen spart.Both Es_v3 and M series are also available in constrained core sizes, which saves money for workloads with lower compute and high storage capacity demands.

Leitfaden für SpeicherStorage guidance

Ausführliche Informationen zum Testen der SQL Server-Leistung auf virtuellen Azure-Computern mit TPC-E- und TPC_C-Benchmarks finden Sie im Blog Optimieren der OLTP-Leistung.For detailed testing of SQL Server performance on Azure VMs with TPC-E and TPC_C benchmarks, refer to the blog Optimize OLTP performance.

Für alle Produktionsworkloads wird Azure-Blobcache mit SSD Premium empfohlen.Azure blob cache with premium SSDs is 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 im Azure-Blobspeicher 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.

Speichern Sie TempDB für unternehmenskritische SQL Server-Workloads auf dem lokalen SSD-Laufwerk D:\ (nachdem Sie die richtige VM-Größe ausgewählt haben).Place TempDB on the local SSD D:\ drive for mission critical SQL Server workloads (after choosing correct VM size). Wenn Sie die VM über das Azure Portal oder mit Azure-Schnellstartvorlagen erstellen und Temp DB auf dem lokalen Datenträger gespeichert wird, sind keine weiteren Maßnahmen erforderlich. In allen anderen Fällen befolgen Sie die Schritte im Blog zum Verwenden von SSDs zum Speichern von TempDB, um Fehler nach Neustarts zu vermeiden.If you create the VM from Azure portal or Azure quickstart templates and place Temp DB on the Local Disk, then you do not need any further action; for all other cases follow the steps in the blog for Using SSDs to store TempDB to prevent failures after restarts. Wenn die Kapazität des lokalen Laufwerks für die Größe von Temp DB nicht ausreicht, platzieren Sie Temp DB in einem Speicherpool als Stripeset auf SSD Premium-Datenträgern mit schreibgeschützter Zwischenspeicherung.If the capacity of the local drive is not enough for your Temp DB size, then place Temp DB on a storage pool stripped on premium SSD disks with read-only caching.

Für VMs, die SSD Premium unterstützen, können Sie TempDB auch auf einem Datenträger speichern, der SSD Premium mit aktiviertem Lesecache unterstützt.For VMs that support premium SSDs, you can also store TempDB on a disk that supports premium SSDs with read caching enabled.

DatenträgerData disks

  • Verwenden Sie SSD Premium-Datenträgern für Daten- und Protokolldateien: Wenn Sie kein Datenträgerstriping verwenden, sollten Sie zwei Datenträger vom Typ SSD Premium verwenden, wobei sich auf einem Datenträger die Protokolldatei und auf dem anderen die Daten befinden.Use premium SSD disks for data and log files: If you are not using disk striping, use two premium SSD disks where one disk contains the log file and the other contains the data. Jeder Datenträger vom Typ SSD Premium stellt je nach Größe verschiedene IOPS und Bandbreite (MB/s) bereit. Dies wird 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 oder stattdessen Premium-Dateifreigaben verwenden.However, if you plan to use SQL Server failover cluster instances (FCI), you must configure one pool, or utilize premium file shares instead.

    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 (65.536 Bytes) und für Data Warehousing-Workloads auf 256 KB (262.144 Bytes) fest, um Leistungseinbußen durch falsche Partitionsausrichtung zu vermeiden.Set the interleave (stripe size) to 64 KB (65,536 bytes) for OLTP workloads and 256 KB (262,144 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. Diese Option ist seit Windows 8/Windows Server 2012 veraltet.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 für einen einzelnen Pool unterschiedliche Volumes erstellt werden können, weisen diese alle die gleichen Merkmale (z.B. die gleiche Cacherichtlinie) auf.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. Weitere Informationen zum Azure Resource Manager-Bereitstellungsmodell finden Sie hier: 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 StorageBack up 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.