Verwenden der REST-API zum Synchronisieren von Daten zwischen mehreren Datenbanken
Gilt für: Azure SQL-Datenbank
Wichtig
SQL-Datensynchronisierung wird am 30. September 2027 ausgemustert. Erwägen Sie die Migration zu alternativen Datenreplikations-/Synchronisierungslösungen.
In diesem REST-API-Beispiel wird die SQL-Datensynchronisierung für die Synchronisierung von Daten zwischen mehreren Datenbanken konfiguriert.
Eine Übersicht über die SQL-Datensynchronisierung finden Sie unter Was ist die SQL-Datensynchronisierung für Azure?
Azure SQL Managed Instance oder Azure Synapse Analytics werden nicht von SQL-Datensynchronisierung unterstützt.
Erstellen der Synchronisierungsgruppe
Verwenden Sie die Vorlage zum Erstellen oder Aktualisieren, um eine Synchronisierungsgruppe zu erstellen.
Geben Sie beim Erstellen einer Synchronisierungsgruppe weder das Synchronisierungsschema (Tabelle\Spalte) noch masterSyncMemberName
weiter, da die Synchronisierungsgruppe zu diesem Zeitpunkt noch nicht über Tabellen-\Spalteninformationen verfügt.
Synchronisierungsgruppennamen dürfen keine Sonderzeichen enthalten, können aber Buchstaben, Zahlen, Unterstriche (_
), Gedankenstrich (-
) enthalten.
Die Mindestintervallzeit für die Gruppensynchronisierung beträgt fünf Sekunden. Wenn die Intervallzeit kleiner ist, werden fünf Sekunden verwendet.
Beispielanforderung zum Erstellen einer Synchronisierungsgruppe:
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"
}
}
Beispielantwort beim Erstellen einer Synchronisierungsgruppe:
Statuscode: 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"
}
Statuscode: 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"
}
Erstellen eines Synchronisierungsmitglieds
Verwenden Sie die Vorlage zum Erstellen oder Aktualisieren, um ein Synchronisierungsmitglied zu erstellen.
Beispielanforderung zum Erstellen eines Synchronisierungsmitglieds:
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"
}
}
Beispielantwort beim Erstellen eines Synchronisierungsmitglieds:
Statuscode: 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"
}
Statuscode: 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"
}
Aktualisieren des Schemas
Aktualisieren Sie nach erfolgreicher Erstellung der Synchronisierungsgruppe das Schema mithilfe der folgenden Vorlagen.
Verwenden Sie die Vorlage zum Aktualisieren des Hub-Schemas, um das Schema für die Hub-Datenbank zu aktualisieren.
Beispielanforderung zum Aktualisieren eines Hub-Datenbankschemas:
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
Beispielantwort beim Aktualisieren eines Hub-Datenbankschemas:
Statuscode: 200
Statuscode: 202
Verwenden Sie die Vorlage zum Auflisten von Hub-Schemas, um das Hub-Datenbankschema aufzulisten.
Verwenden Sie die Vorlage zum Aktualisieren des Mitgliederschemas, um das Mitgliederdatenbankschema zu aktualisieren.
Verwenden Sie die Vorlage zum Auflisten des Mitgliederschemas, um das Mitgliederdatenbankschema zu aufzulisten.
Fahren Sie erst mit dem nächsten Schritt fort, wenn das Schema erfolgreich aktualisiert wurde.
Aktualisieren der Synchronisierungsgruppe
Verwenden Sie die Vorlage zum Erstellen oder Aktualisieren, um Ihre Synchronisierungsgruppe zu aktualisieren.
Aktualisieren Sie die Synchronisierungsgruppe durch Angeben des Synchronisierungsschemas. Schließen Sie Ihr Schema sowie masterSyncMemberName
ein. Hierbei handelt es sich um den Namen, der das zu verwendende Schema enthält.
Beispielanforderung zum Aktualisieren der Synchronisierungsgruppe:
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"
}
}
Beispielantwort beim Aktualisieren der Synchronisierungsgruppe:
{
"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"
}
Aktualisieren des Synchronisierungsmitglieds
Verwenden Sie die Vorlage zum Erstellen oder Aktualisieren, um Ihr Synchronisierungsmitglied zu aktualisieren.
Beispielanforderung zum Aktualisieren eines Synchronisierungsmitglieds:
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"
}
}
Beispielantwort beim Aktualisieren eines Synchronisierungsmitglieds:
Statuscode: 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"
}
Statuscode: 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"
}
Auslösen einer Synchronisierung
Verwenden Sie die Vorlage zum Auslösen der Synchronisierung, um einen Synchronisierungsvorgang auszulösen.
Beispielanforderung zum Auslösen des Synchronisierungsvorgangs:
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
Beispielantwort beim Auslösen des Synchronisierungsvorgangs:
Statuscode: 200
Zugehöriger Inhalt
Weitere Informationen zu Azure PowerShell finden Sie in der Azure PowerShell-Dokumentation.
Zusätzliche PowerShell-Skriptbeispiele für SQL-Datenbank finden Sie unter Azure PowerShell-Beispiele für Azure SQL-Datenbank.
Weitere Informationen zur SQL-Datensynchronisierung finden Sie unter:
- Übersicht: Synchronisieren von Daten über mehrere Cloud- und lokale Datenbanken mit SQL-Datensynchronisierung in Azure
- Einrichten der Datensynchronisierung
- Verwenden des Azure-Portals: Tutorial: Einrichten der SQL-Datensynchronisierung zum Synchronisieren von Daten zwischen Azure SQL-Datenbank und SQL Server
- Verwenden von PowerShell: Verwenden von PowerShell zum Synchronisieren von Daten zwischen Azure SQL-Datenbank und SQL Server
- Datensynchronisierungs-Agent: Datensynchronisierungs-Agent für die SQL-Datensynchronisierung in Azure
- Bewährte Methoden: Bewährte Methoden für die SQL-Datensynchronisierung in Azure
- Überwachung: Überwachen der SQL-Datensynchronisierung mit Azure Monitor-Protokollen
- Problembehandlung: Behandeln von Problemen mit der SQL-Datensynchronisierung in Azure
- Aktualisieren des Synchronisierungsschemas
- Verwenden von Transact-SQL: Automatisieren der Replikation von Schemaänderungen in der SQL-Datensynchronisierung in Azure
- Verwenden von PowerShell: Verwenden von PowerShell zum Aktualisieren des Synchronisierungsschemas in einer bestehenden Synchronisierungsgruppe
Weitere Informationen zu SQL-Datenbank finden Sie hier: