استكشاف أخطاء النسخ الاحتياطي لقاعدة بيانات PostgreSQL وإصلاحها باستخدام Azure Backup
توفر هذه المقالة معلومات استكشاف الأخطاء وإصلاحها لإجراء نسخ احتياطي لقواعد بيانات Azure PostgreSQL باستخدام Azure Backup.
UserErrorMSIMissingPermissions
منح الوصول إلى Backup Vault MSIRead على خادم PG الذي تريد نسخه احتياطياً أو استعادته.
لإنشاء اتصال آمن إلى قاعدة بيانات PostgreSQL، يستخدم Azure Backup طراز مصادقة "هوية الخدمة المدارة" (MSI). هذا يعني أن مخزن النسخ الاحتياطي سيكون له حق الوصول إلى الموارد التي تم منحها إذناً صريحاً من قبل المستخدم فقط.
يُعيّن MSI للنظام تلقائياً إلى المخزن في وقت الإنشاء. يلزمك إعطاء مخزن MSI الوصول إلى خوادم PostgreSQL التي تود نسخها احتياطياً من قواعد البيانات.
الخطوات:
في خادم Postgres، انتقل إلى جزء التحكم بالوصول (IAM).
حدد "إضافة تعيينات الدور".
في جزء السياق الأيسر المفتوح، أدخل ما يلي:
- الدور: اختر دور "القارئ" في القائمة المنسدلة.
- تعيين الوصول إلى: "اختر" خيار "المستخدم" أو المجموعة أو الخدمة الرئيسية في القائمة المنسدلة.
- حدد: أدخل اسم مخزن النسخ الاحتياطي الذي تريد نسخه احتياطياً لهذا الخادم وقواعد البيانات الخاصة به.
- الدور: اختر دور "القارئ" في القائمة المنسدلة.
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.
انتقل إلى علامة التبويب مسؤول Active Directory في جزء التنقل الأيسر من شاشة عرض الخادم، ثم أضف نفسك (أو أي شخص آخر) كمسؤول Active Directory.
تأكد من "حفظ" إعداد مستخدم مسؤول AD.
راجع هذا المستند للحصول على قائمة بالخطوات التي يلزم تنفيذها لإكمال خطوات منح الإذن.
UserErrorMissingNetworkSecurityPermissions
إنشاء خط رؤية الشبكة عن طريق تمكين علامة "السماح بالوصول إلى خدمات Azure" في عرض الخادم. في عرض الخادم، ضمن جزء "أمان الاتصال"، عيّن علامة "السماح بالوصول إلى خدمات Azure" إلى "نعم".
إشعار
قبل تمكين هذه العلامة، تأكد من تعيين علامة رفض الوصول إلى شبكة الاتصال العامة إلى "لا".
UserErrorContainerNotAccessible
إذن للاستعادة إلى حاوية حساب تخزين عند الاستعادة كملفات
منح مخزن النسخ الاحتياطي MSI الإذن للوصول إلى حاويات حساب التخزين باستخدام مدخل Azure.
- انتقل إلى Storage Account ->Access Control ->Add role assignment.
- تعيين دور "مساهم بيانات تخزين النقاط" إلى مخزن النسخ الاحتياطي MSI.
بدلاً من ذلك، امنح أذونات متعددة المستويات إلى الحاوية المحددة التي تقوم باستعادتها باستخدام أمر إنشاء تعيين دور Az CLI Azure.
az role assignment create --assignee $VaultMSI_AppId --role "Storage Blob Data Contributor" --scope $id
استبدل المعلمة المعين لها مع معرّف تطبيق MSI للمخزن ومعلمة النطاق للإشارة إلى الحاوية الخاصة بك.
للحصول على معرف التطبيق من مخزن MSI، حدد جميع التطبيقات تحت نوع التطبيق:
ابحث عن اسم المخزن وانسخ معرف التطبيق:
UserErrorDBUserAuthFailed
تستخدم خدمة Azure Backup معلومات تسجيل الدخول المذكورة في مخزن المفاتيح للوصول إلى قاعدة البيانات بوصفها مستخدم قاعدة بيانات. توفير مخزن المفاتيح ذي الصلة والسر أثناء تكوين النسخة الاحتياطية. تأكد من صلاحية معلومات تسجيل الدخول المخزنة بوصفها جزءاً من القيمة السرية في مخزن المفاتيح. تأكد من أن مستخدم قاعدة البيانات المحدد لديه حق الوصول إلى تسجيل الدخول.
UserErrorInvalidSecret
تستخدم خدمة Azure Backup معلومات تسجيل الدخول المذكورة في مخزن المفاتيح للوصول إلى قاعدة البيانات بوصفها مستخدم قاعدة بيانات. توفير مخزن المفاتيح ذي الصلة والسر أثناء تكوين النسخة الاحتياطية. تأكد من وجود الاسم السري المحدد في مخزن المفاتيح.
UserErrorMissingDBPermissions
تستخدم خدمة Azure Backup معلومات تسجيل الدخول المذكورة في مخزن المفاتيح للوصول إلى قاعدة البيانات بوصفها مستخدم قاعدة بيانات. توفير مخزن المفاتيح ذي الصلة والسر أثناء تكوين النسخة الاحتياطية. يمكن العثور على key-vault المقترن بمثيل النسخ الاحتياطي هذا عن طريق الوصول إلى مثيل النسخ الاحتياطي وتحديد طريقة عرض JSON. سترى اسم key-vault والتفاصيل السرية المدرجة ضمن قسم datasourceAuthCredentials كما هو موضح في لقطة الشاشة أدناه.
UserErrorSecretValueInUnsupportedFormat
تستخدم خدمة Azure Backup معلومات تسجيل الدخول المذكورة في مخزن المفاتيح للوصول إلى قاعدة البيانات بوصفها مستخدم قاعدة بيانات. توفير مخزن المفاتيح ذي الصلة والسر أثناء تكوين النسخة الاحتياطية. ومع ذلك، فإن القيمة السرية ليست بتنسيق معتمد بواسطة Azure Backup. تحقق من التنسيق المدعوم كما هو مستند هنا.
UserErrorInvalidSecretStore
تستخدم خدمة Azure Backup معلومات تسجيل الدخول المذكورة في مخزن المفاتيح للوصول إلى قاعدة البيانات بوصفها مستخدم قاعدة بيانات. توفير مخزن المفاتيح ذي الصلة والسر أثناء تكوين النسخة الاحتياطية. تأكد من وجود مخزن المفاتيح المحدد ومن منح خدمة النسخ الاحتياطي حق الوصول كما هو مستند هنا.
UserErrorMissingPermissionsOnSecretStore
تستخدم خدمة Azure Backup معلومات تسجيل الدخول المذكورة في مخزن المفاتيح للوصول إلى قاعدة البيانات بوصفها مستخدم قاعدة بيانات. توفير مخزن المفاتيح ذي الصلة والسر أثناء تكوين النسخة الاحتياطية. تأكد من منح MSI للنسخ الاحتياطي للخزنة حق الوصول إلى مخزن المفاتيح كما هو مستند هنا.
UserErrorDBNotFound
تأكد من وجود قاعدة البيانات والخادم ذي الصلة.
UserErrorDatabaseNameAlreadyInUse
الاسم المعطى لقاعدة البيانات المستعادة موجود بالفعل ومن ثم فشلت عملية الاستعادة. قم بمحاولة عملية الاستعادة باسم مختلف من جديد.
UserErrorServerConnectionClosed
فشلت العملية لأن الخادم أغلق الاتصال بشكل غير متوقع. أعد محاولة العملية وإذا استمر الخطأ، فالرجاء الاتصال بدعم Microsoft.