Usa l'API REST per eseguire la sincronizzazione dei dati tra più database
Si applica a: Database SQL di Azure
Importante
Sincronizzazione dati SQL verrà ritirato il 30 settembre 2027. Valutare la possibilità di eseguire la migrazione a soluzioni alternative per la replica/sincronizzazione dei dati.
Questo esempio di API REST permette di configurare la sincronizzazione dati SQL per sincronizzare i dati tra più database.
Per una panoramica di Sincronizzazione dati SQL, vedere Che cos’è Sincronizzazione dati SQL per Azure?
Sincronizzazione dati SQL non supporta Istanza gestita di SQL di Azure o Azure Synapse Analytics.
Creare un gruppo di sincronizzazione
Usa il modello crea o aggiorna per creare un gruppo di sincronizzazione.
Quando si crea un gruppo di sincronizzazione, è opportuno non passare lo schema di sincronizzazione (tabella\colonna) e non passare masterSyncMemberName
, perché il gruppo di sincronizzazione non dispone ancora di informazioni sulla tabella\colonna.
I nomi dei gruppi di sincronizzazione non possono contenere caratteri speciali, ma possono contenere lettere, numeri, underscore (_
), trattino (-
).
L'intervallo minimo per la sincronizzazione dei gruppi è di cinque secondi. Se il tempo di intervallo è inferiore, verranno usati cinque secondi.
Richiesta di esempio per la creazione di un gruppo di sincronizzazione:
PUT https://management.azure.com/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-65440/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328/syncGroups/syncgroupcrud-3187?api-version=2015-05-01-preview
{
"properties": {
"interval": -1,
"lastSyncTime": "0001-01-01T08:00:00Z",
"conflictResolutionPolicy": "HubWin",
"syncDatabaseId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-3521/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328",
"hubDatabaseUserName": "hubUser"
}
}
Risposta di esempio per la creazione di un gruppo di sincronizzazione:
Codice di stato: 200
{
"properties": {
"interval": -1,
"lastSyncTime": "0001-01-01T08:00:00Z",
"conflictResolutionPolicy": "HubWin",
"syncDatabaseId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-3521/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328",
"hubDatabaseUserName": "hubUser",
"syncState": "NotReady"
},
"id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-3521/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328/syncGroups/syncgroupcrud-3187",
"name": "syncgroupcrud-3187",
"type": "Microsoft.Sql/servers/databases/syncGroups"
}
Codice di stato: 201
{
"properties": {
"interval": -1,
"lastSyncTime": "0001-01-01T08:00:00Z",
"conflictResolutionPolicy": "HubWin",
"syncDatabaseId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-3521/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328",
"hubDatabaseUserName": "hubUser",
"syncState": "NotReady"
},
"id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-3521/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328/syncGroups/syncgroupcrud-3187",
"name": "syncgroupcrud-3187",
"type": "Microsoft.Sql/servers/databases/syncGroups"
}
Creare un membro di sincronizzazione
Usa il modello crea o aggiorna per creare un membro di sincronizzazione.
Richiesta di esempio per la creazione di un membro di sincronizzazione:
PUT https://management.azure.com/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-65440/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328/syncGroups/syncgroupcrud-3187/syncMembers/syncgroupcrud-4879?api-version=2015-05-01-preview
{
"properties": {
"databaseType": "AzureSqlDatabase",
"serverName": "syncgroupcrud-3379.database.windows.net",
"databaseName": "syncgroupcrud-7421",
"userName": "myUser",
"syncDirection": "Bidirectional",
"syncState": "UnProvisioned"
}
}
Risposta di esempio per la creazione di un membro di sincronizzazione:
Codice di stato: 200
{
"properties": {
"databaseType": "AzureSqlDatabase",
"serverName": "syncgroupcrud-3379.database.windows.net",
"databaseName": "syncgroupcrud-7421",
"userName": "myUser",
"syncDirection": "Bidirectional",
"syncState": "UnProvisioned"
},
"id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-65440/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328/syncGroups/syncgroupcrud-3187/syncMembers/syncgroupcrud-4879",
"name": "syncgroupcrud-4879",
"type": "Microsoft.Sql/servers/databases/syncGroups/syncMembers"
}
Codice di stato: 201
{
"properties": {
"databaseType": "AzureSqlDatabase",
"serverName": "syncgroupcrud-3379.database.windows.net",
"databaseName": "syncgroupcrud-7421",
"userName": "myUser",
"syncDirection": "Bidirectional",
"syncState": "UnProvisioned"
},
"id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-65440/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328/syncGroups/syncgroupcrud-3187/syncMembers/syncgroupcrud-4879",
"name": "syncgroupcrud-4879",
"type": "Microsoft.Sql/servers/databases/syncGroups/syncMembers"
}
Aggiorna schema
Dopo aver creato correttamente il gruppo di sincronizzazione, aggiorna lo schema usando i modelli seguenti.
Usa il modello di aggiornamento dello schema dell'hub per aggiornare lo schema del database hub.
Richiesta di esempio per l'aggiornamento di uno schema del database hub:
POST https://management.azure.com/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-65440/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328/syncGroups/syncgroupcrud-3187/refreshHubSchema?api-version=2015-05-01-preview
Risposta di esempio per l'aggiornamento di uno schema del database hub:
Codice di stato: 200
Codice di stato: 202
Usare il modello di elenco dello schema dell'hub per elencare lo schema del database hub.
Usa il modello di aggiornamento dello schema del membro per aggiornare lo schema del database membro.
Usare il modello di elenco dello schema del membro per elencare lo schema del database membro.
Procedi al passaggio successivo solo dopo che lo schema è stato aggiornato correttamente.
Aggiornare un gruppo di sincronizzazione
Usa il modello crea o aggiorna per aggiornare un gruppo di sincronizzazione.
Aggiorna il gruppo di sincronizzazione specificando lo schema di sincronizzazione. Includi lo schema e masterSyncMemberName
, ovvero il nome che contiene lo schema da usare.
Richiesta di esempio per l'aggiornamento del gruppo di sincronizzazione:
PUT https://management.azure.com/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-65440/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328/syncGroups/syncgroupcrud-3187?api-version=2015-05-01-preview
{
"properties": {
"interval": -1,
"lastSyncTime": "0001-01-01T08:00:00Z",
"conflictResolutionPolicy": "HubWin",
"syncDatabaseId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-3521/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328",
"hubDatabaseUserName": "hubUser"
}
}
Risposta di esempio per l'aggiornamento del gruppo di sincronizzazione:
{
"properties": {
"interval": -1,
"lastSyncTime": "0001-01-01T08:00:00Z",
"conflictResolutionPolicy": "HubWin",
"syncDatabaseId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-3521/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328",
"hubDatabaseUserName": "hubUser",
"syncState": "NotReady"
},
"id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-3521/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328/syncGroups/syncgroupcrud-3187",
"name": "syncgroupcrud-3187",
"type": "Microsoft.Sql/servers/databases/syncGroups"
}
{
"properties": {
"interval": -1,
"lastSyncTime": "0001-01-01T08:00:00Z",
"conflictResolutionPolicy": "HubWin",
"syncDatabaseId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-3521/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328",
"hubDatabaseUserName": "hubUser",
"syncState": "NotReady"
},
"id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-3521/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328/syncGroups/syncgroupcrud-3187",
"name": "syncgroupcrud-3187",
"type": "Microsoft.Sql/servers/databases/syncGroups"
}
Aggiornare un membro di sincronizzazione
Usa il modello crea o aggiorna per aggiornare un membro di sincronizzazione.
Richiesta di esempio per l'aggiornamento di un membro di sincronizzazione:
PUT https://management.azure.com/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-65440/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328/syncGroups/syncgroupcrud-3187/syncMembers/syncgroupcrud-4879?api-version=2015-05-01-preview
{
"properties": {
"databaseType": "AzureSqlDatabase",
"serverName": "syncgroupcrud-3379.database.windows.net",
"databaseName": "syncgroupcrud-7421",
"userName": "myUser",
"syncDirection": "Bidirectional",
"syncState": "UnProvisioned"
}
}
Risposta di esempio per l'aggiornamento di un membro di sincronizzazione:
Codice di stato: 200
{
"properties": {
"databaseType": "AzureSqlDatabase",
"serverName": "syncgroupcrud-3379.database.windows.net",
"databaseName": "syncgroupcrud-7421",
"userName": "myUser",
"syncDirection": "Bidirectional",
"syncState": "UnProvisioned"
},
"id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-65440/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328/syncGroups/syncgroupcrud-3187/syncMembers/syncgroupcrud-4879",
"name": "syncgroupcrud-4879",
"type": "Microsoft.Sql/servers/databases/syncGroups/syncMembers"
}
Codice di stato: 201
{
"properties": {
"databaseType": "AzureSqlDatabase",
"serverName": "syncgroupcrud-3379.database.windows.net",
"databaseName": "syncgroupcrud-7421",
"userName": "myUser",
"syncDirection": "Bidirectional",
"syncState": "UnProvisioned"
},
"id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-65440/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328/syncGroups/syncgroupcrud-3187/syncMembers/syncgroupcrud-4879",
"name": "syncgroupcrud-4879",
"type": "Microsoft.Sql/servers/databases/syncGroups/syncMembers"
}
Attivare la sincronizzazione
Usa il modello di sincronizzazione del trigger per attivare un'operazione di sincronizzazione.
Richiesta di esempio per l'attivazione dell'operazione di sincronizzazione:
POST https://management.azure.com/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/syncgroupcrud-65440/providers/Microsoft.Sql/servers/syncgroupcrud-8475/databases/syncgroupcrud-4328/syncGroups/syncgroupcrud-3187/triggerSync?api-version=2015-05-01-preview
Risposta di esempio per l'attivazione dell'operazione di sincronizzazione:
Codice di stato: 200
Contenuto correlato
Per altre informazioni su Azure PowerShell, vedere la documentazione di Azure PowerShell.
Per altri esempi, vedere tra gli script di PowerShell per database SQL di Azure.
Per altre informazioni sulla sincronizzazione dati SQL, vedere:
- Panoramica: Sincronizzare i dati tra più database cloud e locali con Sincronizzazione dati SQL in Azure
- Configurare la sincronizzazione dati
- Data Sync Agent: Data Sync Agent per la sincronizzazione dati SQL in Azure
- Procedure consigliate: Procedure consigliate per la sincronizzazione dati SQL in Azure
- Monitoraggio: Monitorare la sincronizzazione dati SQL con i log di Monitoraggio di Azure
- Risoluzione dei problemi: Risolvere i problemi relativi alla sincronizzazione dati SQL in Azure
- Aggiornare lo schema di sincronizzazione
Per altre informazioni sul database SQL, vedere: