Erstellen einer FCI mit einer Premium-Dateifreigabe (SQL Server auf Azure-VMs)

Gilt für: SQL Server auf Azure-VMs

In diesem Artikel wird erläutert, wie Sie auf virtuellen Azure-Computern eine SQL Server-Failoverclusterinstanz (FCI) mit SQL Server mithilfe einer Premium-Dateifreigabe erstellen.

Premium-Dateifreigaben sind SSD-gesichert und bieten durchgängig Dateifreigaben mit niedriger Latenz, die vollständig für die Verwendung mit Failover-Cluster-Instanzen für SQL Server 2012 oder höher auf Windows Server 2012 oder höher unterstützt werden. Premium-Dateifreigaben bieten Ihnen mehr Flexibilität, sodass Sie ohne Ausfallzeiten die Größe der Dateifreigabe ändern und diese skalieren können.

Weitere Informationen finden Sie in der Übersicht zu FCI mit SQL Server auf Azure-VMs und über Bewährte Methoden für Cluster.

Hinweis

Sie können Ihre Failoverclusterinstanzlösung jetzt mithilfe von Azure Migrate per Lift-und-Shift-Verfahren zu SQL Server auf Azure-VMs verschieben. Weitere Informationen finden Sie unter Migrieren einer Failoverclusterinstanz.

Voraussetzungen

Bevor Sie die in diesem Artikel aufgeführten Anweisungen ausführen, sollten Sie über Folgendes verfügen:

Tipp

Vereinfachen Sie Ihre Bereitstellung, indem Sie Ihre SQL Server-Virtual Machines (VMs) in mehreren Subnetzen innerhalb desselben virtuellen Azure-Netzwerks erstellen. So benötigen Sie keine Azure Load Balancer-Instanz und keinen verteilten Netzwerknamen (DNN) für Ihre Failoverclusterinstanz.

Einbinden der Premium-Dateifreigabe

Gehen Sie folgendermaßen vor, um Ihre Premium-Dateifreigabe einzubinden:

  1. Melden Sie sich beim Azure-Portal an, und navigieren Sie zu Ihrem Speicherkonto.

  2. Navigieren Sie unter Datenspeicher zu Dateifreigaben, und wählen Sie die Premium-Dateifreigabe aus, die Sie als SQL-Speicher verwenden möchten.

  3. Klicken Sie auf Verbinden, um die Verbindungszeichenfolge für Ihre Dateifreigabe anzuzeigen.

  4. Wählen Sie in der Dropdownliste den Laufwerkbuchstaben aus, den Sie verwenden möchten, wählen Sie Speicherkontoschlüssel als Authentifizierungsmethode aus, und kopieren Sie dann den Codeblock in einen Text-Editor, z. B. Editor.

    Screenshot zum Kopieren des PowerShell-Befehls aus dem Portal zum Herstellen der Verbindung mit der Dateifreigabe.

  5. Verwenden Sie das Remote Desktop Protocol (RDP), um eine Verbindung zur SQL Server-VM mit dem Konto herzustellen, das Ihr SQL Server FCI für das Dienstkonto verwenden wird.

  6. Öffnen Sie eine administrative PowerShell-Befehlskonsole.

  7. Führen Sie den Befehl aus, den Sie zuvor aus dem Dateifreigabeportal in den Text-Editor kopiert haben.

  8. Navigieren Sie über den Datei-Explorer oder das Dialogfeld Ausführen (WINDOWS+R auf der Tastatur) zur Freigabe. Verwenden Sie den Netzwerkpfad \\storageaccountname.file.core.windows.net\filesharename. Zum Beispiel, \\sqlvmstorageaccount.file.core.windows.net\sqlpremiumfileshare

  9. Erstellen Sie in der neu verbundenen Dateifreigabe mindestens einen Ordner, in dem Sie Ihre SQL-Datendateien ablegen können.

  10. Wiederholen Sie diese Schritte auf jeder SQL Server-VM, die zum Cluster gehört.

Wichtig

Erwägen Sie den Einsatz einer gesonderten Dateifreigabe für Sicherungsdateien, um die IOPS- (Input/Output Operations Per Second, Ein-/Ausgabevorgänge pro Sekunde) und Größenkapazität dieser Freigabe für Daten- und Protokolldateien zu reservieren. Sie können für Sicherungsdateien eine Dateifreigaben des Typs Standard oder Premium verwenden.

Windows Failover Cluster erstellen

Die Schritte zum Erstellen ihres Windows Server-Failover-Clusters unterscheiden sich zwischen einzelnen Subnetz- und Multi-Subnetzumgebungen. Um Ihren Cluster zu erstellen, folgen Sie den Schritten in der Anleitung entweder für ein Multi-Subnetz-Szenario oder ein Einzel-Subnetz-Szenario. Obwohl diese Anleitungen eine Verfügbarkeitsgruppe erstellen, sind die Schritte zur Erstellung des Clusters die gleichen wie für eine Failoverclusterinstanz.

Konfigurieren des Quorums

Der Cloud Witness ist die empfohlene Quorum-Lösung für diese Art von Clusterkonfiguration für SQL Server auf Azure-VMs.

Wenn Sie im Cluster über eine gerade Anzahl von Stimmen verfügen, konfigurieren Sie die Quorumlösung, die Ihren Geschäftsanforderungen am besten entspricht. Weitere Informationen finden Sie unter Quorum mit SQL Server-VMs.

Validieren des Clusters

Validieren Sie den Cluster auf einer der virtuellen Maschinen mithilfe der Failover Cluster Manager-Benutzeroberfläche oder PowerShell.

Um den Cluster über die Benutzeroberfläche zu validieren, gehen Sie auf einem der beiden virtuellen Computer folgendermaßen vor:

  1. Wählen Sie in Server-Manager die Option Tools aus, und wählen Sie dann Failovercluster-Manager aus.

  2. Klicken Sie im Failovercluster-Manager mit der rechten Maustaste auf den Cluster, und wählen Sie Cluster überprüfen aus, um den Konfigurations-Assistenten zu öffnen.

  3. Wählen Sie im Assistenten zum Überprüfen eines Konfigurations-Assistenten Weiter aus.

  4. Geben Sie auf der Seite Server oder Cluster auswählen die Namen der beiden virtuellen Computer ein.

  5. Wählen Sie auf der Seite Testoptionen die Option Nur ausgewählte Tests ausführen aus.

  6. Wählen Sie Weiter aus.

  7. Wählen Sie auf der Seite Testauswahl alle Tests aus, ausgenommen Speicher und Direkte Speicherplätze:

    Screenshot zum Auswählen von Clustervalidierungstests.

  8. Wählen Sie Weiter aus.

  9. Wählen Sie auf der Bestätigungsseite die Option Weiter aus. Der Konfigurationsüberprüfungs-Assistent führt die Validierungstests aus.

Führen Sie zum Validieren des Clusters mit PowerShell das folgende Skript in einer PowerShell-Administratorsitzung auf einem der virtuellen Computer aus:

Test-Cluster –Node ("<node1>","<node2>") –Include "Inventory", "Network", "System Configuration"

Testen des Failovers des Clusters

Testen Sie das Failover Ihres Clusters. Klicken Sie im Failovercluster-Manager mit der rechten Maustaste auf den Cluster, und wählen Sie Weitere Aktionen>Hauptclusterressource verschieben>Knoten auswählen und dann den anderen Knoten des Clusters aus. Verschieben Sie die Hauptclusterressource auf alle Knoten des Clusters und dann zurück auf den primären Knoten. Wenn Sie den Cluster erfolgreich auf jeden Knoten verschieben können, können Sie SQL Server installieren.

Screenshot zum Testen des Clusterfailovers durch Verschieben der Hauptressource auf die anderen Knoten.

Erstellen der SQL Server-FCI

Nachdem Sie den Failovercluster und alle Clusterkomponenten einschließlich Speicher konfiguriert haben, können Sie die SQL Server-FCI erstellen.

Erstellen des ersten Knotens in der SQL-FCI

Führen Sie die folgenden Schritte aus, um den ersten Knoten im SQL Server-FCI zu erstellen:

  1. Stellen Sie die Verbindung mit dem ersten virtuellen Computer per RDP oder Bastion her.

  2. Stellen Sie im Failovercluster-Manager sicher, dass sich alle Kernressourcen des Clusters auf dem ersten virtuellen Computer befinden. Verschieben Sie alle Ressourcen auf diesen virtuellen Computer, falls dies erforderlich ist.

  3. Wenn die Version des Betriebssystems Windows Server 2019 ist und der Windows-Cluster mit dem standardmäßigen DNN (Distributed Network Name)erstellt wurde, tritt bei der FCI-Installation für SQL Server 2017 und frühere Versionen der Fehler The given key was not present in the dictionary auf.

    Während der Installation fragt das SQL Server-Setup den vorhandenen VNN (Virtual Network Name) ab und erkennt den DNN des Windows-Clusters nicht. Das Problem wurde im SQL Server 2019-Setup behoben. Führen Sie für SQL Server 2017 und Vorgängerversionen die folgenden Schritte aus, um den Installationsfehler zu vermeiden:

    • Stellen Sie im Failovercluster-Manager eine Verbindung mit dem Cluster her, klicken Sie mit der rechten Maustaste auf Rollen, und wählen Sie Leere Rolle erstellen aus.
    • Klicken Sie mit der rechten Maustaste auf die neu erstellte leere Rolle, und wählen Sie Ressource hinzufügen und dann Clientzugriffspunkt aus.
    • Geben Sie einen beliebigen Namen ein, und schließen Sie den Assistenten ab, um den Clientzugriffspunkt zu erstellen.
    • Nach Abschluss der SQL Server FCI-Installation kann die Rolle mit dem temporären Clientzugriffspunkt gelöscht werden.
  4. Suchen Sie nach den Installationsmedien. Wenn für den virtuellen Computer eines der Azure Marketplace-Images verwendet wird, befinden sich die Medien unter C:\SQLServer_<version number>_Full.

  5. Wählen Sie Setup aus.

  6. Wählen Sie im SQL Server-Installationscenter die Option Installation aus.

  7. Wählen Sie Neue SQL Server-Failoverclusterinstallation aus, und befolgen Sie dann die Anweisungen im Assistenten, um die SQL Server-FCI zu installieren.

  8. Auf der Seite Cluster-Netzwerkkonfiguration variiert die IP, die Sie angeben, je nachdem, ob Ihre SQL Server-VMs in einem einzelnen Subnetz oder in mehreren Subnetzen bereitgestellt wurden.

    1. Für eine Einzelsubnetz-Umgebung geben Sie die IP-Adresse an, die Sie dem Azure Load Balancer hinzufügen möchten.
    2. Für eine Multi-Subnetz-Umgebung, geben Sie die sekundäre IP-Adresse im Subnetz der ersten SQL Server-VM an, die Sie zuvor als IP-Adresse des Netzwerknamens der Failover-Cluster-Instanz festgelegt haben:

    Screenshot der sekundären IP-Adresse im Subnetz der ersten VM.

  9. In Database Engine Configuration müssen sich die Datenverzeichnisse auf der Premium-Dateifreigabe befinden. Geben Sie den vollständigen Pfad der Freigabe im folgenden Format ein: \\storageaccountname.file.core.windows.net\filesharename\foldername. Es erscheint eine Warnung, die Sie darauf hinweist, dass Sie einen Dateiserver als Datenverzeichnis angegeben haben. Diese Warnung ist erwartungsgemäß. Vergewissern Sie sich zur Vermeidung möglicher Fehler, dass das Benutzerkonto, mit dem Sie beim persistenten Speichern der Dateifreigabe über RDP auf die VM zugegriffen haben, dasselbe Konto ist, das der SQL Server-Dienst verwendet.

    Screenshot zur Verwendung der Dateifreigabe als SQL-Datenverzeichnisse.

  10. Nachdem Sie die Schritte im Assistenten abgeschlossen haben, installiert Setup eine SQL Server FCI auf dem ersten Knoten.

Hinzufügen zusätzlicher Knoten der SQL-FCI

Führen Sie die folgenden Schritte aus, um dem SQL Server-FCI einen zusätzlichen Knoten hinzuzufügen:

  1. Nachdem die FCI-Installation auf dem ersten Knoten erfolgreich war, verbinden Sie sich über RDP oder Bastion mit dem zweiten Knoten.

  2. Öffnen Sie das SQL Server-Installationscenter, und wählen Sie Installation aus.

  3. Wählen Sie Knoten einem SQL Server-Failovercluster hinzufügen aus. Folgen Sie den Anweisungen des Assistenten, um SQL Server zu installieren und den Knoten zur FCI hinzuzufügen.

  4. Für ein Szenario mit mehreren Subnetzen geben Sie in Cluster-Netzwerkkonfiguration die sekundäre IP-Adresse im Subnetz der zweiten SQL Server-VM ein, die Sie zuvor als IP-Adresse des Netzwerknamens der Failover-Clusterinstanz

    Screenshot zur Eingabe der sekundären IP-Adresse im Subnetz der zweiten SQL Server-VM.

    Nach Auswahl von Weiter in Cluster-Netzwerkkonfiguration zeigt das Setup ein Dialogfeld an, das anzeigt, dass das SQL Server-Setup mehrere Subnetze erkannt hat, wie im Beispielbild. Klicken Sie auf Ja, um zu bestätigen.

    Screenshot der Bestätigung für mehrere Subnetze.

  5. Nachdem Sie die Anweisungen des Assistenten ausgeführt haben, fügt das Setup den zweiten SQL Server FCI-Knoten hinzu.

  6. Wiederholen Sie diese Schritte auf allen anderen Knoten, die Sie der SQL Server-Failoverclusterinstanz hinzufügen möchten.

Hinweis

Die Galeriebilder des Azure Marketplace werden mit installiertem SQL Server Management Studio geliefert. Wenn Sie kein Marketplace-Image verwendet haben Laden Sie SQL Server Management Studio (SSMS) herunter .

Registrieren eines virtuellen Computers mit der SQL-IaaS-Agent-Erweiterung

Um Ihre SQL Server-VM über das Portal zu verwalten, registrieren Sie sie bei der SQL-IaaS-Agent-Erweiterung.

Hinweis

Zu diesem Zeitpunkt unterstützen SQL Server-Failoverclusterinstanzen auf virtuellen Azure-Computern, die mit der SQL IaaS-Agent-Erweiterung registriert sind, nur eine begrenzte Anzahl von Features, die über die grundlegende Registrierung verfügbar sind, und nicht diejenigen, die den Agent erfordern, z. B. automatisierte Backups, Patchen, Microsoft Entra-Authentifizierung und erweiterte Portalverwaltung. Weitere Informationen finden Sie in der Tabelle mit den Vorteilen.

Registrieren Sie eine SQL Server-VM mit PowerShell (-LicenseType kann PAYG oder AHUB sein):

# Get the existing compute VM
$vm = Get-AzVM -Name <vm_name> -ResourceGroupName <resource_group_name>

# Register SQL VM with SQL IaaS Agent extension
New-AzSqlVM -Name $vm.Name -ResourceGroupName $vm.ResourceGroupName -Location $vm.Location `
   -LicenseType <license_type>

Konfigurieren von Konnektivität

Wenn Sie Ihre SQL Server-VMs in mehreren Subnetzen bereitgestellt haben, überspringen Sie diesen Schritt. Wenn Sie Ihre SQL Server-VMs in einem einzigen Subnetz bereitgestellt haben, müssen Sie eine zusätzliche Komponente konfigurieren, um den Datenverkehr zu Ihrer FCI zu leiten. Sie können einen virtuellen Netzwerknamen (VNN) mit einem Azure Load Balancer oder einen verteilten Netzwerknamen für eine Failover-Cluster-Instanz konfigurieren. Überprüfen Sie die Unterschiede zwischen den beiden und stellen Sie dann entweder einen verteilten Netzwerknamen oder einen virtuellen Netzwerknamen und Azure Load Balancer für Ihre Failover-Cluster-Instanz bereit.

Begrenzungen

  • FILESTREAM wird für einen Failovercluster mit einer Premium-Dateifreigabe nicht unterstützt. Um Filestream zu verwenden, stellen Sie den Cluster stattdessen mithilfe von Direkte Speicherplätze oder von freigegebenen Azure-Datenträgern bereit.
  • Datenbankmomentaufnahmen werden bei Azure Files aufgrund von Einschränkungen für Sparsedateienderzeit nicht unterstützt.
  • Da Datenbankmomentaufnahmen nicht unterstützt werden, greift CHECKDB für Benutzerdatenbanken auf CHECKDB WITH TABLOCK zurück. TABLOCK beschränkt die ausgeführten Überprüfungen. DBCC CHECKCATALOG wird nicht für die Datenbank ausgeführt, und die Service Broker-Daten werden nicht überprüft.
  • DBCC CHECKDB wird in den Datenbanken master und msdb nicht unterstützt.
  • Datenbanken, die das In-Memory-OLTP-Feature verwenden, werden auf einer Failoverclusterinstanz, die mit einer Premium-Dateifreigabe bereitgestellt wird, nicht unterstützt. Wenn Ihr Unternehmen In-Memory-OLTP erfordert, sollten Sie stattdessen die Bereitstellung Ihrer FCI mit freigegebenen Azure-Datenträgern oder direkten Speicherplätzen in Betracht ziehen.
  • Microsoft Distributed Transaction Coordinator (MSDTC) wird von SQL Server auf Azure VM-Failoverclusterinstanzen, die für Premium-Dateifreigaben bereitgestellt werden, nicht unterstützt. Weitere Informationen finden Sie unter FCI-Einschränkungen.
  • Microsoft Distributed Transaction Coordinator (MS DTC) wird auf virtuellen Azure-Computern ab Windows Server 2019 und später unterstützt, wenn sie auf dedizierten Freigegebenen Clustervolumes (CSVs) und unter Verwendung eines Load Balancer Standard bereitgestellt werden. MSDTC wird unter Windows Server 2016 und früher nicht unterstützt.

Eingeschränkte Erweiterungsunterstützung

Zu diesem Zeitpunkt unterstützen SQL Server-Failoverclusterinstanzen auf virtuellen Azure-Computern, die mit der SQL IaaS-Agent-Erweiterung registriert sind, nur eine begrenzte. Anzahl von Features, die über die grundlegende Registrierung verfügbar sind, und nicht diejenigen, die den Agent erfordern, z. B. automatisierte Backups, Patchen, Microsoft Entra-Authentifizierung und erweiterte Portalverwaltung. Weitere Informationen finden Sie in der Tabelle mit den Vorteilen.

Wenn Ihre SQL Server-VM bereits bei der SQL IaaS Agent-Erweiterung registriert wurde, und Sie Features aktiviert haben, die den Agent erfordern, müssen Sie die Erweiterungvon der SQL Server-VM löschen, indem Sie die SQL-VM-Ressource für die entsprechenden VMs löschen und sie dann erneut bei der SQL IaaS Agent-Erweiterung registrieren. Wenn Sie die Ressource Virtueller SQL-Computer mithilfe des Azure-Portals löschen, deaktivieren Sie das Kontrollkästchen neben dem richtigen virtuellen Computer, um das Löschen dieses Computers zu verhindern.