Synchronizowanie danych między wieloma bazami danych za pomocą interfejsu API REST
Dotyczy: Azure SQL Database
Ważne
Usługa SQL Data Sync zostanie wycofana 30 września 2027 r. Rozważ migrację do alternatywnych rozwiązań replikacji/synchronizacji danych.
Ten przykład interfejsu API REST umożliwia skonfigurowanie usługi SQL Data Sync do synchronizowania danych między wieloma bazami danych.
Aby zapoznać się z omówieniem usługi SQL Data Sync, zobacz Co to jest usługa SQL Data Sync dla platformy Azure?
Usługa SQL Data Sync nie obsługuje usługi Azure SQL Managed Instance ani Azure Synapse Analytics.
Tworzenie grupy synchronizacji
Użyj szablonu tworzenia lub aktualizowania , aby utworzyć grupę synchronizacji.
Podczas tworzenia grupy synchronizacji nie przekazuj schematu synchronizacji (tabela\kolumna) i nie przekazuj masterSyncMemberName
elementu , ponieważ grupa synchronizacji nie ma informacji o tabeli\kolumnie.
Nazwy grup synchronizacji nie mogą zawierać znaków specjalnych, ale mogą zawierać litery, cyfry, podkreślenie (_
), kreskę (-
).
Minimalny czas interwału synchronizacji grup wynosi pięć sekund. Jeśli czas interwału jest mniejszy, zostanie użytych pięć sekund.
Przykładowe żądanie utworzenia grupy synchronizacji:
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"
}
}
Przykładowa odpowiedź na potrzeby tworzenia grupy synchronizacji:
Kod stanu: 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"
}
Kod stanu: 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"
}
Tworzenie elementu członkowskiego synchronizacji
Użyj szablonu tworzenia lub aktualizowania , aby utworzyć element członkowski synchronizacji.
Przykładowe żądanie utworzenia elementu członkowskiego synchronizacji:
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"
}
}
Przykładowa odpowiedź dotycząca tworzenia elementu członkowskiego synchronizacji:
Kod stanu: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"
}
Kod stanu: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"
}
Odśwież schemat
Po pomyślnym utworzeniu grupy synchronizacji odśwież schemat przy użyciu następujących szablonów.
Użyj szablonu schematu centrum odświeżania, aby odświeżyć schemat bazy danych centrum.
Przykładowe żądanie odświeżania schematu bazy danych centrum:
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
Przykładowa odpowiedź na potrzeby odświeżania schematu bazy danych centrum:
Kod stanu: 200
Kod stanu: 202
Użyj szablonu schematów centrum listy, aby wyświetlić listę schematu bazy danych centrum.
Użyj szablonu schematu elementu członkowskiego odświeżania, aby odświeżyć schemat bazy danych składowych.
Użyj szablonu schematu elementu członkowskiego listy, aby wyświetlić listę schematu bazy danych składowych.
Po pomyślnym odświeżeniu schematu przejdź tylko do następnego kroku.
Aktualizowanie grupy synchronizacji
Użyj szablonu tworzenia lub aktualizowania , aby zaktualizować grupę synchronizacji.
Zaktualizuj grupę synchronizacji, określając schemat synchronizacji. Uwzględnij schemat i masterSyncMemberName
, czyli nazwę, która zawiera schemat, którego chcesz użyć.
Przykładowe żądanie aktualizacji grupy synchronizacji:
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"
}
}
Przykładowa odpowiedź na potrzeby aktualizowania grupy synchronizacji:
{
"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"
}
Aktualizowanie elementu członkowskiego synchronizacji
Użyj szablonu tworzenia lub aktualizowania , aby zaktualizować członka synchronizacji.
Przykładowe żądanie aktualizacji elementu członkowskiego synchronizacji:
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"
}
}
Przykładowa odpowiedź dotycząca aktualizowania elementu członkowskiego synchronizacji:
Kod stanu: 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"
}
Kod stanu: 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"
}
Synchronizacja wyzwalacza
Użyj szablonu synchronizacji wyzwalacza, aby wyzwolić operację synchronizacji.
Przykładowe żądanie wyzwalania operacji synchronizacji:
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
Przykładowa odpowiedź na potrzeby wyzwalania operacji synchronizacji:
Kod stanu: 200
Powiązana zawartość
Aby uzyskać więcej informacji na temat programu Azure PowerShell, zobacz dokumentację programu Azure PowerShell.
Więcej przykładowych skryptów programu PowerShell dla usługi SQL Database można znaleźć w skryptach programu PowerShell dla usługi Azure SQL Database.
Aby uzyskać więcej informacji na temat usługi SQL Data Sync, zobacz:
- Omówienie — synchronizowanie danych w wielu chmurach i lokalnych bazach danych za pomocą usługi SQL Data Sync na platformie Azure
- Konfigurowanie usługi Data Sync
- Korzystanie z witryny Azure Portal — samouczek: konfigurowanie usługi SQL Data Sync w celu synchronizowania danych między usługą Azure SQL Database i programem SQL Server
- Używanie programu PowerShell — synchronizowanie danych między bazą danych w usłudze Azure SQL Database i programem SQL Server za pomocą programu PowerShell
- Agent usługi Data Sync — agent synchronizacji danych dla usługi SQL Data Sync na platformie Azure
- Najlepsze rozwiązania — najlepsze rozwiązania dotyczące usługi SQL Data Sync na platformie Azure
- Monitorowanie — monitorowanie usługi SQL Data Sync za pomocą dzienników usługi Azure Monitor
- Rozwiązywanie problemów — rozwiązywanie problemów z usługą SQL Data Sync na platformie Azure
- Aktualizowanie schematu synchronizacji
- Korzystanie z języka Transact-SQL — automatyzowanie replikacji zmian schematu w usłudze SQL Data Sync na platformie Azure
- Używanie programu PowerShell — aktualizowanie schematu synchronizacji w istniejącej grupie synchronizacji za pomocą programu PowerShell
Aby uzyskać więcej informacji na temat usługi SQL Database, zobacz: