Erstellen einer Verfügbarkeitsgruppe (SQL Server PowerShell)
In diesem Thema wird beschrieben, wie PowerShell-Cmdlets zum Erstellen und Konfigurieren einer AlwaysOn-Verfügbarkeitsgruppe mithilfe von PowerShell in SQL Server 2012 verwendet werden. Eine Verfügbarkeitsgruppe definiert einen Satz von Benutzerdatenbanken, für die als eine einzelne Einheit ein Failover ausgeführt wird, sowie einen Satz von Failoverpartnern, die als Verfügbarkeitsreplikate bezeichnet werden und das Failover unterstützen.
Hinweis |
---|
Eine Einführung in Verfügbarkeitsgruppen finden Sie unter Übersicht über AlwaysOn-Verfügbarkeitsgruppen (SQL Server). |
Vorbereitungen:
Voraussetzungen, Einschränkungen und Empfehlungen
Sicherheit
Zusammenfassung von Tasks und entsprechenden PowerShell-Cmdlets
So richten Sie den SQL Server PowerShell-Anbieter ein und verwenden ihn
So erstellen und konfigurieren Sie eine Verfügbarkeitsgruppe unter Verwendung von: Verwenden von PowerShell zum Erstellen und Konfigurieren einer Verfügbarkeitsgruppe
**Beispiele: ** Verwenden von PowerShell zum Erstellen einer Verfügbarkeitsgruppe
Verwandte Aufgaben
Verwandte Inhalte
Hinweis |
---|
Als Alternative zur Verwendung von PowerShell-Cmdlets können Sie den Assistenten zum Erstellen einer Verfügbarkeitsgruppe oder Transact-SQL verwenden. Weitere Informationen finden Sie unter Verwenden des Dialogfelds Neue Verfügbarkeitsgruppe (SQL Server Management Studio) oder Erstellen einer Verfügbarkeitsgruppe (Transact-SQL). |
Vorbereitungen
Es wird dringend empfohlen, dass Sie diesen Abschnitt lesen, bevor Sie versuchen, Ihre erste Verfügbarkeitsgruppe zu erstellen.
Voraussetzungen, Einschränkungen und Empfehlungen
- Überprüfen Sie vor dem Erstellen einer Verfügbarkeitsgruppe, ob sich die Hostinstanzen von SQL Server jeweils auf verschiedenen WSFC-Knoten (Windows Server-Failoverclustering) eines einzelnen WSFC-Failoverclusters befinden. Stellen Sie auch sicher, dass die Serverinstanzen die anderen Serverinstanzvoraussetzungen erfüllen, dass alle anderen AlwaysOn-Verfügbarkeitsgruppen-Anforderungen erfüllt sind und dass Sie die Empfehlungen berücksichtigen. Es empfiehlt sich, Voraussetzungen, Einschränkungen und Empfehlungen für AlwaysOn-Verfügbarkeitsgruppen (SQL Server) zu lesen, um weitere Informationen zu erhalten.
[Top]
Sicherheit
Berechtigungen
Erfordert die Mitgliedschaft in der festen sysadmin-Serverrolle und die CREATE AVAILABILITY GROUP-Serverberechtigung, ALTER ANY AVAILABILITY GROUP-Berechtigung oder CONTROL SERVER-Berechtigung.
[Top]
Zusammenfassung von Tasks und entsprechenden PowerShell-Cmdlets
In der folgenden Tabelle sind die grundlegenden Tasks für die Konfiguration einer Verfügbarkeitsgruppe aufgeführt, und es sind die Tasks angegeben, die von PowerShell-Cmdlets unterstützt werden. Die AlwaysOn-Verfügbarkeitsgruppen-Tasks müssen in der Reihenfolge ausgeführt werden, in der sie in der Tabelle dargestellt sind.
Aufgabe |
PowerShell-Cmdlets (falls verfügbar) oder Transact-SQL-Anweisung |
Wo der Task auszuführen ist* |
||
---|---|---|---|---|
Erstellen eines Datenbankspiegelungs-Endpunkts (einmal pro SQL Server-Instanz) |
New-SqlHadrEndPoint |
Führen Sie diesen Task auf jeder Serverinstanz aus, auf der der Datenbankspiegelungs-Endpunkt fehlt.
|
||
Erstellen der Verfügbarkeitsgruppe |
Verwenden Sie zuerst das New-SqlAvailabilityReplica-Cmdlet mit dem -AsTemplate-Parameter, um ein Verfügbarkeitsreplikatobjekt im Arbeitsspeicher für jedes der beiden Verfügbarkeitsreplikate zu erstellen, die Sie in die Verfügbarkeitsgruppe einschließen möchten. Erstellen Sie dann die Verfügbarkeitsgruppe mithilfe des New-SqlAvailabilityGroup-Cmdlets, und verweisen Sie auf die Verfügbarkeitsreplikatobjekte. |
Führen Sie diesen Task auf der Serverinstanz aus, auf der das anfängliche primäre Replikat gehostet werden soll. |
||
Verknüpfen eines sekundären Replikats mit einer Verfügbarkeitsgruppe |
Join-SqlAvailabilityGroup |
Führen Sie diesen Task auf jeder Serverinstanz aus, auf der ein sekundäres Replikat gehostet wird. |
||
Vorbereiten der sekundären Datenbank |
Backup-SqlDatabase und Restore-SqlDatabase |
Erstellen Sie Sicherungen auf der Serverinstanz, auf der das primäre Replikat gehostet wird. Stellen Sie mit dem Wiederherstellungsparameter NoRecovery Sicherungen auf jeder Serverinstanz wieder her, auf der ein sekundäres Replikat gehostet wird. Wenn sich die Dateipfade zwischen den Computern unterscheiden, die das primäre Replikat und das sekundäre Zielreplikat hosten, verwenden Sie ebenfalls den Wiederherstellungsparameter RelocateFile. |
||
Starten der Datensynchronisierung durch Verknüpfen der einzelnen sekundären Datenbanken mit der Verfügbarkeitsgruppe |
Add-SqlAvailabilityDatabase |
Führen Sie diesen Task auf jeder Serverinstanz aus, auf der ein sekundäres Replikat gehostet wird. |
* Zur Ausführung eines bestimmten Tasks wechseln Sie in das Verzeichnis (cd) der angegebenen Serverinstanz(en).
[Top]
So richten Sie den SQL Server PowerShell-Anbieter ein und verwenden ihn
[Top]
Verwenden von PowerShell zum Erstellen und Konfigurieren einer Verfügbarkeitsgruppe
Hinweis |
---|
Um die Syntax und ein Beispiel für ein bestimmtes Cmdlet anzuzeigen, verwenden Sie das Get-Help-Cmdlet in der SQL Server PowerShell-Umgebung. Weitere Informationen finden Sie unter Aufrufen der SQL Server PowerShell-Hilfe. |
Wechseln Sie in das Verzeichnis (cd) der Serverinstanz, die das primäre Replikat hosten soll.
Erstellen Sie für das primäre Replikat ein Verfügbarkeitsreplikatobjekt im Arbeitsspeicher.
Erstellen Sie für jedes der sekundären Replikate ein Verfügbarkeitsreplikatobjekt im Arbeitsspeicher.
Erstellen Sie die Verfügbarkeitsgruppe.
Hinweis Die maximale Länge eines Verfügbarkeitsgruppennamens beträgt 128 Zeichen.
Verknüpfen Sie das neue sekundäre Replikat mit der Verfügbarkeitsgruppe. Weitere Informationen finden Sie unter Verknüpfen eines sekundären Replikats mit einer Verfügbarkeitsgruppe (SQL Server).
Erstellen Sie für jede Datenbank in der Verfügbarkeitsgruppe eine sekundäre Datenbank, indem Sie letzte Sicherungen der primären Datenbank mit RESTORE WITH NORECOVERY wiederherstellen.
Verknüpfen Sie alle neuen sekundären Datenbanken mit der Verfügbarkeitsgruppe. Weitere Informationen finden Sie unter Verknüpfen eines sekundären Replikats mit einer Verfügbarkeitsgruppe (SQL Server).
Verwenden Sie optional den dir-Befehl von Windows, um den Inhalt der neuen Verfügbarkeitsgruppe zu überprüfen.
Hinweis |
---|
Wenn die SQL Server-Dienstkonten der Serverinstanzen unter unterschiedlichen Domänenbenutzerkonten ausgeführt werden, erstellen Sie auf jeder Serverinstanz eine Anmeldung für die andere Serverinstanz, und gewähren Sie dieser Anmeldung CONNECT-Berechtigung für den lokalen Datenbankspiegelungs-Endpunkt. |
[Top]
Beispiel: Verwenden von PowerShell zum Erstellen einer Verfügbarkeitsgruppe
Im folgenden PowerShell-Beispiel wird eine einfache Verfügbarkeitsgruppe mit dem Namen MyAG erstellt und konfiguriert, die über zwei Verfügbarkeitsreplikate und eine Verfügbarkeitsdatenbank verfügt. Beispiel:
Sichert MyDatabase und das dazugehörige Transaktionsprotokoll.
Stellt MyDatabase und das dazugehörige Transaktionsprotokoll mithilfe der Option -NoRecovery wieder her.
Erstellt eine speicherinterne Darstellung des primären Replikats, die von der lokalen Instanz von SQL Server (mit dem Namen PrimaryComputer\Instance) gehostet wird.
Erstellt eine speicherinterne Darstellung des sekundären Replikats, die von einer Instanz von SQL Server (mit dem Namen SecondaryComputer\Instance) gehostet wird.
Erstellt eine Verfügbarkeitsgruppe mit dem Namen MyAG.
Verknüpft das sekundäre Replikat mit der Verfügbarkeitsgruppe.
Verknüpft die sekundäre Datenbank mit der Verfügbarkeitsgruppe.
# Backup my database and its log on the primary
Backup-SqlDatabase `
-Database "MyDatabase" `
-BackupFile "\\share\backups\MyDatabase.bak" `
-ServerInstance "PrimaryComputer\Instance"
Backup-SqlDatabase `
-Database "MyDatabase" `
-BackupFile "\\share\backups\MyDatabase.log" `
-ServerInstance "PrimaryComputer\Instance" `
-BackupAction Log
# Restore the database and log on the secondary (using NO RECOVERY)
Restore-SqlDatabase `
-Database "MyDatabase" `
-BackupFile "\\share\backups\MyDatabase.bak" `
-ServerInstance "SecondaryComputer\Instance" `
-NoRecovery
Restore-SqlDatabase `
-Database "MyDatabase" `
-BackupFile "\\share\backups\MyDatabase.log" `
-ServerInstance "SecondaryComputer\Instance" `
-RestoreAction Log `
-NoRecovery
# Create an in-memory representation of the primary replica.
$primaryReplica = New-SqlAvailabilityReplica `
-Name "PrimaryComputer\Instance" `
-EndpointURL "TCP://PrimaryComputer.domain.com:5022" `
-AvailabilityMode "SynchronousCommit" `
-FailoverMode "Automatic" `
-Version 11 `
-AsTemplate
# Create an in-memory representation of the secondary replica.
$secondaryReplica = New-SqlAvailabilityReplica `
-Name "SecondaryComputer\Instance" `
-EndpointURL "TCP://SecondaryComputer.domain.com:5022" `
-AvailabilityMode "SynchronousCommit" `
-FailoverMode "Automatic" `
-Version 11 `
-AsTemplate
# Create the availability group
New-SqlAvailabilityGroup `
-Name "MyAG" `
-Path "SQLSERVER:\SQL\PrimaryComputer\Instance" `
-AvailabilityReplica @($primaryReplica,$secondaryReplica) `
-Database "MyDatabase"
# Join the secondary replica to the availability group.
Join-SqlAvailabilityGroup -Path "SQLSERVER:\SQL\SecondaryComputer\Instance" -Name "MyAG"
# Join the secondary database to the availability group.
Add-SqlAvailabilityDatabase -Path "SQLSERVER:\SQL\SecondaryComputer\Instance\AvailabilityGroups\MyAG" -Database "MyDatabase"
Verwandte Aufgaben
So konfigurieren Sie eine Serverinstanz für AlwaysOn-Verfügbarkeitsgruppen
So konfigurieren Sie Verfügbarkeitsgruppen- und Replikateigenschaften
Ändern des Verfügbarkeitsmodus eines Verfügbarkeitsreplikats (SQL Server)
Ändern des Failovermodus eines Verfügbarkeitsreplikats (SQL Server)
Erstellen oder Konfigurieren eines Verfügbarkeitsgruppenlisteners (SQL Server)
Angeben der Endpunkt-URL beim Hinzufügen oder Ändern eines Verfügbarkeitsreplikats (SQL Server)
Konfigurieren der Sicherung auf Verfügbarkeitsreplikaten (SQL Server)
Konfigurieren des schreibgeschützten Zugriffs auf ein Verfügbarkeitsreplikat (SQL Server)
Konfigurieren des schreibgeschützten Routing für eine Verfügbarkeitsgruppe (SQL Server)
Ändern des Sitzungstimeouts für ein Verfügbarkeitsreplikat (SQL Server)
So schließen Sie die Konfiguration von Verfügbarkeitsgruppen ab
Verknüpfen eines sekundären Replikats mit einer Verfügbarkeitsgruppe (SQL Server)
Manuelles Vorbereiten einer sekundären Datenbank auf eine Verfügbarkeitsgruppe (SQL Server)
Verknüpfen einer sekundären Datenbank mit einer Verfügbarkeitsgruppe (SQL Server)
Erstellen oder Konfigurieren eines Verfügbarkeitsgruppenlisteners (SQL Server)
Alternative Möglichkeiten zum Erstellen einer Verfügbarkeitsgruppe
Verwenden des Assistenten für neue Verfügbarkeitsgruppen (SQL Server Management Studio)
Verwenden des Dialogfelds Neue Verfügbarkeitsgruppe (SQL Server Management Studio)
Problembehandlung für die AlwaysOn-Verfügbarkeitsgruppenkonfiguration
[Top]
Verwandte Inhalte
**Blogs: **
AlwaysON - HADRON-Lernreihe: Nutzung des Arbeitsthreadpools für HADRON-fähige Datenbanken
Konfigurieren von AlwaysOn mit SQL Server PowerShell
SQL Server AlwaysOn-Teamblog: Der offizielle SQL Server AlwaysOn-Teamblog
**Videos: **
**Whitepapers: **
Microsoft SQL Server AlwaysOn-Lösungshandbuch zu hoher Verfügbarkeit und Notfallwiederherstellung
[Top]