استخدام واجهة برمجة التطبيقات REST لمزامنة البيانات بين قواعد بيانات متعددة
ينطبق على: قاعدة بيانات Azure SQL
هذا المثال على واجهة برمجة التطبيقات REST يقوم بتكوين SQL Data Sync لمزامنة البيانات بين قواعد بيانات متعددة.
للحصول على نظرة عامة حول SQL Data Sync، راجع مزامنة البيانات عبر عدة قواعد بيانات سحابية و محلية مع SQL Data Sync في Azure.
هام
لا يدعم SQL Data Sync المثيل المدار Azure SQL في الوقت الحالي.
إنشاء مجموعة مزامنة
استخدم قالب إنشاء أو تحديث لإنشاء مجموعة مزامنة.
عند إنشاء مجموعة مزامنة، لا تمر في مخطط المزامنة (جدول\عمود) ولا تمر في masterSyncMemberName، لأنه في ذلك الوقت لا تكون لدى مجموعة المزامنة معلومات الجدول\العمود بعد.
نموذج طلب لإنشاء مجموعة مزامنة:
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"
}
}
نموذج استجابة لإنشاء مجموعة مزامنة:
رمز الحالة: 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"
}
رمز الحالة: 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"
}
إنشاء عضو مزامنة
استخدم قالب إنشاء أو تحديث لإنشاء عضو مزامنة.
نموذج طلب لإنشاء عضو مزامنة:
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"
}
}
نموذج استجابة لإنشاء عضو مزامنة:
رمز الحالة: 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"
}
رمز الحالة: 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"
}
تحديث المخطط
بمجرد إنشاء مجموعة المزامنة بنجاح، حدّث المخطط باستخدام القوالب التالية.
استخدم القالب refresh hub schema لتحديث مخطط قاعدة بيانات المركز.
نموذج طلب تحديث مخطط قاعدة بيانات المركز:
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
نموذج استجابة تحديث مخطط قاعدة بيانات المركز:
رمز الحالة: 200
رمز الحالة: 202
استخدم قالب سرد مخططات المركز لسرد مخطط قاعدة بيانات المركز.
استخدم قالب تحديث مخطط العضو لتحديث مخطط قاعدة بيانات العضو.
استخدم قالب سرد مخطط العضو لسرد مخطط قاعدة بيانات العضو.
لا تنتقل إلى الخطوة التالية إلا بعد تحديث مخططك بنجاح.
تحديث مجموعة مزامنة
استخدم قالب إنشاء أو تحديث لتحديث مجموعة المزامنة الخاصة بك.
تحديث مجموعة المزامنة عن طريق تحديد مخطط المزامنة. تضمين المخطط و masterSyncMemberName، وهو الاسم الذي يحتوي المخطط الذي تريد استخدامه.
نموذج طلب لتحديث مجموعة مزامنة:
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"
}
}
نموذج استجابة لتحديث مجموعة مزامنة:
{
"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"
}
تحديث عضو مزامنة
استخدم قالب إنشاء أو تحديث لتحديث عضو المزامنة الخاص بك.
نموذج طلب لتحديث عضو مزامنة:
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"
}
}
نموذج استجابة لتحديث عضو مزامنة:
رمز الحالة: 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"
}
رمز الحالة: 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"
}
تشغيل المزامنة
استخدم قالب تشغيل المزامنة لتشغيل عملية مزامنة.
نموذج طلب لتشغيل عملية المزامنة:
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
نموذج استجابة لتشغيل عملية المزامنة:
رمز الحالة: 200
الخطوات التالية
لمزيد من المعلومات حول Azure PowerShell، راجع وثائق Azure PowerShell.
يمكن العثور على المزيد من عينات برامج نصيةSQL Database PowerShell في البرامج النصية لـ Azure SQL Database PowerShell.
لمزيد من المعلومات حول SQL Data Sync، راجع:
- نظرة عامة - مزامنة البيانات عبر عدة قواعد بيانات سحابية ومحلية مع SQL Data Sync في Azure
- إعداد Data Sync
- استخدام بوابة Azure - البرنامج التعليمي: إعداد SQL Data Sync لمزامنة البيانات بين قاعدة بيانات Azure SQL وخادم SQL
- استخدام PowerShell - استخدام PowerShell لمزامنة البيانات بين قاعدة بيانات Azure SQL وخادم SQL
- عامل Data Sync - لمزامنة بيانات SQL في Azure
- أفضل الممارسات - أفضل الممارسات لـ SQL Data Sync في Azure
- المراقبة - مراقبة SQL Data Sync بسجلات Azure Monitor
- استكشاف الأخطاء وإصلاحها - استكشاف المشكلات المتعلقة بـ SQL Data Sync في Azure
- قم بتحديث مخطط المزامنة
- استخدام Transact-SQL - أتمتة النسخ المتماثل لتغييرات المخطط في SQL Data Sync في Azure
- استخدام PowerShell - استخدام PowerShell لتحديث مخطط المزامنة في مجموعة مزامنة موجودة
لمزيد من المعلومات حول قاعدة بيانات SQL، راجع: