Použití rozhraní REST API k synchronizaci dat mezi více databázemi
Platí pro: Azure SQL Database
Důležité
Synchronizace dat SQL budou vyřazeny 30. září 2027. Zvažte migraci na alternativní řešení replikace nebo synchronizace dat.
Tento příklad rozhraní REST API konfiguruje Synchronizace dat SQL pro synchronizaci dat mezi více databázemi.
Přehled Synchronizace dat SQL najdete v tématu Co je Synchronizace dat SQL pro Azure?
Synchronizace dat SQL nepodporuje službu Azure SQL Managed Instance ani Azure Synapse Analytics.
Vytvoření skupiny synchronizace
K vytvoření skupiny synchronizace použijte šablonu pro vytvoření nebo aktualizaci šablony.
Při vytváření skupiny synchronizace nepředávejte schéma synchronizace (tabulka\sloupec) a nepředávejte masterSyncMemberName
, protože skupina synchronizace neobsahuje informace o tabulce\sloupci.
Názvy skupin synchronizace nemohou obsahovat speciální znaky, ale mohou obsahovat písmena, číslice, podtržítka (_
), pomlčku (-
).
Minimální doba intervalu synchronizace skupin je pět sekund. Pokud je doba intervalu menší, použije se pět sekund.
Ukázkový požadavek na vytvoření skupiny synchronizace:
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"
}
}
Ukázková odpověď pro vytvoření skupiny synchronizace:
Stavový kód: 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"
}
Stavový kód: 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"
}
Vytvoření člena synchronizace
K vytvoření člena synchronizace použijte šablonu pro vytvoření nebo aktualizaci šablony.
Ukázkový požadavek na vytvoření člena synchronizace:
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"
}
}
Ukázková odpověď pro vytvoření člena synchronizace:
Stavový kód: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"
}
Stavový kód: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"
}
Aktualizace schématu
Po úspěšném vytvoření skupiny synchronizace aktualizujte schéma pomocí následujících šablon.
K aktualizaci schématu pro databázi centra použijte šablonu schématu centra aktualizace.
Ukázkový požadavek na aktualizaci schématu databáze centra:
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
Ukázková odpověď pro aktualizaci schématu databáze centra:
Stavový kód: 200
Stavový kód: 202
Pomocí šablony schémat centra seznamů zobrazíte seznam schémat databáze centra.
K aktualizaci schématu členské databáze použijte šablonu schématu člena aktualizace.
Pomocí šablony schématu člena seznamu můžete vypsat schéma členské databáze.
Až se schéma úspěšně aktualizuje, pokračujte k dalšímu kroku.
Aktualizace skupiny synchronizace
K aktualizaci skupiny synchronizace použijte šablonu pro vytvoření nebo aktualizaci.
Aktualizujte skupinu synchronizace zadáním schématu synchronizace. Zahrňte schéma a masterSyncMemberName
, což je název, který obsahuje schéma, které chcete použít.
Ukázkový požadavek na aktualizaci skupiny synchronizace:
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"
}
}
Ukázková odpověď pro aktualizaci skupiny synchronizace:
{
"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"
}
Aktualizace člena synchronizace
K aktualizaci člena synchronizace použijte šablonu pro vytvoření nebo aktualizaci.
Ukázkový požadavek na aktualizaci člena synchronizace:
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"
}
}
Ukázková odpověď pro aktualizaci člena synchronizace:
Stavový kód: 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"
}
Stavový kód: 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"
}
Aktivace synchronizace
K aktivaci operace synchronizace použijte šablonu synchronizace triggeru.
Ukázkový požadavek na aktivaci operace synchronizace:
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
Ukázková odpověď pro aktivaci operace synchronizace:
Stavový kód: 200
Související obsah
Další informace o Azure PowerShellu najdete v dokumentaci k Azure PowerShellu.
Další ukázkové skripty PowerShellu pro službu SQL Database najdete v tématu Skripty PowerShellu pro službu Azure SQL Database.
Další informace o Synchronizace dat SQL najdete tady:
- Přehled – Synchronizace dat napříč několika cloudovými a místními databázemi pomocí Synchronizace dat SQL v Azure
- Nastavení Synchronizace dat
- Použití webu Azure Portal – Kurz: Nastavení Synchronizace dat SQL pro synchronizaci dat mezi Azure SQL Database a SQL Serverem
- Použití PowerShellu – Použití PowerShellu k synchronizaci dat mezi databází ve službě Azure SQL Database a SQL Serverem
- Synchronizace dat Agent – Synchronizace dat Agent pro Synchronizace dat SQL v Azure
- Osvědčené postupy – Osvědčené postupy pro Synchronizace dat SQL v Azure
- Monitorování – Monitorování Synchronizace dat SQL s využitím protokolů služby Azure Monitor
- Řešení potíží – Řešení potíží s Synchronizace dat SQL v Azure
- Aktualizace schématu synchronizace
- Použití jazyka Transact-SQL – Automatizace replikace změn schématu v Synchronizace dat SQL v Azure
- Použití PowerShellu – Použití PowerShellu k aktualizaci schématu synchronizace v existující skupině synchronizace
Další informace o službě SQL Database najdete tady: