In dieser Anleitung wird beschrieben, wie Sie eine Microsoft SQL Server Always On-Verfügbarkeitsgruppe auf Compute Engine-VM-Instanzen mit Google Cloud NetApp Volumes-Blockspeicher mit dem iSCSI-Protokoll (Internet Small Computer System Interface) bereitstellen. Wenn Sie NetApp Volumes für Ihren SQL Server-Speicher verwenden, haben Sie Zugriff auf einen leistungsstarken, vollständig verwalteten Speicherdienst mit erweiterten Datenverwaltungsfunktionen wie Snapshots und Klonen.
Ziele
In dieser Anleitung werden Sie durch die folgenden Aufgaben geführt:Kosten
In dieser Anleitung werden die folgenden kostenpflichtigen Komponenten von Google Cloudverwendet:Mit dem Preisrechner können Sie eine Kostenschätzung für Ihre voraussichtliche Nutzung vornehmen.
Hinweis
Bevor Sie beginnen, benötigen Sie Folgendes:
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
- Ein Google Cloud -Projekt mit Administratorberechtigungen für Compute Engine, Networking, Identity and Access Management und Cloud Storage.
- Ein VPC-Netzwerk mit einem Subnetz in Ihrer Zielregion.
- Active Directory- und DNS-Dienste, die in der Region eingerichtet wurden.
- Ein Active Directory-Nutzer mit Berechtigungen, Computern der Domain beizutreten und über RDP auf VMs zuzugreifen.
- Achten Sie darauf, dass VPC-Firewallregeln Traffic zwischen Knoten für iSCSI (TCP 3260), WSFC (UDP/TCP 3343), SQL Server (TCP 1433), SQL Server AG-Endpunkte (TCP 5022), SMB (TCP 445) und RPC (TCP 135, TCP 49152–65535) zulassen.
- Aktivieren Sie die NetApp Volumes API.
-
In the Google Cloud console, activate Cloud Shell.
Domainkonten konfigurieren
Konfigurieren Sie zwei Active Directory-Konten für SQL Server:
- Installationskonto: Ein Konto mit Domainadministratorberechtigungen (z. B. DOMAIN\DomainAdmin), um sich in VMs anzumelden und den Cluster und die Verfügbarkeitsgruppe zu konfigurieren.
- Dienstkonto: Ein Konto (z. B. DOMAIN\sqlsvc) für den SQL Server-Dienst und den SQL Agent-Dienst auf beiden SQL Server-VMs.
Compute Engine-VMs für SQL Server erstellen
Erstellen Sie zwei Compute Engine-Instanzen (
sqlnode1undsqlnode2), auf denen SQL Server 2022 Enterprise unter Windows Server 2025 ausgeführt wird:Rufen Sie in der Google Cloud Console die Seite Instanz erstellen auf.
Geben Sie für Name
sqlnode1ein.Wählen Sie im Abschnitt Maschinenkonfiguration die Option Allgemeiner Zweck aus und führen Sie dann die folgenden Schritte aus:
- Wählen Sie in der Liste Serie die Option N4 aus.
- Wählen Sie in der Liste Maschinentyp die Option n4-highmem-8 (8 vCPUs, 64 GB Arbeitsspeicher) aus.
Wählen Sie die Region und die Zone aus, in der Sie Ihre VPC konfiguriert haben.
Klicken Sie im Abschnitt Bootlaufwerk auf Ändern und gehen Sie dann so vor:
- Wählen Sie auf dem Tab Öffentliche Images in der Liste Betriebssystem die Option SQL Server auf Windows Server aus.
- Wählen Sie in der Liste Version die Option SQL Server 2022 Enterprise auf Windows Server 2025 Datacenter aus.
- Wählen Sie in der Liste Bootlaufwerktyp die Option Hyperdisk Balanced aus.
- Legen Sie die Größe (GB) auf
50fest. - Klicken Sie auf Auswählen, um die Konfiguration des Bootlaufwerks zu speichern.
Maximieren Sie den Abschnitt Erweiterte Optionen und dann Netzwerk.
Wählen Sie unter Netzwerkschnittstellen die VPC und das Subnetz für Ihr Projekt aus.
Wählen Sie in der Liste Typ der Netzwerkkarte die Option gVNIC aus.
Wählen Sie für Netzwerkdienststufe die Option Premium aus.
Klicken Sie auf Erstellen.
Wiederholen Sie diese Schritte, um eine zweite Instanz mit dem Namen
sqlnode2zu erstellen.
Server mit der Domäne verbinden und für das Clustering vorbereiten
Führen Sie diese Schritte sowohl auf
sqlnode1als auch aufsqlnode2aus:- Stellen Sie mit einem lokalen Administratorkonto eine Verbindung zur VM her.
- Wählen Sie im Server-Manager die Option Lokaler Server aus.
- Wählen Sie den Link ARBEITSGRUPPE aus.
- Wählen Sie im Bereich Computername die Option Ändern aus.
- Klicken Sie das Kästchen Domain an, geben Sie Ihren Domainnamen ein (z. B.
cvsdemo.internal) und klicken Sie auf OK. - Geben Sie im Dialogfeld Windows-Sicherheit die Anmeldedaten für Ihr Domainadministratorkonto ein und klicken Sie auf OK.
- Wenn die Willkommensnachricht für die Domain angezeigt wird, führen Sie die folgenden Schritte aus: a. Klicken Sie auf OK. b. Klicken Sie auf Schließen und wählen Sie dann Jetzt neu starten aus.
- Nachdem die VM neu gestartet wurde, stellen Sie mit Ihrem Domainadministrator-Konto eine Verbindung zu ihr her.
- Fügen Sie das Konto
DOMAIN\sqlsvcder lokalen Gruppe Administratoren auf der VM hinzu. Sie können den folgenden PowerShell-Befehl verwenden:Add-LocalGroupMember -Group "Administrators" -Member "DOMAIN\sqlsvc"
Öffnen Sie PowerShell als Administrator und führen Sie die folgenden Befehle aus, um die erforderlichen Windows-Funktionen zu installieren:
# Install Failover Clustering and tools Install-WindowsFeature Failover-Clustering, RSAT-Clustering-PowerShell, RSAT-Clustering-CmdInterface -IncludeAllSubFeature -IncludeManagementTools # Install and enable MPIO for iSCSI Install-WindowsFeature -Name Multipath-IO Enable-MSDSMAutomaticClaim -BusType "iSCSI" # Install .NET and other SQL prereqs Install-WindowsFeature NET-Framework-45-Core, NET-Framework-45-Features Install-WindowsFeature RSAT-AD-PowerShell
Führen Sie
iscsicpl.exeaus, rufen Sie den Tab Konfiguration auf und kopieren Sie den Initiatorname, um den qualifizierten iSCSI-Namen (IQN) für die VM abzurufen. Alternativ können Sie den folgenden PowerShell-Befehl ausführen:Get-InitiatorPort | Select-Object NodeAddress
Notieren Sie den IQN für
sqlnode1undsqlnode2. Sie benötigen sie im nächsten Abschnitt. Beispiel:iqn.1991-05.com.microsoft:sqlnode1.cvsdemo.internal.
Blockspeicher-Volumes für NetApp Volumes erstellen
Gehen Sie so vor, um eine Hostgruppe, einen Speicherpool und iSCSI-Volumes zu erstellen.
Hostgruppe erstellen
Eine Hostgruppe sorgt dafür, dass nur die angegebenen Hosts (Ihre SQL Server-VMs) auf die von Ihnen erstellten Volumes zugreifen können.
Erstellen Sie in Cloud Shell eine Hostgruppe mit den IQNs von
sqlnode1undsqlnode2:gcloud netapp host-groups create HOST_GROUP_NAME
--location=LOCATION
--type=ISCSI_INITIATOR
--hosts=SQLNODE1_IQN,SQLNODE2_IQN
--os-type=WINDOWS
--description="SQL Server AG nodes"Ersetzen Sie die folgenden Informationen:
HOST_GROUP_NAME: Der Name der Hostgruppe, z. B.sql-ag-hosts.LOCATION: Die Region für Ihre Hostgruppe, z. B.us-west1.SQLNODE1_IQN: Die IQN vonsqlnode1.SQLNODE2_IQN: Die IQN vonsqlnode2.
Speicherpool bereitstellen
Erstellen Sie in Cloud Shell einen Speicherpool für Ihre Volumes:
gcloud netapp storage-pools create POOL_NAME
--project=PROJECT_ID
--location=ZONE
--service-level=Flex
--type=Unified
--capacity=1024
--total-throughput=64
--total-iops=1024
--network=name=VPC_NAME,psa-range=PSA_RANGE_NAMEErsetzen Sie die folgenden Informationen:
POOL_NAME: Der Name für den Speicherpool, z. B.sql-pool.PROJECT_ID: Ihre Google Cloud Projekt-IDZONE: Die Zone für Ihren Speicherpool, die mit der Zone Ihrer VMs übereinstimmen muss, z. B.us-west1-b.VPC_NAME: Der Name des VPC-Netzwerk.PSA_RANGE_NAME: Der Name des zugewiesenen Bereichs Ihrer Private Services Access-Verbindung.
Volumes erstellen
Erstellen Sie für jeden Knoten separate Volumes für SQL Server-Daten, ‑Logs, ‑tempdb und ‑Sicherungen.
Führen Sie in Cloud Shell den folgenden Befehl für jedes Volume aus, das Sie erstellen müssen:
gcloud netapp volumes create VOLUME_NAME
--project=PROJECT_ID
--location=ZONE
--storage-pool=POOL_NAME
--capacity=200
--protocols=ISCSI
--block-devices="name=VOLUME_NAME,host-groups=projects/PROJECT_ID/locations/LOCATION/hostGroups/HOST_GROUP_NAME,os-type=WINDOWS"
--snapshot-directory=falseErsetzen Sie
VOLUME_NAMEdurch einen eindeutigen Namen für jedes Volume. Für diese Anleitung mit zwei Knoten müssen Sie den Befehl achtmal ausführen, um Volumes für Daten, Logs, tempdb und Back-ups für jeden Knoten zu erstellen (z. B.sqlnode1-data,sqlnode1-log,sqlnode1-temp,sqlnode1-backup,sqlnode2-data,sqlnode2-log,sqlnode2-tempundsqlnode2-backup).
iSCSI-Volumes auf jeder SQL-VM bereitstellen
Hängen Sie für jede VM (
sqlnode1undsqlnode2) die Volumes ein, die Sie für den jeweiligen Knoten erstellt haben.Rufen Sie in der Google Cloud Console die Seite Volumes für NetApp Volumes auf.
Wählen Sie ein Volume aus, das dem Knoten zugewiesen ist, den Sie konfigurieren. Notieren Sie sich die im Abschnitt Zieldetails für iSCSI aufgeführten IP-Adressen des Zielportals. Sie benötigen diese Adressen, um eine Verbindung zum Volume herzustellen.
Öffnen Sie auf der VM PowerShell als Administrator und führen Sie den folgenden Befehl aus. Ersetzen Sie dabei die Beispiel-IPs durch die Zielportal-IPs für Ihr Volumen:
"10.165.128.216","10.165.128.217" | ForEach-Object { New-IscsiTargetPortal -TargetPortalAddress $_ }Führen Sie
iscsicpl.exeaus, um die iSCSI-Initiatoreigenschaften zu öffnen.Rufen Sie den Tab Ziele auf, wählen Sie eines Ihrer Volumenziele aus der Liste aus und klicken Sie auf Verbinden.
Wählen Sie im Dialogfeld Mit Ziel verbinden die Option Multipfad aktivieren aus und klicken Sie auf Erweitert.
Gehen Sie im Dialogfeld Erweiterte Einstellungen so vor:
- Local adapter (Lokaler Adapter): Wählen Sie Microsoft iSCSI Initiator aus.
- Initiator-IP: Wählen Sie eine IP-Adresse auf der VM aus.
- Ziel-Portal-IP: Wählen Sie eine der ermittelten Portal-IPs aus.
- Klicken Sie auf OK.
Klicken Sie im Dialogfeld Mit Ziel verbinden auf OK.
Wiederholen Sie die Verbindungsschritte für alle Ziele, die mit der VM verknüpft sind.
Wenn Sie MPIO für iSCSI-Geräte konfigurieren möchten, öffnen Sie die MPIO-Eigenschaften über die Systemsteuerung oder den Server-Manager.
Klicken Sie auf den Tab Multi-Paths entdecken.
Wählen Sie Unterstützung für iSCSI-Geräte hinzufügen aus und klicken Sie auf Hinzufügen. Starten Sie die VM neu, wenn Sie dazu aufgefordert werden.
Öffnen Sie nach dem Neustart den Gerätemanager und maximieren Sie Laufwerke. Ihre iSCSI-Festplatte wird als Multipath-Gerät angezeigt.
Öffnen Sie die Datenträgerverwaltung (
compmgmt.msc). Gehen Sie für jedes neue Laufwerk so vor:- Stellen Sie das Laufwerk online.
- Initialisieren Sie das Laufwerk (GPT).
- Erstellen Sie ein neues Volume, weisen Sie ihm einen Laufwerkbuchstaben zu (z. B. D für Daten, E für Protokolle, F für Sicherungen, G für tempdb) und formatieren Sie es mit NTFS mit einer Größe der Zuweisungseinheit von 64 K.
Erstellen Sie die Verzeichnisstruktur für SQL Server auf den neu formatierten Laufwerken. Beispiel:
$paths = "D:\MSSQL\DATA","E:\MSSQL\Log","F:\MSSQL\Backup","G:\MSSQL\Temp" $paths | ForEach-Object { New-Item -ItemType Directory -Path $_ -Force }
SQL Server konfigurieren
Führen Sie diese Schritte sowohl auf
sqlnode1als auch aufsqlnode2aus, nachdem Sie die jeweiligen Volumes gemountet haben.- Öffnen Sie den SQL Server-Konfigurations-Manager.
- Wählen Sie im linken Bereich SQL Server-Dienste aus.
- Klicken Sie im rechten Bereich mit der rechten Maustaste auf SQL Server (MSSQLSERVER), wählen Sie Eigenschaften aus, rufen Sie den Tab Anmelden auf und ändern Sie den Kontonamen in Ihr Dienstkonto (DOMAIN\sqlsvc). Geben Sie das Passwort ein und klicken Sie auf OK.
- Wiederholen Sie den vorherigen Schritt für SQL Server-Agent (MSSQLSERVER).
- Stellen Sie mit Ihrem Domainadministratorkonto über SQL Server Management Studio (SSMS) eine Verbindung zur SQL Server-Instanz her.
- Erstellen Sie Anmeldedaten für das Dienstkonto und gewähren Sie ihm die erforderlichen Berechtigungen:
USE [master]; GO CREATE LOGIN [DOMAIN\sqlsvc] FROM WINDOWS WITH DEFAULT_DATABASE=[master], DEFAULT_LANGUAGE=[us_english]; GO ALTER SERVER ROLE [sysadmin] ADD MEMBER [DOMAIN\sqlsvc]; GO
- Führen Sie das folgende Skript in SSMS aus, um die Standardpfade für Datenbank, Log, Sicherung und tempdb zu den iSCSI-Volumes umzuleiten, die Sie bereitgestellt haben:
USE [master]; GO EXEC xp_instance_regwrite N'HKEY_LOCAL_MACHINE', N'Software\Microsoft\MSSQLServer\MSSQLServer', N'BackupDirectory', REG_SZ, N'F:\MSSQL\Backup'; GO EXEC xp_instance_regwrite N'HKEY_LOCAL_MACHINE', N'Software\Microsoft\MSSQLServer\MSSQLServer', N'DefaultData', REG_SZ, N'D:\MSSQL\DATA'; GO EXEC xp_instance_regwrite N'HKEY_LOCAL_MACHINE', N'Software\Microsoft\MSSQLServer\MSSQLServer', N'DefaultLog', REG_SZ, N'E:\MSSQL\Log'; GO -- Modify model and msdb paths ALTER DATABASE model MODIFY FILE (NAME = modeldev, FILENAME = 'D:\MSSQL\DATA\model.mdf'); ALTER DATABASE model MODIFY FILE (NAME = modellog, FILENAME = 'E:\MSSQL\Log\modellog.ldf'); ALTER DATABASE msdb MODIFY FILE (NAME = MSDBData, FILENAME = 'D:\MSSQL\DATA\MSDBData.mdf'); ALTER DATABASE msdb MODIFY FILE (NAME = MSDBLog, FILENAME = 'E:\MSSQL\Log\MSDBLog.ldf'); GO -- Modify tempdb paths ALTER DATABASE tempdb MODIFY FILE (NAME = tempdev, FILENAME = 'G:\MSSQL\Temp\tempdb.mdf'); ALTER DATABASE tempdb MODIFY FILE (NAME = templog, FILENAME = 'G:\MSSQL\Temp\templog.ldf'); GO
- Stoppen Sie den Dienst SQL Server (MSSQLSERVER).
- Verschieben Sie die vorhandenen Dateien
model,msdbundtempdbvon ihren alten Speicherorten (z. B.C:\Program Files\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQL\DATA) an ihre neuen Speicherorte auf den Laufwerken D:, E: und G:. - So verschieben Sie die
master-Datenbank undERRORLOG:- Öffnen Sie den SQL Server-Konfigurations-Manager.
- Klicken Sie mit der rechten Maustaste auf SQL Server (MSSQLSERVER), wählen Sie Eigenschaften aus und rufen Sie den Tab Startparameter auf.
- Wählen Sie für jeden vorhandenen Parameter
-d,-eund-l, der auf das Laufwerk C: verweist, den Parameter aus und klicken Sie auf Entfernen. - Fügen Sie die folgenden Parameter hinzu und klicken Sie für jeden auf Hinzufügen:
-dD:\MSSQL\DATA\master.mdf-lE:\MSSQL\Log\mastlog.ldf-eE:\MSSQL\Log\ERRORLOG
- Klicken Sie auf OK.
- Verschieben Sie
master.mdfundmastlog.ldfmanuell vonC:\Program Files\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQL\DATAnachD:\MSSQL\DATA\` andE:\MSSQL\Log`. - Verschieben Sie die Datei
ERRORLOGvon ihrem alten Speicherort nach „E:\MSSQL\Log“.
- Starten Sie den Dienst SQL Server (MSSQLSERVER).
Windows Server Failover-Clustering einrichten
Gehen Sie so vor, um den Cluster zu erstellen und einen Quorum-Zeugen zu konfigurieren.
Windows-Firewall konfigurieren
Achten Sie vor dem Erstellen des Clusters darauf, dass die Windows-Firewall auf jedem Knoten Traffic für WSFC, SQL Server und iSCSI zulässt.
Öffnen Sie auf
sqlnode1undsqlnode2PowerShell als Administrator und führen Sie die folgenden Befehle aus:New-NetFirewallRule -DisplayName 'Failover Clusters (UDP-In)' -Direction Inbound -Protocol UDP -LocalPort 3343 -Action Allow New-NetFirewallRule -DisplayName 'Failover Clusters (TCP-In)' -Direction Inbound -Protocol TCP -LocalPort 3343 -Action Allow New-NetFirewallRule -DisplayName 'RPC Endpoint Mapper' -Direction Inbound -Protocol TCP -LocalPort 135 -Action Allow New-NetFirewallRule -DisplayName 'File and Printer Sharing (SMB-In)' -Direction Inbound -Protocol TCP -LocalPort 445 -Action Allow New-NetFirewallRule -DisplayName 'Failover Cluster Manager RPC' -Direction Inbound -Protocol TCP -LocalPort 49152-65535 -Action Allow New-NetFirewallRule -DisplayName 'iSCSI' -Direction Inbound -Protocol TCP -LocalPort 3260 -Action Allow New-NetFirewallRule -DisplayName 'SQL Server' -Direction Inbound -Protocol TCP -LocalPort 1433 -Action Allow New-NetFirewallRule -DisplayName 'SQL Server AG Endpoint' -Direction Inbound -Protocol TCP -LocalPort 5022 -Action Allow
Cluster erstellen
- Öffnen Sie auf
sqlnode1den Failovercluster-Manager (cluadmin.msc). - Wählen Sie im Bereich Verwaltung die Option Konfiguration validieren aus. Folgen Sie dem Assistenten, um
sqlnode1undsqlnode2zu validieren. Sorgen Sie dafür, dass alle Tests bestanden werden, bevor Sie fortfahren. - Wählen Sie nach der Validierung Cluster erstellen aus.
- Fügen Sie im Cluster-Erstellungsassistenten
sqlnode1undsqlnode2als Clusterknoten hinzu. - Geben Sie unter Zugriffspunkt für die Verwaltung des Clusters einen Clustername ein (z. B.
sqlcluster) und geben Sie eine statische IP-Adresse für den Cluster an. - Folgen Sie der Anleitung, um den Cluster zu erstellen.
Dateifreigabe für das Cluster-Quorum erstellen
Wir empfehlen, eine Dateifreigabe auf einer dritten VM zu erstellen, vorzugsweise in einer anderen Zone, die als Quorumzeuge des Clusters dient.
- Stellen Sie eine Verbindung zu der VM her, die Sie als Dateifreigabenzeugen verwenden möchten.
- Wählen Sie im Fenster Server-Manager die Option Extras > Computerverwaltung aus.
- Maximieren Sie Systemtools > Freigegebene Ordner, klicken Sie mit der rechten Maustaste auf Freigaben und wählen Sie Neue Freigabe aus.
- Folgen Sie dem Assistenten zum Erstellen eines freigegebenen Ordners. Suchen Sie auf der Seite Ordnerpfad nach einem Ordner für die Freigabe oder erstellen Sie einen.
- Wählen Sie auf der Seite Berechtigungen die Option Berechtigungen anpassen aus.
- Klicken Sie auf Hinzufügen und gewähren Sie dem Konto des Clusternamenobjekts (CNO) (z. B.
sqlcluster$) die Berechtigung Vollzugriff. - Schließen Sie den Assistenten ab, um die Freigabe zu erstellen.
Clusterquorum konfigurieren
- Öffnen Sie auf
sqlnode1den Failovercluster-Manager. - Klicken Sie mit der rechten Maustaste auf den Clusternamen und wählen Sie Weitere Aktionen > Clusterquorumeinstellungen konfigurieren aus.
- Wählen Sie im Assistenten zum Konfigurieren des Cluster-Quorums die Option Weiter aus.
- Wählen Sie auf der Seite Quorumkonfigurationsoption auswählen die Option Quorumzeugen auswählen aus und klicken Sie auf Weiter.
- Wählen Sie auf der Seite Quorumzeuge auswählen die Option Dateifreigabenzeugen konfigurieren aus und klicken Sie auf Weiter.
- Geben Sie unter Dateifreigabepfad den Pfad zur erstellten Freigabe ein, z. B.
\\witness-server\quorum, und klicken Sie auf Weiter. - Bestätigen Sie die Einstellungen und klicken Sie auf Weiter und dann auf Fertigstellen.
Always On-Verfügbarkeitsgruppen konfigurieren
Führen Sie die Schritte in diesem Abschnitt für beide SQL Server-VMs aus, um die Verfügbarkeitsgruppe zu aktivieren und zu konfigurieren.
Verfügbarkeitsgruppen in SQL Server aktivieren
- Öffnen Sie den SQL Server-Konfigurations-Manager.
- Wählen Sie im Browserbaum SQL Server-Dienste aus.
- Klicken Sie mit der rechten Maustaste auf SQL Server (MSSQLSERVER) und wählen Sie Eigenschaften aus.
- Wählen Sie den Tab Always On-Hochverfügbarkeit und dann Always On-Verfügbarkeitsgruppen aktivieren aus.
- Klicken Sie auf Übernehmen und dann auf OK. Starten Sie den SQL Server-Dienst neu.
Datenbank für die Verfügbarkeitsgruppe erstellen
- Stellen Sie mit SSMS eine Verbindung zu
sqlnode1her. - Klicken Sie im Bereich Object Explorer mit der rechten Maustaste auf Databases und wählen Sie New Database aus.
- Geben Sie
MyDB1für den Datenbanknamen ein und klicken Sie auf OK. - Klicken Sie mit der rechten Maustaste auf
MyDB1und wählen Sie Aufgaben > Sichern aus. Führen Sie eine vollständige Sicherung durch. Das Datenbankwiederherstellungsmodell muss Full sein. - Klicken Sie mit der rechten Maustaste auf
MyDB1und wählen Sie Aufgaben > Sichern aus. Führen Sie eine Sicherung des Transaktionslogs durch. - Kopieren Sie die Dateien mit Vollsicherungen und Sicherungen der Transaktionslogs nach
sqlnode2. - Stellen Sie mit SSMS eine Verbindung zu
sqlnode2her. Klicken Sie mit der rechten Maustaste auf Datenbanken und wählen Sie Datenbank wiederherstellen aus. - Stellen Sie die vollständige Sicherung von
MyDB1aussqlnode1wieder her und geben Sie auf der Seite Optionen die Option RESTORE WITH NORECOVERY an. - Klicken Sie mit der rechten Maustaste auf
MyDB1insqlnode2und wählen Sie Aufgaben > Wiederherstellen > Transaktionsprotokoll aus. Stellen Sie die Sicherung des Transaktionslogs wieder her und geben Sie dabei auch RESTORE WITH NORECOVERY an.
Verfügbarkeitsgruppe erstellen
- Stellen Sie mit SSMS eine Verbindung zu
sqlnode1her. - Klicken Sie im Object Explorer mit der rechten Maustaste auf Always On-Hochverfügbarkeit und wählen Sie Assistent für neue Verfügbarkeitsgruppen aus.
- Geben Sie einen Namen für die Verfügbarkeitsgruppe an, z. B.
sql-ag. - Wählen Sie
MyDB1als einzubeziehende Datenbank aus. - Klicken Sie auf der Seite Replikate angeben auf Replikat hinzufügen und stellen Sie eine Verbindung zu
sqlnode2her. - Aktivieren Sie Automatisches Failover für beide Replikate, setzen Sie Verfügbarkeitsmodus auf Synchronous-Commit und Lesbares sekundäres Replikat auf Ja.
- Rufen Sie den Tab Endpunkte auf und prüfen Sie, ob Port
5022verwendet wird. - Wählen Sie auf der Seite Erste Datensynchronisierung auswählen die Option Nur beitreten aus.
- Schließen Sie den Assistenten ab, um die Verfügbarkeitsgruppe zu erstellen.
DNN-Ressource für die Verfügbarkeitsgruppe erstellen
Verwenden Sie anstelle eines Load Balancers einen verteilten Netzwerknamen (Distributed Network Name, DNN), um Client-Traffic an den Listener der Verfügbarkeitsgruppe weiterzuleiten.
- Öffnen Sie den Failovercluster-Manager, erweitern Sie Rollen und wählen Sie die Rolle Ihrer Verfügbarkeitsgruppe aus.
- Klicken Sie unter Ressourcen mit der rechten Maustaste auf die Verfügbarkeitsgruppenressource und wählen Sie Ressource hinzufügen > Clientzugriffspunkt aus.
- Geben Sie einen Namen für den DNN-Listener an und schließen Sie den Assistenten ab.
- Stellen Sie die neue DNN-Ressource online.
- Standardmäßig bindet der Cluster den DNN-DNS-Namen an alle Knoten im Cluster. Wenn Sie Knoten im Cluster haben, auf denen keine SQL Server-Replikate gehostet werden, müssen Sie sie aus den möglichen Besitzern des DNN ausschließen:
- Klicken Sie mit der rechten Maustaste auf die erstellte DNN-Ressource und wählen Sie Eigenschaften aus.
- Entfernen Sie das Häkchen für alle Knoten, die keine Replikate der Verfügbarkeitsgruppe sind.
- Klicken Sie auf OK.
- Aktualisieren Sie die Verbindungsstrings Ihrer Anwendung, um eine Verbindung zum DNN-Listenernamen herzustellen und
MultiSubnetFailover=Trueeinzuschließen.
Failover testen
Stellen Sie mit SSMS eine Verbindung zu
sqlnode1odersqlnode2her und führen Sie die folgende Abfrage aus, um zu prüfen, welches Replikat primär ist und dass beide Replikate für synchronen Commit und automatisches Failover konfiguriert sind:-- Check primary replica SELECT ag.name AS AG_Name, ar.replica_server_name as PrimaryReplica FROM sys.dm_hadr_availability_replica_states AS ars JOIN sys.availability_groups AS ag ON ag.group_id = ars.group_id JOIN sys.availability_replicas ar ON ar.replica_id = ars.replica_id WHERE ars.role_desc = 'PRIMARY';
-- Check replica configuration SELECT replica_server_name, availability_mode_desc, failover_mode_desc FROM sys.availability_replicas WHERE group_id = (SELECT group_id FROM sys.availability_groups WHERE name = N'sql-ag');
Um ein manuelles Failover zu starten, stellen Sie in SSMS eine Verbindung zum sekundären Replikat her und führen Sie Folgendes aus:
ALTER AVAILABILITY GROUP [sql-ag] FAILOVER;
Überprüfen Sie nach dem Failover den neuen primären Knoten, indem Sie
SELECT @@SERVERNAME;ausführen oder die Verbindung zum DNN-Listener wiederherstellen und den Servernamen prüfen.Sie können den Status der Verfügbarkeitsgruppe auch in SSMS aufrufen, indem Sie mit der rechten Maustaste unter Always On High Availability auf die Verfügbarkeitsgruppe klicken und Show Dashboard auswählen.
Bereinigen
Projekt löschen
Damit Ihrem Google Cloud Projekt die in dieser Anleitung verwendeten Ressourcen nicht in Rechnung gestellt werden, löschen Sie das Projekt. Weitere Informationen finden Sie unter Projekte beenden.