الدفع أم السحب: وكلاء النسخ المتماثل عبر شبكة VPN بين المواقع
يحدد موضع وكيل الاشتراك أي جهاز يفتح الاتصالات عبر شبكة VPN. اختر الدفع أو السحب حسب مَن يملك المهمة، لا حسب أسهم المخطط.
موضع الوكيل، لا موضع البيانات، هو القرار الذي يشكّل اشتراك SQL Server. الجهاز الذي يشغّل الوكيل يفتح الاتصال، ويعمل تحت حساب محدد، ويتحمل المسؤولية عندما يتعطل التزامن. في شبكة VPN بين المواقع، هذا الفرق هو التصميم لا التفصيل. ارسم اتصالات الوكيل قبل أن ترسم الشبكة.
ثلاثة أدوار، لا دورين
يملك الناشر بيانات المقالة، ويملك الموزّع قاعدة بيانات التوزيع، ويستقبل المشترك التغييرات. يعمل وكيل قارئ السجل على الموزّع في النسخ المتماثل للمعاملات. وكيل التوزيع هو الذي يتغير موضعه مع نوع الاشتراك، ولهذا يقود تصميم الشبكة. رتّب هذه الأدوار قبل أن تتحدث عن قواعد VPN.
يشغّل اشتراك الدفع وكيل التوزيع على الموزّع، ويشغّله اشتراك السحب على المشترك، كما تذكر وثائق الاشتراك من Microsoft. كل ما يتعلق بمحادثة الشبكة يتبع من هو هذا الجهاز. اكتب أربع حقائق لكل اشتراك: مضيف الوكيل، وهوية عمليته، وعمليات تسجيل الدخول إلى قواعد البيانات التي يستخدمها، والموارد التي يجب أن يصل إليها. هذه الحقائق، لا سهم المخطط، تخبرك أي اتجاه يجب أن يعمل.
الدفع يعني أن الوكيل يقيم على الموزّع
مع اشتراك الدفع، يفتح الموزّع الاتصال بالمشترك عبر شبكة VPN. يجب أن يقبل المستمع وجدار الحماية وتسجيل دخول SQL على جانب المشترك الاتصالات القادمة من الجانب البعيد. يحتاج حساب خدمة الموزّع أيضًا إلى إذن على قاعدة بيانات المشترك. خطط لهذا المسار الوارد قبل إنشاء الاشتراك، لأن اكتشافه لاحقًا يعني عادةً إعادة إنشائه.
تضيف تسليم اللقطة مسارًا لا يستخدمه النسخ المتماثل المستقر أبدًا. إذا جُهّزت اللقطة على مشاركة ملفات، يقرأ وكيل التوزيع من تلك المشاركة ويجب أن يصل حساب المشترك إلى مسار UNC نفسه. لا يقول تدفق تغييرات يعمل لأسابيع شيئًا عن مدى نجاح إعادة التهيئة. لهذا تنتمي مشاركة اللقطة إلى الخطة من البداية.
لا تقرأ الدفع كحركة مرور أحادية الاتجاه. يحتاج الوكيل إلى ردود وإقرارات وتبادلات مصادقة خاصة به. يجب أن يكون المسار ثنائي الاتجاه على مستوى الاتصال حتى عندما تتحرك البيانات في اتجاه واحد.
السحب يعني أن الوكيل يقيم على المشترك
يعكس اشتراك السحب الاتصال: يشغّل المشترك وكيل التوزيع ويتصل بالموزّع. تناسب هذه الترتيبة سياسة VPN تسمح بالاتصالات الصادرة من الفرع وتحجب الاتصالات الواردة. وهي تضع قرار الجدولة في يد من يعتني بخادم الفرع. اخترها عندما يجب أن يملك فريق الفرع تزامنه ويلاحظ أعطاله.
يحتاج حساب خدمة SQL Server Agent الخاص بالمشترك إلى وصول للقراءة إلى قاعدة بيانات التوزيع وإلى مشاركة اللقطة. ذلك الحساب هو الهوية التي تظهر في أخطاء النسخ المتماثل، وحساب خدمة محلي بلا حقوق نطاق يفشل عند نقطة تبدو عطل شبكة لكنها في الحقيقة عطل بيانات اعتماد. افحص الحساب قبل أن تنقّح النفق. إصلاح تسجيل الدخول أسرع عادةً من إثبات براءة الشبكة.
الملكية تتبع الوكيل. اختر الدفع عندما يجب أن يملك الفريق المركزي الجدولة والأعطال معًا. أيًا كان ما تختاره، اكتبه بجانب الاشتراك حتى يعرف المهندس التالي أين ينظر أولًا.
إعادة النشر تغيّر التوزيع الشعاعي، لا الملكية
يمكن تكوين مشترك لإعادة النشر إلى مشتركين آخرين، ما يتيح لقاعدة بيانات فرع واحدة خدمة عدة مستهلكين محليين دون أن يسحب كل منهم عبر شبكة WAN. تحتفظ قاعدة البيانات الوسيطة الآن بمنشور ووكلائها. وهي ترث أيضًا أذونات ومراقبة وخطة استرداد لم تكن لديها من قبل. هذا الدور الإضافي هو ثمن إزالة تسليم WAN المتكرر.
الترتيب الموثّق مهم: هيّئ الاشتراك الوارد قبل إنشاء المنشور اللاحق. تعامل مع ذلك كخطوة دورة حياة مع تحقق، لا كأوراق تُتجاوز. عكسه ينتج سلسلة تبدو مهيأة ولا تسلّم شيئًا.
صرّح بنموذج الكتابة صراحةً. نسخ مجموعة بيانات للقراءة فقط إلى مستهلك محلي تصميم مختلف عن قبول الكتابات في عدة مواقع، وسلسلة من الأسهم لا تنشئ حلًا للتعارض. إذا كان على الفرع أن يكتب، فهذا قرار منفصل له طوبولوجيا خاصة به. اجعل التبعية مرئية أيضًا: عندما يكون ناشر إعادة النشر متوقفًا، يكون كل مستهلك تحته قديمًا.
أثبت الموضع من البداية إلى النهاية
اقرأ نوع الاشتراك من قاعدة بيانات التوزيع بدلًا من الوثوق بالذاكرة، ثم تحقق من أن التغييرات تصل فعلًا:
USE distribution;
SELECT publication, subscriber_db, subscription_type
FROM dbo.MSsubscriptions;
EXEC sp_replmonitorsubscriptionpendingcmds
@publisher = 'PUB1', @publisher_db = 'Sales',
@publication = 'SalesPub', @subscriber = 'BR1',
@subscriber_db = 'Sales';
إن subscription_type بقيمة 0 يعني الدفع و1 يعني السحب، ولا يمكن تغييره في مكانه، لذا يعني عدم التطابق إعادة إنشاء الاشتراك بدلًا من تحريره. يخبرك استدعاء الأوامر المعلّقة ما إذا كان الوكيل المختار ينقل عملًا أم يعمل فقط. الاشتراك الذي يبلّغ عن صفر أوامر معلّقة بينما يبقى جدول المشترك فارغًا عطل مختلف عن اشتراك يبلّغ عن تراكم متزايد، وكلاهما يقود إلى مالكين مختلفين.
أنهِ بتغيير حقيقي: أدخل صفًا واحدًا أو حدّثه على الناشر، وانتظر حتى يبلّغ الوكيل، ثم اقرأ ذلك الصف على المشترك. كرر ذلك عبر انقطاع قصير في شبكة VPN لترى كيف يتعافى الوكيل. الاشتراك الذي ينجو من ذلك الاختبار له موضع يمكنك توثيقه والدفاع عنه.