استخدام قوالب بداية سريعة لـ Azure لتكوين مجموعة توفر لـ SQL Server على الجهاز الظاهري Azure

ينطبق على: Microsoft SQL Server على Azure VM

تلميح

تخلص من الحاجة إلى Azure Load Balancer لمجموعات قابلية الوصول عالية التوفر AlwaysOn (اختصارها AG) الخاصة بك عن طريق إنشاء الأجهزة الظاهرية SQL Server VM في شبكات فرعية متعددة داخل نفس شبكة Azure الظاهرية.

توضح هذه المقالة كيفية استخدام قوالب Azure السريعة للتنفيذ التلقائي الجزئي لتوزيع تكوين مجموعات قابلية وصول عالية التوفر AlwaysOn الدائم لأجهزة Microsoft SQL Server الظاهرية داخل شبكة فرعية واحدة في Azure. يتم استخدام قالبين تشغيل سريع لـ Azure في هذه العملية:

قالب الوصف
sql-vm-ag-setup إنشاء نظام مجموعة تجاوز الفشل Windows وانضمام الأجهزة الظاهرية SQL Server إليه.
sql-vm-aglistener-setup إنشاء وحدة الإصغاء لمجموعة التوفر وتكوين موازنة التحميل الداخلي. يمكن استخدام هذا القالب فقط إذا تم إنشاء نظام مجموعة تجاوز الفشل لـ Windows مع القالب 101-sql-vm-ag-setup.

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

بينما تستخدم هذه المقالة قوالب بداية سريعة Azure Quickstart لتكوين بيئة مجموعة التوفر، فمن الممكن أيضاً القيام بذلك باستخدام مدخل Microsoft Azure أو PowerShell أو Azure CLI أو يدوياً أيضاً.

ملاحظة

أصبح من الممكن الآن رفع وتحويل حل مجموعة التوفر إلى SQL Server على الأجهزة الظاهرية Azure VMs باستخدام Azure Migrate. راجع ترحيل مجموعة التوفر لمعرفة مزيد من المعلومات.

المتطلبات الأساسية

لأتمتة إعداد مجموعة توفر قيد التشغيل دوماً باستخدام قوالب بداية سريعة، يجب أن يكون لديك المتطلبات الأساسية التالية:

الأذونات

الأذونات التالية ضرورية لتكوين مجموعة توفر "قيد التشغيل دوماً" باستخدام قوالب بداية سريعة Azure:

  • حساب مستخدم مجال موجود لديه إذن إنشاء كائن الكمبيوتر في المجال. على سبيل المثال، حساب مسؤول المجال عادةً ما يكون الإذن الكافي (على سبيل المثال: account@domain.com). يجب أن يكون هذا الحساب أيضاً جزءاً من مجموعة المسؤول المحلي على كل جهاز ظاهري لإنشاء نظام المجموعة.
  • حساب مستخدم المجال الذي يتحكم في SQL Server.

إنشاء نظام المجموعة

بعد تسجيل الأجهزة الظاهرية SQL Server مع ملحق SQL IaaS Agent، يمكنك الانضمام الأجهزة الظاهرية SQL Server الخاصة بك إلى SqlVirtualMachineGroups. يعرف هذا المورد بيانات التعريف الخاصة بنظام مجموعة تجاوز الفشل لـ Windows. تتضمن بيانات التعريف الإصدار والطبعة واسم المجال المؤهل بالكامل وحسابات Active Directory لإدارة كلٍ من نظام المجموعة وSQL Server وحساب التخزين كمراقب سحابة.

إضافة الأجهزة الظاهرية SQL Server إلى التشغيل التمهيدي لمجموعة موارد SqlVirtualMachineGroups لخدمة نظام مجموعة تجاوز الفشل لـ Windows لإنشاء نظام المجموعة ثم انضمام تلك الأجهزة الظاهرية SQL Server إلى نظام المجموعة ذلك. تتم هذه الخطوة تلقائياً مع قالب بداية سريعة 101-sql-vm-ag-setup. يمكنك تنفيذ ذلك باستخدام الخطوات التالية:

  1. انتقل إلى قالب بداية سريعة sql-vm-ag-setup. ثم حدد نشر إلى Azure لفتح قالب بداية سريعة في مدخل Microsoft Azure.

  2. تعبئة الحقول المطلوبة لتكوين بيانات التعريف الخاصة بنظام مجموعة تجاوز الفشل لـ Windows. يمكنك ترك الحقول الاختيارية فارغة.

    يعرض الجدول التالي القيم الضرورية للقالب:

    الحقل القيمة
    الاشتراك الاشتراك حيث توجد الأجهزة الظاهرية SQL Server الخاصة بك.
    مجموعة الموارد مجموعة الموارد التي يوجد بها الأجهزة الظاهرية SQL Server الخاصة بك.
    اسم نظام مجموعة تجاوز الفشل الاسم الذي تريده لنظام مجموعة تجاوز الفشل الجديد لـ Windows.
    قائمة الأجهزة الظاهرية الحالية الأجهزة الظاهرية SQL Server التي تريد مشاركتها في مجموعة التوفر وتكون جزءاً من نظام المجموعة الجديد هذا. فصل هذه القيم بفاصلة ومسافة (على سبيل المثال: SQLVM1، SQLVM2).
    إصدار SQL Server إصدار SQL Server للأجهزة الظاهرية SQL Server الخاصة بك. حددها من القائمة المنسدلة. حالياً، يتم دعم صور لإصداري SQL Server 2016 وSQL Server 2017 فقط.
    اسم المجال المؤهل الموجود بالكامل FQDN الموجودة للمجال الذي توجد فيه الأجهزة الظاهرية SQL Server الخاصة بك.
    حساب المجال الحالي حساب مستخدم مجال موجود لديه إذن إنشاء كائن الكمبيوتر في المجال كما يتم إنشاء CNO أثناء نشر القالب. على سبيل المثال، حساب مسؤول مجال عادةً ما يكون الإذن الكافي (على سبيل المثال: account@domain.com). يجب أن يكون هذا الحساب أيضاً جزءاً من مجموعة المسؤول المحلي على كل جهاز ظاهري لإنشاء نظام المجموعة.
    كلمة مرور حساب المجال كلمة المرور لحساب مستخدم المجال المذكور مسبقاً.
    حساب خدمة Sql الحالي حساب مستخدم المجال الذي يتحكم في خدمة SQL Server أثناء نشر مجموعة التوفر (على سبيل المثال: account@domain.com).
    كلمة مرور خدمة Sql كلمة المرور المستخدمة من قِبل حساب مستخدم المجال الذي يتحكم في SQL Server.
    اسم مراقب السحابة حساب تخزين Azure جديد سيتم إنشاؤه واستخدامه لمراقب السحابة. يمكنك تعديل هذا الاسم.
    _artifacts Location يتم تعيين هذا الحقل بشكل افتراضي ولا يجب تعديله.
    _artifacts Location SaS Token يتم ترك هذا الحقل فارغا عمداً.
  3. إذا وافقت على الشروط والأحكام، فحدد خانة الاختيار أوافق على الشروط والأحكام المذكورة أعلاه. ثم حدد شراء لإنهاء نشر قالب بداية سريعة.

  4. لمراقبة النشر، حدد النشر من رمز جرس الإعلامات في شعار التنقل العلوي أو انتقل إلى مجموعة الموارد في مدخل Microsoft Azure. حدد عمليات النشر ضمن الإعدادات، واختر نشر Microsoft.Template.

ملاحظة

يتم تخزين بيانات الاعتماد المتوفرة أثناء نشر القالب فقط لطول عملية النشر. بعد انتهاء النشر، تتم إزالة كلمات المرور هذه. سيطلب منك توفيرها مرة أخرى إذا قمت بإضافة المزيد من الأجهزة الظاهرية SQL Server إلى نظام المجموعة.

تكوين الحصة

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

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

التحقق من صحة نظام المجموعة

للحصول على نظام مجموعة تجاوز الفشل التي يمكن دعمها من قبل Microsoft، يجب تمرير التحقق من صحة نظام المجموعة. الاتصال إلى الجهاز الظاهري باستخدام الأسلوب المفضل لديك، مثل بروتوكول سطح المكتب البعيد (RDP) والتحقق من أن نظام المجموعة الخاص بك قد مر بعملية التحقق من الصحة قبل المتابعة. يؤدي الفشل في القيام بذلك إلى ترك نظام المجموعة في حالة غير مدعومة.

يمكنك التحقق من صحة نظام المجموعة باستخدام إدارة نظام مجموعة تجاوز الفشل (FCM) أو أمر PowerShell التالي:

Test-Cluster –Node ("<node1>","<node2>") –Include "Inventory", "Network", "System Configuration"

إنشاء مجموعة توفر

إنشاء مجموعة التوفر يدوياً كما تفعل عادةً، باستخدام SQL Server Management Studioأو PowerShellأو Transact-SQL.

هام

لا تنشئ وحدة استماع في الوقت الحالي، لأن نموذج التشغيل السريع 101-sql-vm-aglistener-setup يقوم بذلك تلقائياً في الخطوة 4.

إنشاء موازن تحميل

ملاحظة

يمكن للعملاء على SQL Server 2019 CU8 وفيما بعد في Windows 2016 وفيما بعد استبدال وحدة إصغاء (VNN) التقليدية وAzure Load Balancer بوحدة إصغاء اسم الشبكة الموزعة (DNN) بدلاً من ذلك. تخطي بقية الخطوات في هذه المقالة التي وحدة الإصغاء وموازن التحميل.

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

هام

يجب أن تكون موازنة التحميل الداخلي في نفس الشبكة الظاهرية مثل مثيلات الجهاز الظاهري لـ SQL Server.

تحتاج فقط إلى إنشاء موازنة التحميل الداخلي. في الخطوة 4، يعالج قالب بداية سريعة 101-sql-vm-aglistener-setup بقية التكوين (مثل تجمع الخلفية، التحقيق الصحي وقواعد موازنة التحميل).

  1. في مدخل Azure، افتح مجموعة الموارد التي تحتوي على خادم SQL الأجهزة الظاهرية.

  2. في مجموعة الموارد، حدد إضافة.

  3. قم بالبحث عن موازنة التحميل. في نتائج البحث، حدد موازنة التحميل، الذي يتم نشره من قِبل Microsoft.

  4. في شفرة موازنة التحميل، حدد إنشاء.

  5. في مربع الحوار إنشاء load balancer، تكوين load balancer كما يلي:

    إعداد القيمة
    الاسم أدخل اسماً نصياً يمثل موازنة التحميل. على سبيل المثال، أدخل sqlLB.
    النوع داخلي: معظم التطبيقات تستخدم موازنة تحميل داخلية، ما يسمح للتطبيقات داخل نفس الشبكة الظاهرية للاتصال بمجموعة التوفر.
    External: يسمح للتطبيقات بالاتصال بمجموعة التوفر من خلال اتصال إنترنت عام.
    شبكة ظاهرية حدد الشبكة الظاهرية التي توجد بها مثيلات SQL Server.
    الشبكة الفرعية حدد الشبكة الفرعية التي توجد بها مثيلات خادم SQL.
    تعيين عنوان IP ⁩Static⁦
    عنوان IP خاص حدد عنوان IP متوفر من الشبكة الفرعية.
    الاشتراك إذا كان لديك اشتراكات متعددة، فقد يظهر هذا الحقل. حدد الاشتراك الذي تريد إقرانه بهذا المورد. وعادةً ما يكون الاشتراك نفسه مثل جميع الموارد لمجموعة التوفر.
    مجموعة الموارد حدد مجموعة الموارد التي توجد بها مثيلات خادم SQL.
    ⁩الموقع⁧ حدد موقع Azure الذي توجد فيه مثيلات خادم SQL.
  6. حدد "Create".

هام

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

إنشاء وحدة الإصغاء

قم بإنشاء وحدة استماع مجموعة قابلية وصول عالية التوفر وتكوين موازن التحميل الداخلي تلقائياً باستخدام قالب التشغيل السريع 101-sql-vm-aglistener-setup. توفير القالب للمورد Microsoft.SqlVirtualMachine/SqlVirtualMachineGroups/AvailabilityGroupListener. يقوم قالب التشغيل السريع 101-sql-vm-aglistener-setup، عبر ملحق SQL IaaS Agent، بالإجراءات التالية:

  • إنشاء مورد IP أمامي جديد (استناداً إلى قيمة عنوان IP المتوفرة أثناء النشر) لوحدة الإصغاء.
  • تكوين إعدادات شبكة اتصال نظام المجموعة وموازنة التحميل الداخلي.
  • تكوين تجمع الخلفية لموازنة التحميل الداخلي، والتحقيق الصحي وقواعد موازنة التحميل.
  • إنشاء وحدة الإصغاء لمجموعة التوفر باستخدام عنوان IP المزود والاسم.

ملاحظة

يمكنك استخدام 101-sql-vm-aglistener-setup فقط إذا تم إنشاء نظام مجموعة تجاوز الفشل لـ Windows باستخدام قالب 101-sql-vm-ag-setup.

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

  1. انتقل إلى قالب بداية سريعة sql-vm-aglistener-setup وحدد نشر إلى Azure لبدء قالب بداية سريعة في مدخل Microsoft Azure.

  2. تعبئة الحقول المطلوبة لتكوين موازنة التحميل الداخلي وإنشاء وحدة الإصغاء لمجموعة التوفر. يمكنك ترك الحقول الاختيارية فارغة.

    يعرض الجدول التالي القيم الضرورية للقالب:

    الحقل القيمة
    مجموعة الموارد مجموعة الموارد التي يوجد بها الأجهزة الظاهريةSQL Server ومجموعة التوفر.
    اسم نظام مجموعة تجاوز الفشل الموجود اسم نظام المجموعة الذي يتم ربط الأجهزة الظاهرية SQL Server به.
    مجموعة توفر Sql الحالية اسم مجموعة التوفر التي تشكل الأجهزة الظاهرية SQL Server جزءاً منها.
    قائمة الأجهزة الظاهرية الحالية أسماء الأجهزة الظاهرية SQL Server التي هي جزء من مجموعة التوفر المذكورة سابقاً. فصل الأسماء بفاصلة ومسافة (على سبيل المثال: SQLVM1، SQLVM2).
    وحدة الاستماع اسم DNS الذي تريد تعيينه إلى وحدة الإصغاء. بشكل افتراضي، يحدد هذا القالب الاسم "aglistener"، ولكن يمكنك تغييره. يجب ألا يتجاوز الاسم 15 حرفا.
    منفذ وحدة الإصغاء المنفذ الذي تريد أن تستخدمه وحدة الاستماع. بشكل عام، يجب أن يكون هذا المنفذ الافتراضي هو 1433. هذا هو رقم المنفذ الذي يحدده القالب. ولكن إذا تم تغيير المنفذ الافتراضي الخاص بك، يجب أن يستخدم منفذ وحدة الإصغاء هذه القيمة بدلاً من ذلك.
    عنوان IP لوحدة الإصغاء عنوان IP الذي تريد أن تستخدمه وحدة الإصغاء. سيتم إنشاء هذا العنوان أثناء نشر القالب، لذا قم بتوفير عنوان غير قيد الاستخدام بالفعل.
    الشبكة الفرعية الموجودة اسم الشبكة الفرعية الداخلية الخاصة بك للأجهزة الظاهرية SQL Server (على سبيل المثال: الافتراضي). يمكنك تحديد هذه القيمة عن طريق الانتقال إلى مجموعة الموارد، وتحديد الشبكة الظاهرية، وتحديد الشبكات الفرعية في جزء الإعدادات ونسخ القيمة ضمن الاسم.
    تكوين موازنة التحميل الداخلي اسم موازنة التحميل الداخلي التي قمت بإنشائها في الخطوة 3.
    منفذ التحقيق منفذ التحقيق الذي تريد موازنة التحميل الداخلي استخدامه. يستخدم القالب 59999 بشكل افتراضي، ولكن يمكنك تغيير هذه القيمة.
  3. إذا وافقت على الشروط والأحكام، فحدد خانة الاختيار أوافق على الشروط والأحكام المذكورة أعلاه. ثم حدد شراء لإنهاء نشر قالب بداية سريعة.

  4. لمراقبة النشر، حدد النشر من رمز جرس الإعلامات في شعار التنقل العلوي أو انتقل إلى مجموعة الموارد في مدخل Microsoft Azure. حدد عمليات النشر ضمن الإعدادات، واختر نشر Microsoft.Template.

ملاحظة

إذا فشل النشر في منتصف الطريق، فستحتاج إلى إزالة وحدة الإصغاء المنشأة حديثاً يدوياً باستخدام PowerShell قبل إعادة نشر قالب بداية سريعة 101-sql-vm-aglistener-setup

إزالة وحدة الإصغاء

إذا كنت تحتاج لاحقاً إلى إزالة وحدة الإصغاء لمجموعة التوفر التي قام القالب بتكوينها، يجب الانتقال عن طريق ملحق SQL IaaS Agent. لأن وحدة الإصغاء مسجلة من خلال ملحق SQL IaaS Agent، فإن مجرد حذفه عبر SQL Server Management Studio غير كافٍ.

أفضل طريقة لحذفه من خلال ملحق SQL IaaS Agent باستخدام مقتطف التعليمات البرمجية التالية في PowerShell. القيام بذلك يزيل بيانات تعريف وحدة الإصغاء لمجموعة التوفر من ملحق SQL IaaS Agent. كما أنه يحذف فعلياً وحدة الإصغاء من مجموعة التوفر.

# Remove the availability group listener
# example: Remove-AzResource -ResourceId '/subscriptions/a1a11a11-1a1a-aa11-aa11-1aa1a11aa11a/resourceGroups/SQLAG-RG/providers/Microsoft.SqlVirtualMachine/SqlVirtualMachineGroups/Cluster/availabilitygrouplisteners/aglistener' -Force
Remove-AzResource -ResourceId '/subscriptions/<SubscriptionID>/resourceGroups/<resource-group-name>/providers/Microsoft.SqlVirtualMachine/SqlVirtualMachineGroups/<cluster-name>/availabilitygrouplisteners/<listener-name>' -Force

الأخطاء الشائعة

يناقش هذا القسم بعض المشكلات المعروفة وحلها المحتمل.

إن وحدة استماع مجموعة قابلية وصول عالية التوفر لمجموعة قابلية الوصول عالية التوفر المسماة '<AG-Name>' موجودة بالفعل تحتوي مجموعة قابلية الوصول عالية التوفر المستخدمة في التشغيل السريع لـ Azure والمحددة لوحدة استماع مجموعة قابلية وصول عالية التوفر على وحدة استماع بالفعل. إما أنها فعلياً ضمن مجموعة التوفر أو بيانات التعريف الخاصة به ولكنها تظل ضمن ملحق SQL IaaS Agent. إزالة وحدة الإصغاء باستخدام PowerShell قبل إعادة نشر قالب بداية سريعة 101-sql-vm-aglistener-setup

الاتصال يعمل فقط من النسخة المتماثلة الأساسية من المرجح أم يكون هذا السلوك بسبب فشل نشر القالب 101-sql-vm-aglistener-setup الذي ترك تكوين موازنة التحميل الداخلي في حالة غير متناسقة. تحقق من أن تجمع الخلفية يسرد مجموعة التوفر، وأن القواعد موجودة للتحقيق الصحي وقواعد موازنة التحميل. إذا كان هناك أي شيء مفقود، فإن تكوين موازنة التحميل الداخلي حالة غير متناسقة.

لحل هذا السلوك، قم بإزالة وحدة الإصغاء باستخدام PowerShell، حذف موازنة التحميل الداخلي عبر مدخل Microsoft Azure ثم ابدأ مرة أخرى في الخطوة 3.

BadRequest - يمكن تحديث قائمة الجهاز الظاهري SQL فقط قد يحدث هذا الخطأ عند نشر قالب 101-sql-vm-aglistener-setup إذا تم حذف وحدة الإصغاء عبر SQL Server Management Studio (SSMS)، ولكن لم يتم حذفه من ملحق SQL IaaS Agent. حذف وحدة الإصغاء عبر SSMS لا يزيل بيانات التعريف وحدة الإصغاء من ملحق SQL IaaS Agent يجب حذف وحدة الإصغاء من موفر الموارد من خلال PowerShell.

حساب المجال غير موجود يمكن أن يكون لهذا الخطأ سببين. إما أن حساب المجال المحدد غير موجود، أو أنه يفتقد بيانات اسم المستخدم الأساسي (UPN). يتوقع قالب 101-sql-vm-ag-setup حساب مجال في نموذج UPN (أي،user@domain.com)، ولكن قد تكون بعض حسابات المجال مفقودة. يحدث هذا عادةً عندما يتم ترحيل مستخدم محلي ليكون أول حساب مسؤول مجال عندما تمت ترقية الخادم إلى وحدة تحكم مجال أو عندما تم إنشاء مستخدم من خلال PowerShell.

تحقق من وجود الحساب. إذا كان الأمر كذلك، قد تكون واجهت الوضع الثاني. لحلها، قم بما يلي:

  1. على وحدة تحكم المجال، افتح الإطار Active Directory Users وأجهزة الكمبيوتر من الخيار أدوات في إدارة الخادم.

  2. انتقل إلى الحساب عن طريق تحديد المستخدمين في الجزء الأيمن.

  3. انقر بزر الماوس الأيمن فوق اسم المستخدم وحدد خصائص.

  4. حدد علامة التبويب الحساب. إذا كان المربع اسم تسجيل دخول المستخدم فارغاً، فهذا هو سبب الخطأ.

    Blank user account indicates missing UPN

  5. تعبئة في المربع اسم تسجيل دخول المستخدم لمطابقة اسم المستخدم، وحدد المجال المناسب من القائمة المنسدلة.

  6. حدد تطبيق لحفظ التغييرات، ثم أغلق مربع الحوار بتحديد موافق.

بعد إجراء هذه التغييرات، حاول نشر قالب بداية سريعة لـ Azure مرة أخرى.

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

لمعرفة المزيد، انتقل إلى: