البرنامج التعليمي: إعداد مزامنة البيانات SQL بين قواعد البيانات في قاعدة بيانات azure SQL وقاعدة بيانات SQL Server

ينطبق على: قاعدة بيانات Azure SQL

في هذا البرنامج التعليمي، يمكنك التعرف على كيفية إعداد مزامنة البيانات SQL عن طريق إنشاء مجموعة مزامنة تحتوي على كل من قاعدة بيانات Azure SQL ومثيلات SQL Server. تم تكوين مجموعة المزامنة خصيصاً ومزامنتها على الجدول الذي قمت بتعيينه.

يفترض البرنامج التعليمي أن لديك على الأقل بعض الخبرة السابقة مع قاعدة بيانات SQL وSQL Server.

للحصول على نظرة عامة حول SQL Data Sync، راجع مزامنة البيانات عبر قواعد بيانات سحابية ومحلية مع SQL Data Sync.

للحصول على أمثلة حول PowerShell عن كيفية تكوين SQL Data Sync، راجع كيفية المزامنة بين قواعد البيانات في SQL Database أو بين قواعد البيانات في قاعدة بيانات Azure SQL وSQL Server

هام

لايدعم SQL Data Sync المثيل المُدار Azure SQL في الوقت الحالي.

إنشاء مجموعة مزامنة

  1. سجّل الدخول إلى مدخل Azure للعثور على قاعدة البيانات الخاصة بك في قاعدة بيانات SQL. ابحث عن SQL databases وحددها.

    Search for databases, Microsoft Azure portal

  2. حدد قاعدة البيانات التي تريد استخدامها كقاعدة بيانات المركز لمزامنة البيانات.

    Select from the database list, Microsoft Azure portal

    ملاحظة

    قاعدة بيانات المركز هي نقطة النهاية المركزية للمزامنة طوبولوجياً، حيث تحتوي مجموعة المزامنة على نقاط نهاية متعددة لقاعدة البيانات. جميع قواعد بيانات الأعضاء الأخرى مع نقاط النهاية في مجموعة المزامنة، مزامنة مع قاعدة بيانات المركز.

  3. في قائمة قاعدة بيانات SQL التي تتضمن قاعدة البيانات المحددة، وحدد مزامنة مع قواعد البيانات الأخرى.

    Sync to other databases, Microsoft Azure portal

  4. في صفحة مزامنة إلى قواعد بيانات أخرى، حدد مجموعة المزامنة الجديدة. تفتح صفحة مجموعة المزامنة الجديدة مع إنشاء مجموعة مزامنة.

    Set up new sync group with private link

    في صفحة إنشاء مجموعة مزامنة البيانات، قم بتغيير الإعدادات التالية:

    إعداد الوصف
    اسم مجموعة المزامنة أدخل اسماً لمجموعة المزامنة الجديدة. هذا الاسم مميز عن اسم قاعدة البيانات نفسها.
    قاعدة بيانات لبيانات تعريف المزامنة اختر إنشاء قاعدة بيانات (موصى به) أو استخدام قاعدة بيانات موجودة.

    إذا اخترت قاعدة بيانات جديدة، فحدد Create new database. ثم في صفحة SQL Database وبالصفحة، قم بتسمية قاعدة البيانات الجديدة وتكوينها وحدد OK.

    إذا اخترت استخدام قاعدة البيانات الحالية، فحدد قاعدة البيانات من القائمة.
    مزامنة تلقائية حدد تشغيل أو إيقاف التشغيل.

    إذا اخترت تشغيل، فأدخل رقماً وحدد ثوانٍ، أو دقائق أو ساعات أو أيام في قسم تكرار المزامنة.
    تبدأ المزامنة الأولى بعد انقضاء فترة الفاصل الزمني المحددة من وقت حفظ التكوين.
    حل التعارض حدد فوز Hub أو فوز العضو.

    يعني فوز المركز عند حدوث تعارضات، فإن البيانات في قاعدة بيانات المركز تحل محل البيانات المتعارضة في قاعدة بيانات الأعضاء.

    يعني فوز العضو عند حدوث تعارضات، تستبدل البيانات في قاعدة بيانات الأعضاء البيانات المتعارضة في قاعدة بيانات المركز.
    استخدام رابط خاص اختر نقطة نهاية خاصة مدارة لخدمة لإنشاء اتصال آمن بين خدمة المزامنة وقاعدة بيانات المركز.

    ملاحظة

    توصي Microsoft بإنشاء قاعدة بيانات جديدة وفارغة لاستخدامها كـ قاعدة بيانات لبيانات تعريف المزامنة. تنشئ مزامنة البيانات جداول في قاعدة البيانات هذه وتعمل على عبء العمل المتكرر. تتم مشاركة قاعدة البيانات هذه كقاعدة بيانات لبيانات تعريف المزامنة لكافة مجموعات المزامنة في منطقة واشتراك محددة محددين. لا يمكنك تغيير قاعدة البيانات أو اسمها بدون إزالة جميع مجموعات المزامنة وعوامل المزامنة في المنطقة. بالإضافة إلى ذلك، لا يمكن استخدام قاعدة بيانات مهام مرنة كقاعدة بيانات لبيانات التعريف في مزامنة بيانات SQL والعكس صحيح.

    حدد موافق وانتظر حتى يتم إنشاء مجموعة المزامنة ونشرها.

  5. في صفحة مجموعة المزامنة الجديدة، إذا حددت استخدم رابط خاص، ستحتاج إلى الموافقة على اتصال نقطة النهاية الخاصة. سيأخذك الرابط في رسالة المعلومات إلى تجربة اتصالات نقاط النهاية الخاصة حيث يمكنك الموافقة على الاتصال.

    Approve private link

    ملاحظة

    يجب إنشاء الروابط الخاصة لمجموعة syng وأعضاء المزامنة وموافقتها وتعطيلها بشكل منفصل.

إضافة أعضاء المزامنة

بعد إنشاء مجموعة المزامنة الجديدة ونشرها، يمكنك فتح مجموعة المزامنة والوصول إلى صفحة قواعد البيانات حيث يتم تحديد أعضاء المزامنة.

Select sync members

ملاحظة

لتحديث اسم المستخدم وكلمة المرور في قاعدة بيانات المركز أو إدراجهما، انتقل إلى قسم قاعدة بيانات المركز في صفحة تحديد أعضاء المزامنة.

لإضافة قاعدة بيانات في قاعدة بيانات Azure SQL

في قسم تحديد أعضاء المزامنة، يمكنك إضافة قاعدة بيانات اختيارياً في قاعدة بيانات Azure SQL إلى مجموعة المزامنة عن طريق تحديد إضافة قاعدة بيانات Azure. سيتم فتح صفحة ضبط قاعدة بيانات Azure.

Add a database to the sync group

في صفحة ضبط قاعدة بيانات Azure SQL، قم بتغيير الإعدادات التالية:

إعداد الوصف
اسم عضو المزامنة أدخل اسماً لعضو المزامنة الجديد. هذا الاسم مميز عن اسم قاعدة البيانات نفسه.
الاشتراك حدد اشتراك Azure المرتبط لأغراض الفوترة.
خادم Azure SQL حدد الخادم الحالي.
قاعدة بيانات Azure SQL حدد قاعدة البيانات الحالية في قاعدة بيانات SQL.
اتجاهات المزامنة حدد المزامنة ثنائية الاتجاه، إلى المركز، أو من المركز.
اسم المستخدم وكلمة المرور كلمة المرور أدخل بيانات الاعتماد الموجودة للخادم الذي توجد عليه قاعدة بيانات الأعضاء. لا تدخل بيانات اعتماد جديدة في هذا القسم.
استخدام رابط خاص اختر نقطة نهاية خاصة مدارة لخدمة لإنشاء اتصال آمن بين خدمة المزامنة وقاعدة بيانات الأعضاء.

حدد موافق وانتظر حتى يتم إنشاء عضو المزامنة الجديد ونشره.

لإضافة قاعدة بيانات خادم SQL

في قسم قاعدة بيانات الأعضاء، قم بإضافة قاعدة بيانات خادم SQL اختياريًا إلى مجموعة المزامنة عن طريق تحديد إضافة قاعدة بيانات محلية. سيتم فتح صفحة الضبط محلياً حيث يمكنك القيام بالأشياء التالية:

  1. حدد اختيار بوابة عامل المزامنة. سيتم فتح صفحة تحديد عامل المزامنة.

    Creating a sync agent

  2. في صفحة اختيار عامل المزامنة، اختر ما إذا كنت تريد استخدام عامل حالي أو إنشاء عامل.

    إذا اخترت العوامل الحالية، فحدد العامل الحالي من القائمة.

    إذا اخترت إنشاء عامل جديد، فقم بما يلي:

    1. قم بتنزيل عامل مزامنة البيانات من الرابط المتوفر وقم بتثبيته على الكمبيوتر الذي يوجد به خادم SQL. كما يمكنك تنزيل العامل مباشرةً من عامل مزامنة بيانات Azure SQL.

      هام

      يجب عليك فتح منفذ TCP الصادر 1433 في جدار الحماية للسماح للعميل بالاتصال بالخادم.

    2. أدخل اسماً للعامل.

    3. حدد إنشاء مفتاح وإنتاجه ونسخ مفتاح العامل إلى الحافظة.

    4. حدد موافق لإغلاق صفحة تحديد عامل المزامنة.

  3. على كمبيوتر خادم SQL، حدد موقع تطبيق عامل مزامنة العميل وتشغيله.

    The data sync client agent app

    1. في تطبيق عامل المزامنة، حدد إرسال مفتاح العامل. يتم فتح مربع الحوار تكوين قاعدة بيانات لبيانات تعريف المزامنة.

    2. في مربع الحوار تكوين قاعدة بيانات لبيانات تعريف المزامنة، الصق مفتاح العامل المنسوخ من مدخل Azure. كما يجب عليك توفير بيانات الاعتماد الحالية للخادم حيث توجد قاعدة بيانات لبيانات التعريف. (إذا قمت بإنشاء قاعدة بيانات لبيانات التعريف، فإن قاعدة البيانات هذه موجودة على نفس الخادم كقاعدة بيانات المركز). حدد موافق وانتظر حتى ينتهي التكوين.

      Enter the agent key and server credentials

      ملاحظة

      إذا حدث خطأ في جدار الحماية، قم بإنشاء قاعدة جدار حماية على Azure للسماح بحركة المرور الواردة من كمبيوتر خادم SQL. يمكنك إنشاء القاعدة يدوياً في المدخل أو في SQL Server Management Studio (SSMS). في Management Studio (SSMS)، اتصل بقاعدة بيانات المركز على Azure عن طريق إدخال اسمها كـ <hub_database_name>.database.window.net.

    3. حدد تسجيل لتسجيل قاعدة بيانات خادم SQL مع العامل. يتم فتح مربع الحوار تكوين خادم SQL.

      Add and configure a SQL Server database

    4. في مربع الحوار تكوين خادم SQL، اختر الاتصال باستخدام مصادقة خادم SQL أو مصادقة Windows. إذا اخترت مصادقة خادم SQL، أدخل بيانات الاعتماد الحالية. أدخل اسم خادم SQL واسم قاعدة البيانات التي تريد مزامنتها وحدد اختبار الاتصال لاختبار إعداداتك. ثم حدد حفظ وستظهر قاعدة البيانات المسجلة في القائمة.

      SQL Server database is now registered

    5. أغلق تطبيق عامل مزامنة العميل.

  4. في المدخل، في صفحة التكوين محلياً، حدد تحديد قاعدة البيانات.

  5. في صفحة تحديد قاعدة البيانات، في الحقل اسم عضو المزامنة، أدخل اسمًا لعضو المزامنة الجديد. هذا الاسم مميز عن اسم قاعدة البيانات نفسها. حدد قاعدة البيانات من القائمة. في حقل اتجاهات المزامنة، حدد المزامنة ثنائية الاتجاه، إلى المركز، أو من المركز.

    Select the on premises database

  6. حدد موافق لإغلاق صفحة تحديد قاعدة البيانات. ثم حدد موافق لإغلاق صفحة التكوين محلياً وانتظر حتى يتم إنشاء عضو المزامنة الجديد ونشره. في النهاية، حدد موافق لإغلاق صفحة تحديد أعضاء المزامنة.

ملاحظة

للاتصال بمزامنة بيانات SQL والعامل المحلي، أضف اسم المستخدم الخاص بك إلى الدور DataSync_Executor. تنشئ مزامنة البيانات هذا الدور على مثيل خادم SQL.

تكوين مجموعة المزامنة

بعد إنشاء أعضاء مجموعة المزامنة الجدد ونشرهم، انتقل إلى قسم الجداول في صفحة مجموعة مزامنة قاعدة البيانات.

Step 3 settings

  1. في صفحة الجداول، حدد قاعدة بيانات من قائمة أعضاء المجموعة المتزامنة وحدد تحديث المخطط. الرجاء توقع تأخير بضع دقائق في تحديث المخطط، قد يكون التأخير بضع دقائق أطول إذا كنت تستخدم رابط خاص.

  2. من القائمة، حدد الجداول التي تريد مزامنتها. يتم تحديد جميع الأعمدة افتراضياً، لذا قم بتعطيل خانة الاختيار للأعمدة التي لا تريد مزامنتها. تأكد من ترك عمود المفتاح الأساسي محددا.

  3. حدد ⁧⁩حفظ⁧⁩.

  4. بشكل افتراضي، لا تتم مزامنة قواعد البيانات حتى تتم جدولتها أو تشغيلها يدوياً. لتشغيل مزامنة يدوية، انتقل إلى قاعدة البيانات الخاصة بك في قاعدة بيانات SQL في مدخل Azure، وحدد مزامنة مع قواعد البيانات الأخرى، وحدد مجموعة المزامنة. يتم فتح صفحة مزامنة البيانات. حدد مزامنة.

    Manual sync

الأسئلة المتداولة

هل تنشئ مزامنة بيانات SQL الجداول بشكل كامل؟

إذا كانت جداول مخطط المزامنة مفقودة في قاعدة بيانات الوجهة، ستقوم مزامنة بيانات SQL بإنشائها مع الأعمدة التي حددتها. ومع ذلك، لا يؤدي ذلك إلى مخطط كامل الدقة للأسباب التالية:

  • يتم إنشاء الأعمدة التي تحددها فقط في جدول الوجهة. يتم تجاهل الأعمدة غير المحددة.
  • يتم إنشاء فهارس الأعمدة المحددة فقط في جدول الوجهة. بالنسبة إلى الأعمدة غير المحددة، يتم تجاهل هذه الفهارس.
  • لا يتم إنشاء الفهارس على أعمدة نوع XML.
  • لم يتم إنشاء قيود "التحقق".
  • لا يتم إنشاء المشغلات على جداول المصدر.
  • لا يتم إنشاء إجراءات العرض والإجراءات المخزنة.

وبسبب هذه القيود، نوصي بتنفيذ ما يلي:

  • بالنسبة لبيئات الإنتاج، قم بإنشاء مخطط كامل الدقة بنفسك.
  • عند تجربة الخدمة، استخدم ميزة التوفير التلقائي.

لماذا يظهر لي جداول لم أقم بإنشائها؟

تنشئ "مزامنة البيانات" جداول إضافية في قاعدة البيانات لتتبع التغيير. لا تحذف هذه الجداول حتى لا تتوقف "مزامنة البيانات" عن العمل.

هل بياناتي متقاربة بعد المزامنة؟

ليس بالضرورة. خذ مجموعة مزامنة مع مركز وثلاثة محاور (A وB وC) حيث تكون المزامنات Hub إلى A وHub إلى B وHub إلى C. إذا تم إجراء تغيير على قاعدة البيانات A بعد مزامنة Hub إلى A، لا تتم كتابة هذا التغيير في قاعدة البيانات B أو قاعدة البيانات C حتى مهمة المزامنة التالية.

كيف أحصل على تغييرات المخطط في مجموعة مزامنة؟

إجراء جميع تغييرات المخطط ونشرها يدوياً.

  1. نسخ تغييرات المخطط يدوياً إلى المركز وإلى جميع أعضاء المزامنة.
  2. تحديث مخطط المزامنة.

لإضافة جداول وأعمدة جديدة:

لا تؤثر الجداول والأعمدة الجديدة على المزامنة الحالية وتتجاهلها مزامنة البيانات حتى تتم إضافتها إلى مخطط المزامنة. عند إضافة كائنات قاعدة بيانات جديدة، اتبع التسلسل:

  1. إضافة جداول أو أعمدة جديدة إلى المركز وإلى جميع أعضاء المزامنة.
  2. إضافة جداول أو أعمدة جديدة إلى مخطط المزامنة.
  3. البدء بإدراج قيم في الجداول والأعمدة الجديدة.

لتغيير نوع بيانات العمود:

عند تغيير نوع بيانات عمود موجود، تستمر "مزامنة البيانات" في العمل طالما أن القيم الجديدة تناسب نوع البيانات الأصلي المعرف في مخطط المزامنة. على سبيل المثال، إذا قمت بتغيير النوع في قاعدة بيانات المصدر من int إلى bigint، فستستمر مزامنة البيانات في العمل حتى تقوم بإدراج قيمة كبيرة جدًا في نوع بيانات int. لإكمال التغيير، يجب نسخ تغيير المخطط نسخاً متماثلاً بشكل يدوي إلى المركز وإلى جميع أعضاء المزامنة، ثم تحديث مخطط المزامنة.

كيف يمكنني تصدير قاعدة بيانات واستيرادها باستخدام "مزامنة البيانات"؟

بعد تصدير قاعدة بيانات كملف .bacpac واستيراد الملف لإنشاء قاعدة بيانات، قم بما يلي لاستخدام مزامنة البيانات في قاعدة البيانات الجديدة:

  1. قم بتنظيف كائنات مزامنة البيانات والجداول الإضافية في قاعدة البيانات الجديدة باستخدام هذا البرنامج النصي. يحذف البرنامج النصي جميع كائنات مزامنة البيانات المطلوبة من قاعدة البيانات.
  2. قم بإعادة إنشاء مجموعة المزامنة مع قاعدة البيانات الجديدة. إذا لم تعد بحاجة إلى مجموعة المزامنة القديمة، فاحذفها.

أين يمكنني العثور على معلومات عن وكيل العميل؟

للأسئلة المتداولة حول وكيل العميل، راجع الأسئلة الشائعة عن الوكيل.

هل من الضروري الموافقة يدويا على الرابط قبل أن أتمكن من البدء في استخدامه؟

نعم، يجب أن توافق يدوياً على نقطة النهاية الخاصة المدارة للخدمة، في صفحة اتصالات نقطة النهاية الخاصة في مدخل Azure أثناء نشر مجموعة المزامنة أو باستخدام PowerShell.

لماذا أحصل على خطأ جدار حماية عندما تقوم مهمة المزامنة بتوفير قاعدة بيانات Azure الخاصة بي؟

قد يحدث هذا بسبب عدم السماح لموارد Azure بالوصول إلى الخادم. تأكد من تعيين إعداد جدار الحماية في قاعدة بيانات Azure "السماح لخدمات Azure وموارده بالوصول إلى هذا الخادم" على "نعم".

الخطوات التالية

تهانينا. لقد أنشأت مجموعة مزامنة تتضمن مثيل قاعدة بيانات SQL وقاعدة بيانات SQL Server.

لمزيد من المعلومات حول مزامنة بيانات SQL، راجع:

لمزيد من المعلومات حول قاعدة بيانات SQL، راجع: