استكشاف أخطاء النسخ الاحتياطي لقاعدة بيانات PostgreSQL وإصلاحها باستخدام Azure Backup

توفر هذه المقالة معلومات استكشاف الأخطاء وإصلاحها لإجراء نسخ احتياطي لقواعد بيانات Azure PostgreSQL باستخدام Azure Backup.

UserErrorMSIMissingPermissions

منح الوصول إلى Backup Vault MSIRead على خادم PG الذي تريد نسخه احتياطياً أو استعادته.

لإنشاء اتصال آمن إلى قاعدة بيانات PostgreSQL، يستخدم Azure Backup طراز مصادقة "هوية الخدمة المدارة" (MSI). هذا يعني أن مخزن النسخ الاحتياطي سيكون له حق الوصول إلى الموارد التي تم منحها إذناً صريحاً من قبل المستخدم فقط.

يُعيّن MSI للنظام تلقائياً إلى المخزن في وقت الإنشاء. يلزمك إعطاء مخزن MSI الوصول إلى خوادم PostgreSQL التي تود نسخها احتياطياً من قواعد البيانات.

الخطوات:

  1. في خادم Postgres، انتقل إلى جزء التحكم بالوصول (IAM).

    Access Control pane

  2. حدد "إضافة تعيينات الدور".

    Screenshot to add role assignment.

  3. في جزء السياق الأيسر المفتوح، أدخل ما يلي:

    • الدور: اختر دور "القارئ" في القائمة المنسدلة.
    • تعيين الوصول إلى: "اختر" خيار "المستخدم" أو المجموعة أو الخدمة الرئيسية في القائمة المنسدلة.
    • حدد: أدخل اسم مخزن النسخ الاحتياطي الذي تريد نسخه احتياطياً لهذا الخادم وقواعد البيانات الخاصة به.

    Screenshot showing how to select role.

UserErrorBackupUserAuthFailed

إنشاء مستخدم نسخ احتياطي لقاعدة البيانات يمكنه المصادقة باستخدام معرف Microsoft Entra:

قد يأتي هذا الخطأ من عدم وجود مسؤول Microsoft Entra لخادم PostgreSQL، أو في حالة عدم وجود مستخدم احتياطي يمكنه المصادقة باستخدام معرف Microsoft Entra.

الخطوات:

إضافة مسؤول "Active Directory" إلى خادم OSS:

هذه الخطوة مطلوبة للاتصال بقاعدة البيانات من خلال مستخدم يمكنه المصادقة باستخدام معرف Microsoft Entra بدلا من كلمة مرور. سيكون لمستخدم Microsoft Entra مسؤول في قاعدة بيانات Azure ل PostgreSQL الدور azure_ad_admin. يمكن لدور azure_ad_admin فقط إنشاء مستخدمي قاعدة بيانات جديدة يمكنهم المصادقة باستخدام معرف Microsoft Entra.

  1. انتقل إلى علامة التبويب مسؤول Active Directory في جزء التنقل الأيسر من شاشة عرض الخادم، ثم أضف نفسك (أو أي شخص آخر) كمسؤول Active Directory.

    Screenshot showing how to set Active Directory admin.

  2. تأكد من "حفظ" إعداد مستخدم مسؤول AD.

    Screenshot showing how to save Active Directory admin user setting.

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

UserErrorMissingNetworkSecurityPermissions

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

إشعار

قبل تمكين هذه العلامة، تأكد من تعيين علامة رفض الوصول إلى شبكة الاتصال العامة إلى "لا".

Screenshot showing how to allow access to Azure services.

UserErrorContainerNotAccessible

إذن للاستعادة إلى حاوية حساب تخزين عند الاستعادة كملفات

  1. منح مخزن النسخ الاحتياطي MSI الإذن للوصول إلى حاويات حساب التخزين باستخدام مدخل Azure.

    1. انتقل إلى Storage Account ->Access Control ->Add role assignment.
    2. تعيين دور "مساهم بيانات تخزين النقاط" إلى مخزن النسخ الاحتياطي MSI.

    Screenshot showing the process to assign Storage Blob Data Contributor role.

  2. بدلاً من ذلك، امنح أذونات متعددة المستويات إلى الحاوية المحددة التي تقوم باستعادتها باستخدام أمر إنشاء تعيين دور Az CLI Azure.

    az role assignment create --assignee $VaultMSI_AppId  --role "Storage Blob Data Contributor"   --scope $id
    
    1. استبدل المعلمة المعين لها مع معرّف تطبيق MSI للمخزن ومعلمة النطاق للإشارة إلى الحاوية الخاصة بك.

    2. للحصول على معرف التطبيق من مخزن MSI، حدد جميع التطبيقات تحت نوع التطبيق:

      Screenshot showing how to select All Applications.

    3. ابحث عن اسم المخزن وانسخ معرف التطبيق:

      Screenshot showing how to search for vault name.

UserErrorDBUserAuthFailed

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

UserErrorInvalidSecret

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

UserErrorMissingDBPermissions

تستخدم خدمة Azure Backup معلومات تسجيل الدخول المذكورة في مخزن المفاتيح للوصول إلى قاعدة البيانات بوصفها مستخدم قاعدة بيانات. توفير مخزن المفاتيح ذي الصلة والسر أثناء تكوين النسخة الاحتياطية. يمكن العثور على key-vault المقترن بمثيل النسخ الاحتياطي هذا عن طريق الوصول إلى مثيل النسخ الاحتياطي وتحديد طريقة عرض JSON. سترى اسم key-vault والتفاصيل السرية المدرجة ضمن قسم datasourceAuthCredentials كما هو موضح في لقطة الشاشة أدناه.

Screenshot showing how to search for key vault by using secret name.

UserErrorSecretValueInUnsupportedFormat

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

UserErrorInvalidSecretStore

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

UserErrorMissingPermissionsOnSecretStore

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

UserErrorDBNotFound

تأكد من وجود قاعدة البيانات والخادم ذي الصلة.

UserErrorDatabaseNameAlreadyInUse

الاسم المعطى لقاعدة البيانات المستعادة موجود بالفعل ومن ثم فشلت عملية الاستعادة. قم بمحاولة عملية الاستعادة باسم مختلف من جديد.

UserErrorServerConnectionClosed

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

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

حول قاعدة بيانات Azure للنسخ الاحتياطي ل PostgreSQL