Uso de PowerShell para restaurar una base de datos de Instancia administrada de Azure SQL en otra región con replicación geográficaUse PowerShell to restore an Azure SQL Managed Instance database to another geo-region

SE APLICA A: sí Instancia administrada de Azure SQL APPLIES TO: yesAzure SQL Managed Instance

Este ejemplo de script de PowerShell restaura una base de datos de Instancia administrada de Azure SQL Database desde una región remota con replicación geográfica (georestauración).This PowerShell script example restores an Azure SQL Managed Instance database from a remote geo-region (geo-restore).

Si no tiene una suscripción a Azure, cree una cuenta gratuita antes de empezar.If you don't have an Azure subscription, create a free account before you begin.

Nota

Este artículo se ha actualizado para usar el nuevo módulo Az de Azure PowerShell.This article has been updated to use the new Azure PowerShell Az module. Aún puede usar el módulo de AzureRM que continuará recibiendo correcciones de errores hasta diciembre de 2020 como mínimo.You can still use the AzureRM module, which will continue to receive bug fixes until at least December 2020. Para más información acerca del nuevo módulo Az y la compatibilidad con AzureRM, consulte Introducing the new Azure PowerShell Az module (Presentación del nuevo módulo Az de Azure PowerShell).To learn more about the new Az module and AzureRM compatibility, see Introducing the new Azure PowerShell Az module. Para obtener instrucciones sobre la instalación del módulo Az, consulte Instalación de Azure PowerShell.For Az module installation instructions, see Install Azure PowerShell.

Uso de Azure Cloud ShellUse Azure Cloud Shell

En Azure se hospeda Azure Cloud Shell, un entorno de shell interactivo que puede utilizar mediante el explorador.Azure hosts Azure Cloud Shell, an interactive shell environment that you can use through your browser. Puede usar Bash o PowerShell con Cloud Shell para trabajar con los servicios de Azure.You can use either Bash or PowerShell with Cloud Shell to work with Azure services. Puede usar los comandos preinstalados de Cloud Shell para ejecutar el código de este artículo sin tener que instalar nada en su entorno local.You can use the Cloud Shell preinstalled commands to run the code in this article without having to install anything on your local environment.

Para iniciar Azure Cloud Shell:To start Azure Cloud Shell:

OpciónOption Ejemplo o vínculoExample/Link
Seleccione Pruébelo en la esquina superior derecha de un bloque de código.Select Try It in the upper-right corner of a code block. Solo con seleccionar Pruébelo no se copia automáticamente el código en Cloud Shell.Selecting Try It doesn't automatically copy the code to Cloud Shell. Ejemplo de Probarlo para Azure Cloud Shell
Vaya a https://shell.azure.com o seleccione el botón Iniciar Cloud Shell para abrir Cloud Shell en el explorador.Go to https://shell.azure.com, or select the Launch Cloud Shell button to open Cloud Shell in your browser. Iniciar Cloud Shell en una nueva ventanaLaunch Cloud Shell in a new window
Seleccione el botón Cloud Shell en la barra de menús de la esquina superior derecha de Azure Portal.Select the Cloud Shell button on the menu bar at the upper right in the Azure portal. Botón Cloud Shell en Azure Portal

Para ejecutar el código de este artículo en Azure Cloud Shell:To run the code in this article in Azure Cloud Shell:

  1. Inicie Cloud Shell.Start Cloud Shell.

  2. Seleccione el botón Copiar de un bloque de código para copiar el código.Select the Copy button on a code block to copy the code.

  3. Pegue el código en la sesión de Cloud Shell. Para ello, seleccione Ctrl+Mayús+V en Windows y Linux, o bien seleccione Cmd+Mayús+V en macOS.Paste the code into the Cloud Shell session by selecting Ctrl+Shift+V on Windows and Linux or by selecting Cmd+Shift+V on macOS.

  4. Seleccione Entrar para ejecutar el código.Select Enter to run the code.

Si decide instalar y usar PowerShell de manera local, en este tutorial se requiere la versión 1.4.0 o posterior de Azure PowerShell.If you choose to install and use PowerShell locally, this tutorial requires Azure PowerShell 1.4.0 or later. Si necesita actualizarla, consulte Instalación del módulo de Azure PowerShell.If you need to upgrade, see Install Azure PowerShell module. Si PowerShell se ejecuta localmente, también debe ejecutar Connect-AzAccount para crear una conexión con Azure.If you are running PowerShell locally, you also need to run Connect-AzAccount to create a connection with Azure.

Script de ejemploSample script

# Connect-AzAccount
# The SubscriptionId in which to create these objects
$SubscriptionId = '<put subscription_id here>'
# Set the information for your managed instance
$SourceResourceGroupName = "myResourceGroup-$(Get-Random)"
$SourceInstanceName = "myManagedInstance-$(Get-Random)"
$SourceDatabaseName = "myInstanceDatabase-$(Get-Random)"

# Set the information for your destination managed instance
$TargetResourceGroupName = "myTargetResourceGroup-$(Get-Random)"
$TargetInstanceName = "myTargetManagedInstance-$(Get-Random)"
$TargetDatabaseName = "myTargetInstanceDatabase-$(Get-Random)"

Connect-AzAccount
Set-AzContext -SubscriptionId $SubscriptionId

$backup = Get-AzSqlInstanceDatabaseGeoBackup `
-ResourceGroupName $SourceResourceGroupName `
-InstanceName $SourceInstanceName `
-Name $SourceDatabaseName

$backup | Restore-AzSqlInstanceDatabase -FromGeoBackup `
-TargetInstanceDatabaseName $TargetDatabaseName `
-TargetInstanceName $TargetInstanceName `
-TargetResourceGroupName $TargetResourceGroupName

Limpieza de la implementaciónClean up deployment

Use el siguiente comando para quitar el grupo de recursos y todos los recursos que tenga asociados.Use the following command to remove the resource group and all resources associated with it.

Remove-AzResourceGroup -ResourceGroupName $TargetResourceGroupName

Explicación del scriptScript explanation

Este script usa los siguientes comandos.This script uses the following commands. Cada comando de la tabla crea un vínculo a documentación específica del comando.Each command in the table links to command specific documentation.

Get-HelpCommand NotasNotes
New-AzResourceGroupNew-AzResourceGroup Crea un grupo de recursos en el que se almacenan todos los recursos.Creates a resource group in which all resources are stored.
Get-AzSqlInstanceDatabaseGeoBackupGet-AzSqlInstanceDatabaseGeoBackup Crea una copia de seguridad con redundancia geográfica de una base de datos de Instancia administrada de SQL.Creates a geo-redundant backup of a SQL Managed Instance database.
Restore-AzSqlInstanceDatabaseRestore-AzSqlInstanceDatabase Crea una base de datos en Instancia administrada de SQL a partir de una copia de seguridad con replicación geográfica.Creates a database on SQL Managed Instance from geo-backup.
Remove-AzResourceGroupRemove-AzResourceGroup Elimina un grupo de recursos, incluidos todos los recursos anidados.Deletes a resource group, including all nested resources.

Pasos siguientesNext steps

Para más información sobre PowerShell, consulte la documentación de Azure PowerShell.For more information about PowerShell, see Azure PowerShell documentation.

Se pueden encontrar más ejemplos de scripts de PowerShell para Azure SQL Database en Scripts de Azure PowerShell para Azure SQL Database.Additional PowerShell script samples for Azure SQL Database can be found in Azure SQL Database PowerShell scripts.