Migrieren zum Innovationsgipfel:
Erfahren Sie, wie Sie die Migration und Modernisierung zu Azure verbessern können, um die Leistung, Resilienz und Sicherheit Ihres Unternehmens zu steigern, sodass Sie KI vollständig nutzen können.Jetzt registrieren
Dieser Browser wird nicht mehr unterstützt.
Führen Sie ein Upgrade auf Microsoft Edge durch, um die neuesten Features, Sicherheitsupdates und den technischen Support zu nutzen.
In diesem Azure PowerShell-Beispielskript die aktive Georeplikation für eine Datenbank in Azure SQL-Datenbank konfiguriert und ein Failover zum sekundären Replikat der Datenbank ausgeführt.
In diesem Artikel wird das Azure Az PowerShell-Modul verwendet. Dieses PowerShell-Modul wird für die Interaktion mit Azure empfohlen. Informationen zu den ersten Schritten mit dem Az PowerShell-Modul finden Sie unter Installieren von Azure PowerShell. Informationen zum Migrieren zum Az PowerShell-Modul finden Sie unter Migrieren von Azure PowerShell von AzureRM zum Az-Modul.
Verwenden von Azure Cloud Shell
Azure hostet Azure Cloud Shell, eine interaktive Shell-Umgebung, die Sie über Ihren Browser nutzen können. Sie können entweder Bash oder PowerShell mit Cloud Shell verwenden, um mit Azure-Diensten zu arbeiten. Sie können die vorinstallierten Befehle von Cloud Shell verwenden, um den Code in diesem Artikel auszuführen, ohne etwas in Ihrer lokalen Umgebung installieren zu müssen.
Starten von Azure Cloud Shell:
Option
Beispiel/Link
Klicken Sie in der rechten oberen Ecke eines Codeblocks auf Ausprobieren. Durch die Auswahl von Ausprobieren wird der Code nicht automatisch in Cloud Shell kopiert.
Rufen Sie https://shell.azure.com auf, oder klicken Sie auf die Schaltfläche Cloud Shell starten, um Cloud Shell im Browser zu öffnen.
Wählen Sie im Azure-Portal rechts oben im Menü die Schaltfläche Cloud Shell aus.
Ausführen des Codes in diesem Artikel in Azure Cloud Shell:
Starten Sie Cloud Shell.
Wählen Sie die Schaltfläche Kopieren für einen Codeblock, um den Code zu kopieren.
Fügen Sie den Code mit STRG+UMSCHALT+V unter Windows und Linux oder Cmd+UMSCHALT+V unter macOS in die Cloud Shell-Sitzung ein.
Drücken Sie die EINGABETASTE, um den Code auszuführen.
Wenn Sie PowerShell lokal installieren und nutzen möchten, müssen Sie für dieses Tutorial mindestens die Version 1.4.0 von Azure PowerShell verwenden. Wenn Sie ein Upgrade ausführen müssen, finden Sie unter Installieren des Azure PowerShell-Moduls Informationen dazu. Wenn Sie PowerShell lokal ausführen, müssen Sie auch Connect-AzAccount ausführen, um eine Verbindung mit Azure herzustellen.
Beispielskripts
PowerShell
# Connect-AzAccount$SubscriptionId = ''# Set the resource group name and location for your primary server$primaryResourceGroupName = "myPrimaryResourceGroup-$(Get-Random)"$primaryLocation = "westus2"# Set the resource group name and location for your secondary server$secondaryResourceGroupName = "mySecondaryResourceGroup-$(Get-Random)"$secondaryLocation = "eastus"# Set an admin login and password for your servers$adminSqlLogin = "SqlAdmin"$password = "ChangeYourAdminPassword1"# Set server names - the logical server names have to be unique in the system$primaryServerName = "primary-server-$(Get-Random)"$secondaryServerName = "secondary-server-$(Get-Random)"# The sample database name$databasename = "mySampleDatabase"# The ip address range that you want to allow to access your servers$primaryStartIp = "0.0.0.0"$primaryEndIp = "0.0.0.0"$secondaryStartIp = "0.0.0.0"$secondaryEndIp = "0.0.0.0"# Set subscription Set-AzContext -SubscriptionId$subscriptionId# Create two new resource groups$primaryResourceGroup = New-AzResourceGroup -Name$primaryResourceGroupName -Location$primaryLocation$secondaryResourceGroup = New-AzResourceGroup -Name$secondaryResourceGroupName -Location$secondaryLocation# Create two new logical servers with a system wide unique server name$primaryServer = New-AzSqlServer -ResourceGroupName$primaryResourceGroupName `
-ServerName$primaryServerName `
-Location$primaryLocation `
-SqlAdministratorCredentials $(New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList$adminSqlLogin, $(ConvertTo-SecureString -String$password -AsPlainText -Force))
$secondaryServer = New-AzSqlServer -ResourceGroupName$secondaryResourceGroupName `
-ServerName$secondaryServerName `
-Location$secondaryLocation `
-SqlAdministratorCredentials $(New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList$adminSqlLogin, $(ConvertTo-SecureString -String$password -AsPlainText -Force))
# Create a server firewall rule for each server that allows access from the specified IP range$primaryserverfirewallrule = New-AzSqlServerFirewallRule -ResourceGroupName$primaryResourceGroupName `
-ServerName$primaryservername `
-FirewallRuleName"AllowedIPs" -StartIpAddress$primaryStartIp -EndIpAddress$primaryEndIp$secondaryserverfirewallrule = New-AzSqlServerFirewallRule -ResourceGroupName$secondaryResourceGroupName `
-ServerName$secondaryservername `
-FirewallRuleName"AllowedIPs" -StartIpAddress$secondaryStartIp -EndIpAddress$secondaryEndIp# Create a blank database with S0 performance level on the primary server$database = New-AzSqlDatabase -ResourceGroupName$primaryResourceGroupName `
-ServerName$primaryServerName `
-DatabaseName$databasename -RequestedServiceObjectiveName"S0"# Establish Active Geo-Replication$database = Get-AzSqlDatabase -DatabaseName$databasename -ResourceGroupName$primaryResourceGroupName -ServerName$primaryServerName$database | New-AzSqlDatabaseSecondary -PartnerResourceGroupName$secondaryResourceGroupName -PartnerServerName$secondaryServerName -AllowConnections"All"# Initiate a planned failover$database = Get-AzSqlDatabase -DatabaseName$databasename -ResourceGroupName$secondaryResourceGroupName -ServerName$secondaryServerName$database | Set-AzSqlDatabaseSecondary -PartnerResourceGroupName$primaryResourceGroupName -Failover# Monitor Geo-Replication config and health after failover$database = Get-AzSqlDatabase -DatabaseName$databasename -ResourceGroupName$secondaryResourceGroupName -ServerName$secondaryServerName$database | Get-AzSqlDatabaseReplicationLink -PartnerResourceGroupName$primaryResourceGroupName -PartnerServerName$primaryServerName# Remove the replication link after the failover$database = Get-AzSqlDatabase -DatabaseName$databasename -ResourceGroupName$secondaryResourceGroupName -ServerName$secondaryServerName$secondaryLink = $database | Get-AzSqlDatabaseReplicationLink -PartnerResourceGroupName$primaryResourceGroupName -PartnerServerName$primaryServerName$secondaryLink | Remove-AzSqlDatabaseSecondary# Clean up deployment #Remove-AzResourceGroup -ResourceGroupName $primaryResourceGroupName#Remove-AzResourceGroup -ResourceGroupName $secondaryResourceGroupName
Bereinigen der Bereitstellung
Verwenden Sie den folgenden Befehl, um die Ressourcengruppe und alle zugehörigen Ressourcen zu entfernen.
Verwalten einer SQL Server-Datenbankinfrastruktur für Cloud-, lokale und hybride relationale Datenbanken auf Grundlage der Microsoft PaaS-Angebote für relationale Datenbanken.
Verwenden Sie die aktive Georeplikation, um lesbare sekundäre Datenbanken von einzelnen Datenbanken in Azure SQL Database in derselben oder in verschiedenen Regionen zu erstellen.
Mithilfe von Failovergruppen können Sie die Georeplikation und das automatische/koordinierte Failover einer Gruppe von Datenbanken auf einem Server sowohl für Einzel- als auch Pooldatenbanken in Azure SQL-Datenbank verwalten.
Erfahren Sie, wie Sie eine Failovergruppe für eine Einzel- oder Pooldatenbank in Azure SQL-Datenbank über das Azure-Portal und PowerShell konfigurieren.