Un grupo de conmutación por error es una capa de abstracción declarativa que permite agrupar varias bases de datos con replicación geográfica. Aprenda a configurar un grupo de conmutación por error para una base de datos de Azure SQL Database y pruebe la conmutación por error mediante Azure Portal, PowerShell o la CLI de Azure. En este tutorial, aprenderá a:
Creación de una base de datos de Azure SQL Database
Crear un grupo de conmutación por error para la base de datos entre dos servidores.
En este paso, se crea un servidor de SQL Server lógico y una base de datos única que use los datos de ejemplo de AdventureWorksLT. Puede crear la base de datos mediante menús y pantallas de Azure Portal, o mediante un script de la CLI de Azure o de PowerShell en Azure Cloud Shell.
Todos los métodos incluyen la configuración de una regla de firewall en el nivel de servidor que permita a la dirección IP pública del equipo que está usando acceder al servidor. Para más información acerca de cómo crear reglas de firewall de nivel de servidor, consulte Creación de un firewall de nivel de servidor. También puede establecer reglas de firewall en el nivel de base de datos. Consulte Creación de una regla de firewall de nivel de base de datos.
En la barra de búsqueda, busque y seleccione Azure SQL.
En la página Azure SQL, seleccione Agregar.
En la página Seleccione una opción de implementación de SQL, seleccione el icono Bases de datos SQL, con Base de datos única en Tipo de recurso. Puede ver más información sobre las diferentes bases de datos si selecciona Mostrar detalles.
Seleccione Crear.
En la pestaña Básico del formulario Crear base de datos SQL, en Detalles del proyecto, seleccione la Suscripción de Azure correcta, si aún no lo está.
En Grupo de recursos, seleccione Crear nuevo, escriba miGrupoDeRecursos y seleccione Aceptar.
En Detalles de la base de datos, en Nombre de la base de datos escriba miBaseDeDatosDeEjemplo.
En Servidor, seleccione Crear nuevo y rellene el formulario Nuevo servidor como se indica a continuación:
Nombre del servidor: escriba miservidorsql y algunos caracteres para que el nombre sea único.
Inicio de sesión del administrador del servidor: escriba usuarioazure.
Contraseña: escriba una contraseña que cumpla los requisitos y escríbala de nuevo en el campo Confirmar contraseña.
Ubicación: despliegue los campos y elija una ubicación, como (EE. UU.) Este de EE. UU. .
Seleccione Aceptar.
Registre el inicio de sesión y la contraseña del administrador del servidor para poder iniciar sesión en el servidor y en sus bases de datos. Si olvida el inicio de sesión o la contraseña, puede obtener el nombre de inicio de sesión o restablecer la contraseña en la página SQL Server tras crear la base de datos. Para abrir la página SQL Server, seleccione el nombre del servidor en la página Información general de la base de datos.
En Proceso y almacenamiento, si desea volver a configurar los valores predeterminados, seleccione Configurar base de datos.
En la página Configurar, puede:
Cambiar el Nivel de proceso de Aprovisionado a Sin servidor.
Revisar y cambiar la configuración de Núcleos virtuales y Tamaño máximo de datos.
Seleccionar Cambiar configuración para cambiar la generación del hardware.
Después de realizar cambios, seleccione Aplicar.
Seleccione Siguiente: Redes en la parte inferior de la página.
En la pestaña Redes, en Método de conectividad, seleccione Punto de conexión público.
En Reglas de firewall, establezca Agregar dirección IP del cliente actual en Sí.
Seleccione Siguiente: Configuración adicional en la parte inferior de la página.
Opcionalmente, establezca la ventana de mantenimiento para que el mantenimiento planeado se realice en el mejor momento para la base de datos.
En la parte inferior de la página, seleccione Revisar y crear.
Después de revisar la configuración, seleccione Crear.
Puede crear un grupo de recursos de Azure, un servidor y una base de datos única desde la interfaz de la línea de comandos de Azure (CLI de Azure). Si no desea usar Azure Cloud Shell, instale la CLI de Azure en el equipo.
Para ejecutar el ejemplo de código siguiente en Azure Cloud Shell, seleccione Probar en la barra de título del ejemplo de código. Cuando se abra Cloud Shell, seleccione Copiar en la barra de título del ejemplo de código y pegue el ejemplo de código en la ventana de Cloud Shell. En el código, reemplace <Subscription ID> por su identificador de suscripción de Azure y, en $startip y $endip, reemplace 0.0.0.0 por la dirección IP pública del equipo que está usando.
Siga las indicaciones en pantalla para iniciar sesión en Azure y ejecutar el código.
También puede usar Azure Cloud Shell desde Azure Portal; para ello, seleccione el icono de Cloud Shell en la barra superior.
La primera vez que use Cloud Shell en el portal, seleccione Bash en el cuadro de diálogo de bienvenida. Las sesiones posteriores usarán la CLI de Azure en un entorno de Bash o bien puede seleccionar Bash en la barra de control de Cloud Shell.
El siguiente código de la CLI de Azure crea un grupo de recursos, un servidor, una base de datos única y una regla de firewall de IP de nivel de servidor para el acceso al servidor. Asegúrese de registrar el grupo de recursos y los nombres de servidor generados, para poder administrar estos recursos más adelante.
#!/bin/bash
# Sign in to Azure and set execution context (if necessary)
az login
az account set --subscription <Subscription ID>
# Set the resource group name and location for your server
resourceGroupName=myResourceGroup-$RANDOM
location=westus2
# Set an admin login and password for your database
adminlogin=azureuser
password=Azure1234567
# Set a server name that is unique to Azure DNS (<server_name>.database.windows.net)
servername=server-$RANDOM
# Set the ip address range that can access your database
startip=0.0.0.0
endip=0.0.0.0
# Create a resource group
az group create \
--name $resourceGroupName \
--location $location
# Create a server in the resource group
az sql server create \
--name $servername \
--resource-group $resourceGroupName \
--location $location \
--admin-user $adminlogin \
--admin-password $password
# Configure a server-level firewall rule for the server
az sql server firewall-rule create \
--resource-group $resourceGroupName \
--server $servername \
-n AllowYourIp \
--start-ip-address $startip \
--end-ip-address $endip
# Create a gen5 2 vCore database in the server
az sql db create \
--resource-group $resourceGroupName \
--server $servername \
--name mySampleDatabase \
--sample-name AdventureWorksLT \
--edition GeneralPurpose \
--family Gen5 \
--capacity 2 \
El código anterior usa estos comandos de la CLI de Azure:
Puede crear un grupo de recursos, un servidor y una base de datos única mediante Windows PowerShell. Si no desea usar Azure Cloud Shell, instale el módulo de Azure PowerShell.
Nota
En este artículo se usa el módulo Az de PowerShell, que es el módulo de PowerShell que se recomienda para interactuar con Azure. Para empezar a trabajar con el módulo Az de PowerShell, consulte Instalación de Azure PowerShell. Para más información sobre cómo migrar al módulo Az de PowerShell, consulte Migración de Azure PowerShell de AzureRM a Az.
Para ejecutar el ejemplo de código siguiente en Azure Cloud Shell, seleccione Probar en la barra de título del código. Cuando se abra Cloud Shell, seleccione Copiar en la barra de título del ejemplo de código y pegue el ejemplo de código en la ventana de Cloud Shell. En el código, reemplace <Subscription ID> por su identificador de suscripción de Azure y, en $startIp y $endIp, reemplace 0.0.0.0 por la dirección IP pública del equipo que está usando.
Siga las indicaciones en pantalla para iniciar sesión en Azure y ejecutar el código.
También puede usar Azure Cloud Shell desde Azure Portal; para ello, seleccione el icono de Cloud Shell en la barra superior.
La primera vez que use Cloud Shell en el portal, seleccione PowerShell en el cuadro de diálogo de bienvenida. Las sesiones posteriores usarán PowerShell o puede seleccionarlo en la barra de control de Cloud Shell.
El siguiente código de PowerShell crea un grupo de recursos de Azure, un servidor, una base de datos única y una regla de firewall para el acceso al servidor. Asegúrese de registrar el grupo de recursos y los nombres de servidor generados, para poder administrar estos recursos más adelante.
# Set variables for your server and database
$subscriptionId = '<SubscriptionID>'
$resourceGroupName = "myResourceGroup-$(Get-Random)"
$location = "West US"
$adminLogin = "azureuser"
$password = "Azure1234567"
$serverName = "mysqlserver-$(Get-Random)"
$databaseName = "mySampleDatabase"
# The ip address range that you want to allow to access your server
$startIp = "0.0.0.0"
$endIp = "0.0.0.0"
# Show randomized variables
Write-host "Resource group name is" $resourceGroupName
Write-host "Server name is" $serverName
# Connect to Azure
Connect-AzAccount
# Set subscription ID
Set-AzContext -SubscriptionId $subscriptionId
# Create a resource group
Write-host "Creating resource group..."
$resourceGroup = New-AzResourceGroup -Name $resourceGroupName -Location $location -Tag @{Owner="SQLDB-Samples"}
$resourceGroup
# Create a server with a system wide unique server name
Write-host "Creating primary server..."
$server = New-AzSqlServer -ResourceGroupName $resourceGroupName `
-ServerName $serverName `
-Location $location `
-SqlAdministratorCredentials $(New-Object -TypeName System.Management.Automation.PSCredential `
-ArgumentList $adminLogin, $(ConvertTo-SecureString -String $password -AsPlainText -Force))
$server
# Create a server firewall rule that allows access from the specified IP range
Write-host "Configuring firewall for primary server..."
$serverFirewallRule = New-AzSqlServerFirewallRule -ResourceGroupName $resourceGroupName `
-ServerName $serverName `
-FirewallRuleName "AllowedIPs" -StartIpAddress $startIp -EndIpAddress $endIp
$serverFirewallRule
# Create General Purpose Gen4 database with 1 vCore
Write-host "Creating a gen5 2 vCore database..."
$database = New-AzSqlDatabase -ResourceGroupName $resourceGroupName `
-ServerName $serverName `
-DatabaseName $databaseName `
-Edition GeneralPurpose `
-VCore 2 `
-ComputeGeneration Gen5 `
-MinimumCapacity 2 `
-SampleName "AdventureWorksLT"
$database
En el código anterior se usan estos cmdlets de PowerShell:
En este paso, va a crear un grupo de conmutación por error entre un servidor existente y uno nuevo en otra región. A continuación, agregue la base de datos de ejemplo al grupo de conmutación por error.
Cree el grupo de conmutación por error y agregue la base de datos mediante Azure Portal.
Seleccione Azure SQL en el menú izquierdo de Azure Portal. Si Azure SQL no está en la lista, seleccione Todos los servicios y escriba Azure SQL en el cuadro de búsqueda. (Opcional) Seleccione la estrella junto a Azure SQL para marcarlo como favorito y agréguelo como un elemento en el panel de navegación izquierdo.
Seleccione la base de datos creada en la sección 1, como mySampleDatabase.
Los grupos de conmutación por error se pueden configurar en el nivel de servidor. Seleccione el nombre del servidor en Nombre del servidor para abrir la configuración del servidor.
Seleccione Grupos de conmutación por error en el panel Configuración y, después, seleccione Agregar grupo para crear un nuevo grupo de conmutación por error.
En la página Grupo de conmutación por error, escriba o seleccione los valores siguientes y, después, seleccione Crear:
Nombre del grupo de conmutación por error Escriba un nombre del grupo de conmutación por error único, como failovergrouptutorial.
Servidor secundario: Seleccione la opción para configurar los valores obligatorios y, a continuación, elija Crear un nuevo servidor. Como alternativa, puede elegir un servidor ya existente como servidor secundario. Después de escribir los valores siguientes, elija Seleccionar.
Nombre del servidor: Escriba un nombre único para el servidor secundario, como mysqlsecondary.
Inicio de sesión del administrador del servidor: Escriba azureuser
Contraseña: Escriba una contraseña compleja que cumpla los requisitos de contraseña.
Ubicación: Elija una ubicación en la lista desplegable, como East US. Esta ubicación no puede ser la misma que la del servidor principal.
Nota
La configuración del firewall y de inicio de sesión del servidor debe coincidir con la del servidor principal.
Bases de datos en el grupo Cuando se selecciona un servidor secundario, esta opción se desbloquea. Selecciónelo para seleccionar las bases de datos que quiera agregar. y después elija la base de datos que ha creado en la sección 1. Al agregar la base de datos al grupo de conmutación por error, se iniciará automáticamente el proceso de replicación geográfica.
Cree el grupo de conmutación por error y agregue la base de datos mediante PowerShell.
Nota
La configuración del firewall y de inicio de sesión del servidor debe coincidir con la del servidor principal.
# $subscriptionId = '<SubscriptionID>'
# $resourceGroupName = "myResourceGroup-$(Get-Random)"
# $location = "West US"
# $adminLogin = "azureuser"
# $password = "PWD27!"+(New-Guid).Guid
# $serverName = "mysqlserver-$(Get-Random)"
# $databaseName = "mySampleDatabase"
$drLocation = "East US"
$drServerName = "mysqlsecondary-$(Get-Random)"
$failoverGroupName = "failovergrouptutorial-$(Get-Random)"
# The ip address range that you want to allow to access your server
# (leaving at 0.0.0.0 will prevent outside-of-azure connections to your DB)
$startIp = "0.0.0.0"
$endIp = "0.0.0.0"
# Show randomized variables
Write-host "DR Server name is" $drServerName
Write-host "Failover group name is" $failoverGroupName
# Create a secondary server in the failover region
Write-host "Creating a secondary server in the failover region..."
$drServer = New-AzSqlServer -ResourceGroupName $resourceGroupName `
-ServerName $drServerName `
-Location $drLocation `
-SqlAdministratorCredentials $(New-Object -TypeName System.Management.Automation.PSCredential `
-ArgumentList $adminlogin, $(ConvertTo-SecureString -String $password -AsPlainText -Force))
$drServer
# Create a server firewall rule that allows access from the specified IP range
Write-host "Configuring firewall for secondary server..."
$serverFirewallRule = New-AzSqlServerFirewallRule -ResourceGroupName $resourceGroupName `
-ServerName $drServerName `
-FirewallRuleName "AllowedIPs" -StartIpAddress $startIp -EndIpAddress $endIp
$serverFirewallRule
# Create a failover group between the servers
$failovergroup = Write-host "Creating a failover group between the primary and secondary server..."
New-AzSqlDatabaseFailoverGroup `
–ResourceGroupName $resourceGroupName `
-ServerName $serverName `
-PartnerServerName $drServerName `
–FailoverGroupName $failoverGroupName `
–FailoverPolicy Automatic `
-GracePeriodWithDataLossHours 2
$failovergroup
# Add the database to the failover group
Write-host "Adding the database to the failover group..."
Get-AzSqlDatabase `
-ResourceGroupName $resourceGroupName `
-ServerName $serverName `
-DatabaseName $databaseName | `
Add-AzSqlDatabaseToFailoverGroup `
-ResourceGroupName $resourceGroupName `
-ServerName $serverName `
-FailoverGroupName $failoverGroupName
Write-host "Successfully added the database to the failover group..."
En esta parte del tutorial se usan los siguientes cmdlets de PowerShell:
Agrega una o varias bases de datos a un grupo de conmutación por error en Azure SQL Database.
Cree el grupo de conmutación por error y agregue la base de datos mediante la CLI de Azure.
Nota
La configuración del firewall y de inicio de sesión del servidor debe coincidir con la del servidor principal.
#!/bin/bash
# set variables
$failoverLocation = "West US"
$failoverServer = "failoverServer-$randomIdentifier"
$failoverGroup = "failoverGroup-$randomIdentifier"
echo "Creating a secondary server in the DR region..."
az sql server create --name $failoverServer --resource-group $resourceGroup --location $failoverLocation --admin-user $login --admin-password $password
echo "Creating a failover group between the two servers..."
az sql failover-group create --name $failoverGroup --partner-server $failoverServer --resource-group $resourceGroup --server $server --add-db $database --failover-policy Automatic
En esta parte del tutorial se usan los siguientes cmdlets de la CLI de Azure:
En este paso, se producirá un error en el grupo de conmutación por error en el servidor secundario y, a continuación, se realizará la conmutación por recuperación mediante Azure Portal.
Pruebe la conmutación por error mediante Azure Portal.
Seleccione Azure SQL en el menú izquierdo de Azure Portal. Si Azure SQL no está en la lista, seleccione Todos los servicios y escriba Azure SQL en el cuadro de búsqueda. (Opcional) Seleccione la estrella junto a Azure SQL para marcarlo como favorito y agréguelo como un elemento en el panel de navegación izquierdo.
Seleccione la base de datos creada en la sección 2, como mySampleDatbase.
Seleccione el nombre del servidor en Nombre del servidor para abrir la configuración del servidor.
Seleccione Grupos de conmutación por error en el panel Configuración y, a continuación, elija el grupo de conmutación por error que ha creado en la sección 2.
Revise cuál es el servidor principal y cuál el secundario.
Seleccione Conmutación por error en el panel de tareas para conmutar por error el grupo de conmutación por error que contiene la base de datos de ejemplo.
Seleccione Sí en la advertencia que le notifica que las sesiones de TDS se desconectarán.
Revise qué servidor es ahora el principal y cuál el secundario. Si la conmutación por error se realiza correctamente, los dos servidores deben tener los roles intercambiados.
Vuelva a seleccionar Conmutación por error para devolver los servidores a sus roles originales.
Pruebe la conmutación por error mediante PowerShell.
Compruebe el rol de la réplica secundaria:
# Set variables
# $resourceGroupName = "myResourceGroup-$(Get-Random)"
# $serverName = "mysqlserver-$(Get-Random)"
# $failoverGroupName = "failovergrouptutorial-$(Get-Random)"
# Check role of secondary replica
Write-host "Confirming the secondary replica is secondary...."
(Get-AzSqlDatabaseFailoverGroup `
-FailoverGroupName $failoverGroupName `
-ResourceGroupName $resourceGroupName `
-ServerName $drServerName).ReplicationRole
Conmute por error el servidor secundario:
# Set variables
# $resourceGroupName = "myResourceGroup-$(Get-Random)"
# $serverName = "mysqlserver-$(Get-Random)"
# $failoverGroupName = "failovergrouptutorial-$(Get-Random)"
# Failover to secondary server
Write-host "Failing over failover group to the secondary..."
Switch-AzSqlDatabaseFailoverGroup `
-ResourceGroupName $resourceGroupName `
-ServerName $drServerName `
-FailoverGroupName $failoverGroupName
Write-host "Failed failover group successfully to" $drServerName
Revierta el grupo de conmutación por error al servidor principal:
# Set variables
# $resourceGroupName = "myResourceGroup-$(Get-Random)"
# $serverName = "mysqlserver-$(Get-Random)"
# $failoverGroupName = "failovergrouptutorial-$(Get-Random)"
# Revert failover to primary server
Write-host "Failing over failover group to the primary...."
Switch-AzSqlDatabaseFailoverGroup `
-ResourceGroupName $resourceGroupName `
-ServerName $serverName `
-FailoverGroupName $failoverGroupName
Write-host "Failed failover group successfully back to" $serverName
En esta parte del tutorial se usan los siguientes cmdlets de PowerShell:
Ejecuta una conmutación por error de un grupo de conmutación por error de Azure SQL Database.
Pruebe la conmutación por error mediante la CLI de Azure.
Compruebe cuál es el servidor secundario:
echo "Verifying which server is in the secondary role..."
az sql failover-group list --server $server --resource-group $resourceGroup
Conmute por error el servidor secundario:
echo "Failing over group to the secondary server..."
az sql failover-group set-primary --name $failoverGroup --resource-group $resourceGroup --server $failoverServer
echo "Successfully failed failover group over to" $failoverServer
Revierta el grupo de conmutación por error al servidor principal:
echo "Failing over group back to the primary server..."
az sql failover-group set-primary --name $failoverGroup --resource-group $resourceGroup --server $server
echo "Successfully failed failover group back to" $server
En esta parte del tutorial se usan los siguientes cmdlets de la CLI de Azure:
Establece el servidor principal del grupo de conmutación por error mediante la conmutación por error de todas las bases de datos desde el servidor principal actual.
Limpieza de recursos
Limpie los recursos mediante la eliminación del grupo de recursos.
Elimine el grupo de recursos mediante la CLI de Azure.
echo "Cleaning up resources by removing the resource group..."
az group delete --name $resourceGroup
echo "Successfully removed resource group" $resourceGroup
En esta parte del tutorial se usan los siguientes cmdlets de la CLI de Azure:
Elimina un grupo de recursos, incluidos todos los recursos anidados.
Importante
Si quiere mantener el grupo de recursos, pero eliminar la base de datos secundaria, quítela del grupo de conmutación por error antes de eliminarla. Eliminar una base de datos secundaria antes de quitarla del grupo de conmutación por error puede provocar un comportamiento impredecible.
# Set variables for your server and database
$subscriptionId = '<SubscriptionID>'
$randomIdentifier = $(Get-Random)
$resourceGroupName = "myResourceGroup-$randomIdentifier"
$location = "West US 2"
$adminLogin = "azureuser"
$password = "PWD27!"+(New-Guid).Guid
$serverName = "mysqlserver-$randomIdentifier"
$databaseName = "mySampleDatabase"
$drLocation = "East US 2"
$drServerName = "mysqlsecondary-$randomIdentifier"
$failoverGroupName = "failovergrouptutorial-$randomIdentifier"
# The ip address range that you want to allow to access your server
# Leaving at 0.0.0.0 will prevent outside-of-azure connections
$startIp = "0.0.0.0"
$endIp = "0.0.0.0"
# Show randomized variables
Write-host "Resource group name is" $resourceGroupName
Write-host "Password is" $password
Write-host "Server name is" $serverName
Write-host "DR Server name is" $drServerName
Write-host "Failover group name is" $failoverGroupName
# Set subscription ID
Set-AzContext -SubscriptionId $subscriptionId
# Create a resource group
Write-host "Creating resource group..."
$resourceGroup = New-AzResourceGroup -Name $resourceGroupName -Location $location -Tag @{Owner="SQLDB-Samples"}
$resourceGroup
# Create a server with a system wide unique server name
Write-host "Creating primary logical server..."
$server = New-AzSqlServer -ResourceGroupName $resourceGroupName `
-ServerName $serverName `
-Location $location `
-SqlAdministratorCredentials $(New-Object -TypeName System.Management.Automation.PSCredential `
-ArgumentList $adminLogin, $(ConvertTo-SecureString -String $password -AsPlainText -Force))
$server
# Create a server firewall rule that allows access from the specified IP range
Write-host "Configuring firewall for primary logical server..."
$serverFirewallRule = New-AzSqlServerFirewallRule -ResourceGroupName $resourceGroupName `
-ServerName $serverName `
-FirewallRuleName "AllowedIPs" -StartIpAddress $startIp -EndIpAddress $endIp
$serverFirewallRule
# Create General Purpose Gen5 database with 2 vCore
Write-host "Creating a gen5 2 vCore database..."
$database = New-AzSqlDatabase -ResourceGroupName $resourceGroupName `
-ServerName $serverName `
-DatabaseName $databaseName `
-Edition GeneralPurpose `
-VCore 2 `
-ComputeGeneration Gen5 `
-MinimumCapacity 2 `
-SampleName "AdventureWorksLT"
$database
# Create a secondary server in the failover region
Write-host "Creating a secondary logical server in the failover region..."
$drServer = New-AzSqlServer -ResourceGroupName $resourceGroupName `
-ServerName $drServerName `
-Location $drLocation `
-SqlAdministratorCredentials $(New-Object -TypeName System.Management.Automation.PSCredential `
-ArgumentList $adminlogin, $(ConvertTo-SecureString -String $password -AsPlainText -Force))
$drServer
# Create a failover group between the servers
$failovergroup = Write-host "Creating a failover group between the primary and secondary server..."
New-AzSqlDatabaseFailoverGroup `
–ResourceGroupName $resourceGroupName `
-ServerName $serverName `
-PartnerServerName $drServerName `
–FailoverGroupName $failoverGroupName `
–FailoverPolicy Automatic `
-GracePeriodWithDataLossHours 2
$failovergroup
# Add the database to the failover group
Write-host "Adding the database to the failover group..."
Get-AzSqlDatabase `
-ResourceGroupName $resourceGroupName `
-ServerName $serverName `
-DatabaseName $databaseName | `
Add-AzSqlDatabaseToFailoverGroup `
-ResourceGroupName $resourceGroupName `
-ServerName $serverName `
-FailoverGroupName $failoverGroupName
Write-host "Successfully added the database to the failover group..."
# Check role of secondary replica
Write-host "Confirming the secondary replica is secondary...."
(Get-AzSqlDatabaseFailoverGroup `
-FailoverGroupName $failoverGroupName `
-ResourceGroupName $resourceGroupName `
-ServerName $drServerName).ReplicationRole
# Failover to secondary server
Write-host "Failing over failover group to the secondary..."
Switch-AzSqlDatabaseFailoverGroup `
-ResourceGroupName $resourceGroupName `
-ServerName $drServerName `
-FailoverGroupName $failoverGroupName
Write-host "Failed failover group successfully to" $drServerName
# Revert failover to primary server
Write-host "Failing over failover group to the primary...."
Switch-AzSqlDatabaseFailoverGroup `
-ResourceGroupName $resourceGroupName `
-ServerName $serverName `
-FailoverGroupName $failoverGroupName
Write-host "Failed failover group successfully back to" $serverName
# Show randomized variables
Write-host "Resource group name is" $resourceGroupName
Write-host "Password is" $password
Write-host "Server name is" $serverName
Write-host "DR Server name is" $drServerName
Write-host "Failover group name is" $failoverGroupName
# Clean up resources by removing the resource group
# Write-host "Removing resource group..."
# Remove-AzResourceGroup -ResourceGroupName $resourceGroupName
# Write-host "Resource group removed =" $resourceGroupName
Este script usa los siguientes comandos. Cada comando de la tabla crea un vínculo a documentación específica del comando.
Establece el servidor principal del grupo de conmutación por error mediante la conmutación por error de todas las bases de datos desde el servidor principal actual.
En este tutorial, ha agregado una base de datos de Azure SQL Database a un grupo de conmutación por error y ha probado la conmutación por error. Ha aprendido a:
Crear una base de datos en Azure SQL Database.
Crear un grupo de conmutación por error para la base de datos entre dos servidores.
Probar la conmutación por error.
Avance al siguiente tutorial sobre cómo agregar un grupo elástico a un grupo de conmutación por error.