Usar PowerShell para actualizar el esquema de sincronización en un grupo de sincronización existente
Se aplica a: Azure SQL Database
Importante
SQL Data Sync se retirará el 30 de septiembre de 2027. Considere la posibilidad de migrar a soluciones alternativas de replicación o sincronización de datos.
En este ejemplo de Azure PowerShell se actualiza el esquema de sincronización en un grupo de sincronización de SQL Data Sync existente. Cuando se sincronizan varias tablas, este script le ayuda a actualizar eficazmente el esquema de sincronización. En este ejemplo se muestra el uso del script de UpdateSyncSchema, que está disponible en GitHub como UpdateSyncSchema.ps1.
Si no tiene una suscripción a Azure, cree una cuenta gratuita de Azure antes de empezar.
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.
Uso de Azure Cloud Shell
En Azure se hospeda Azure Cloud Shell, un entorno de shell interactivo que puede utilizar mediante el explorador. Puede usar Bash o PowerShell con Cloud Shell para trabajar con los servicios de Azure. 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.
Para iniciar Azure Cloud Shell:
Opción | Ejemplo o vínculo |
---|---|
Seleccione Pruébelo en la esquina superior derecha de un bloque de código. Solo con seleccionar Pruébelo no se copia automáticamente el código en Cloud Shell. | |
Vaya a https://shell.azure.com o seleccione el botón Iniciar Cloud Shell para abrir Cloud Shell en el explorador. | |
Seleccione el botón Cloud Shell en la barra de menús de la esquina superior derecha de Azure Portal. |
Para ejecutar el código de este artículo en Azure Cloud Shell:
Inicie Cloud Shell.
Seleccione el botón Copiar de un bloque de código para copiar el código.
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.
Seleccione Entrar para ejecutar el código.
Si decide instalar y usar PowerShell de manera local, en este tutorial se requiere la versión 1.4.0 de Azure PowerShell o una posterior. Si necesita actualizarla, consulte Instalación del módulo de Azure PowerShell. Si PowerShell se ejecuta localmente, también debe ejecutar Connect-AzAccount
para crear una conexión con Azure.
Para obtener información general sobre SQL Data Sync, vea ¿Qué es SQL Data Sync para Azure?
SQL Data Sync no es compatible con Azure SQL Managed Instance ni con Azure Synapse Analytics.
Ejemplos
Agregar todas las tablas al esquema de sincronización
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.
UpdateSyncSchema.ps1 -SubscriptionId <subscriptionId> -ResourceGroupName <resourceGroupName> -ServerName <serverName> -DatabaseName <databaseName> `
-SyncGroupName <syncGroupName> -RefreshDatabaseSchema $true -AddAllTables $true
Agregar y quitar tablas y columnas
En el ejemplo siguiente se agregan [dbo].[Table1]
y [dbo].[Table2].[Column1]
al esquema de sincronización y se quita [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 script
El script UpdateSyncSchema tiene los parámetros siguientes:
Parámetro | Notas |
---|---|
$subscriptionId | Suscripción en la que se creó el grupo de sincronización. |
$resourceGroupName | Grupo de recursos en el que se creó el grupo de sincronización. |
$serverName | Nombre de servidor de la base de datos central. |
$databaseName | Nombre de la base de datos central. |
$syncGroupName | Nombre del grupo de sincronización. |
$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. Si quiere cargar el esquema de base de datos desde la central, deje vacío este parámetro. |
$timeoutInSeconds | Tiempo de espera después del cual el script actualiza el esquema de base de datos. El valor predeterminado es 900 segundos. |
$refreshDatabaseSchema | Permite especificar si el script debe actualizar el esquema de la base de datos. 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. El valor predeterminado es False. |
$addAllTables | Si este valor es true, todas las tablas y columnas válidas se agregan al esquema de sincronización. Se omiten los valores de $TablesAndColumnsToAdd y $TablesAndColumnsToRemove. |
$tablesAndColumnsToAdd | Permite especificar las tablas o columnas que se agregarán al esquema de sincronización. Cada nombre de tabla o columna debe delimitarse totalmente con el nombre del esquema. Por ejemplo: [dbo].[Table1] , [dbo].[Table2].[Column1] . Pueden especificarse varios nombres de tabla o columna y separarse por una coma (,). |
$tablesAndColumnsToRemove | Permite especificar las tablas o columnas que se eliminarán del esquema de sincronización. Cada nombre de tabla o columna debe delimitarse totalmente con el nombre de esquema. Por ejemplo: [dbo].[Table1] , [dbo].[Table2].[Column1] . Pueden especificarse varios nombres de tabla o columna y separarse por una coma (,). |
Explicación del script
El script UpdateSyncSchema usa los comandos siguientes. Cada comando de la tabla crea un vínculo a documentación específica del comando.
Get-Help | Notas |
---|---|
Get-AzSqlSyncGroup | Devuelve información sobre un grupo de sincronización. |
Update-AzSqlSyncGroup | Actualiza un grupo de sincronización. |
Get-AzSqlSyncMember | Devuelve información sobre un miembro de sincronización. |
Get-AzSqlSyncSchema | Devuelve información sobre un esquema de sincronización. |
Update-AzSqlSyncSchema | Actualiza un esquema de sincronización. |
Contenido relacionado
Para más información sobre Azure PowerShell, consulte la documentación de Azure PowerShell.
Encontrará más ejemplos de scripts de PowerShell de SQL Database en los scripts de PowerShell de Azure SQL Database.
Para más información acerca de SQL Data Sync, consulte:
- Introducción: Sincronización datos entre Azure SQL Database y SQL Server con Azure SQL Data Sync
- Configuración de Data Sync
- Uso de Azure Portal: Tutorial: Configuración de SQL Data Sync para sincronizar datos entre Azure SQL Database y SQL Server
- Uso de PowerShell
- Data Sync Agent: Data Sync Agent para Azure SQL Data Sync
- Procedimientos recomendados: Procedimientos recomendados para Azure SQL Data Sync
- Supervisión: Monitor SQL Data Sync with Azure Monitor logs (Supervisión de SQL Data Sync con registros de Azure Monitor)
- Solución de problemas: Solución de problemas con Azure SQL Data Sync
- Actualización del esquema sincrónico
- Uso de Transact-SQL: Automatización de la replicación de los cambios de esquema en Azure SQL Data Sync
Para obtener más información sobre SQL Database, vea: