Usar PowerShell para actualizar el esquema de sincronización en un grupo de sincronización existenteUse PowerShell to update the sync schema in an existing sync group

SE APLICA A: Azure SQL Database

En este ejemplo de Azure PowerShell se actualiza el esquema de sincronización en un grupo de sincronización de SQL Data Sync existente.This Azure PowerShell example updates the sync schema in an existing SQL Data Sync sync group. Cuando se sincronizan varias tablas, este script le ayuda a actualizar eficazmente el esquema de sincronización.When you're syncing multiple tables, this script helps you to update the sync schema efficiently. En este ejemplo se muestra el uso del script de UpdateSyncSchema, que está disponible en GitHub como UpdateSyncSchema.ps1.This example demonstrates the use of the UpdateSyncSchema script, which is available on GitHub as UpdateSyncSchema.ps1.

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 módulo Az de Azure PowerShell.This article has been updated to use the Azure Az PowerShell module. El módulo Az de PowerShell es el módulo de PowerShell que se recomienda para interactuar con Azure.The Az PowerShell module is the recommended PowerShell module for interacting with Azure. Para empezar a trabajar con el módulo Az de PowerShell, consulte Instalación de Azure PowerShell.To get started with the Az PowerShell module, see Install 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.To learn how to migrate to the Az PowerShell module, see Migrate Azure PowerShell from AzureRM to Az.

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 de Azure PowerShell o posterior.If you choose to install and use PowerShell locally, this tutorial requires Az 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.

Para obtener información general acerca de SQL Data Sync, consulte Sincronización de datos entre varias bases de datos locales y de la nube con Azure SQL Data Sync.For an overview of SQL Data Sync, see Sync data across multiple cloud and on-premises databases with Azure SQL Data Sync.

Importante

SQL Data Sync no admite en este momento Instancia administrada de Azure SQL.SQL Data Sync does not support Azure SQL Managed Instance at this time.

EjemplosExamples

Agregar todas las tablas al esquema de sincronizaciónAdd all tables to the sync schema

En el ejemplo siguiente se actualiza el esquema de base de datos y agregan todas las tablas válidas de la base de datos central en el esquema de sincronización.The following example refreshes the database schema and adds all valid tables in the hub database to the sync schema.

UpdateSyncSchema.ps1 -SubscriptionId <subscriptionId> -ResourceGroupName <resourceGroupName> -ServerName <serverName> -DatabaseName <databaseName> `
    -SyncGroupName <syncGroupName> -RefreshDatabaseSchema $true -AddAllTables $true

Agregar y quitar tablas y columnasAdd and remove tables and columns

En el ejemplo siguiente se agregan [dbo].[Table1] y [dbo].[Table2].[Column1] al esquema de sincronización y se quita [dbo].[Table3].The following example adds [dbo].[Table1] and [dbo].[Table2].[Column1] to the sync schema and removes [dbo].[Table3].

UpdateSyncSchema.ps1 -SubscriptionId <subscriptionId> -ResourceGroupName <resourceGroupName> -ServerName <serverName> -DatabaseName <databaseName> `
    -SyncGroupName <syncGroupName> -TablesAndColumnsToAdd "[dbo].[Table1],[dbo].[Table2].[Column1]" -TablesAndColumnsToRemove "[dbo].[Table3]"

Parámetros de scriptScript parameters

El script UpdateSyncSchema tiene los parámetros siguientes:The UpdateSyncSchema script has the following parameters:

ParámetroParameter NotasNotes
$subscriptionId$subscriptionId Suscripción en la que se creó el grupo de sincronización.The subscription where the sync group is created.
$resourceGroupName$resourceGroupName Grupo de recursos en el que se creó el grupo de sincronización.The resource group where the sync group is created.
$serverName$serverName Nombre de servidor de la base de datos central.The server name of the hub database.
$databaseName$databaseName Nombre de la base de datos central.The hub database name.
$syncGroupName$syncGroupName Nombre del grupo de sincronización.The sync group name.
$memberName$memberName Especifique el nombre de miembro si quiere cargar el esquema de base de datos desde el miembro de sincronización en lugar de desde la base de datos central.Specify the member name if you want to load the database schema from the sync member instead of from the hub database. Si quiere cargar el esquema de base de datos desde la central, deje vacío este parámetro.If you want to load the database schema from the hub, leave this parameter empty.
$timeoutInSeconds$timeoutInSeconds Tiempo de espera después del cual el script actualiza el esquema de base de datos.Timeout when the script refreshes database schema. El valor predeterminado es 900 segundos.Default is 900 seconds.
$refreshDatabaseSchema$refreshDatabaseSchema Permite especificar si el script debe actualizar el esquema de la base de datos.Specify whether the script needs to refresh the database schema. Si el esquema de la base de datos cambió desde la configuración anterior (por ejemplo, si agregó una tabla o una columna nueva), deberá actualizar el esquema antes de volver a configurarlo.If your database schema changed from the previous configuration (for example, if you added a new table or anew column), you need to refresh the schema before you reconfigure it. El valor predeterminado es False.Default is false.
$addAllTables$addAllTables Si este valor es true, todas las tablas y columnas válidas se agregan al esquema de sincronización.If this value is true, all valid tables and columns are added to the sync schema. Se omiten los valores de $TablesAndColumnsToAdd y $TablesAndColumnsToRemove.The values of $TablesAndColumnsToAdd and $TablesAndColumnsToRemove are ignored.
$tablesAndColumnsToAdd$tablesAndColumnsToAdd Permite especificar las tablas o columnas que se agregarán al esquema de sincronización.Specify tables or columns to be added to the sync schema. Cada nombre de tabla o columna debe delimitarse totalmente con el nombre del esquema.Each table or column name needs to be fully delimited with the schema name. Por ejemplo: [dbo].[Table1], [dbo].[Table2].[Column1].For example: [dbo].[Table1], [dbo].[Table2].[Column1]. Pueden especificarse varios nombres de tabla o columna y separarse por una coma (,).Multiple table or column names can be specified and separated by a comma (,).
$tablesAndColumnsToRemove$tablesAndColumnsToRemove Permite especificar las tablas o columnas que se eliminarán del esquema de sincronización.Specify tables or columns to be removed from the sync schema. Cada nombre de tabla o columna debe delimitarse totalmente con el nombre de esquema.Each table or column name needs to be fully delimited with schema name. Por ejemplo: [dbo].[Table1], [dbo].[Table2].[Column1].For example: [dbo].[Table1], [dbo].[Table2].[Column1]. Pueden especificarse varios nombres de tabla o columna y separarse por una coma (,).Multiple table or column names can be specified and separated by a comma (,).

Explicación del scriptScript explanation

El script UpdateSyncSchema usa los comandos siguientes.The UpdateSyncSchema 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
Get-AzSqlSyncGroupGet-AzSqlSyncGroup Devuelve información sobre un grupo de sincronización.Returns information about a sync group.
Update-AzSqlSyncGroupUpdate-AzSqlSyncGroup Actualiza un grupo de sincronización.Updates a sync group.
Get-AzSqlSyncMemberGet-AzSqlSyncMember Devuelve información sobre un miembro de sincronización.Returns information about a sync member.
Get-AzSqlSyncSchemaGet-AzSqlSyncSchema Devuelve información sobre un esquema de sincronización.Returns information about a sync schema.
Update-AzSqlSyncSchemaUpdate-AzSqlSyncSchema Actualiza un esquema de sincronización.Updates a sync schema.

Pasos siguientesNext steps

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

Encontrará más ejemplos de scripts de PowerShell de SQL Database en los scripts de PowerShell de Azure SQL Database.Additional SQL Database PowerShell script samples can be found in Azure SQL Database PowerShell scripts.

Para más información acerca de SQL Data Sync, consulte:For more information about SQL Data Sync, see:

Para obtener más información sobre SQL Database, vea:For more information about SQL Database, see: