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

توضح هذه المقالة بعض المشكلات والأخطاء الشائعة التي يمكن أن يواجهها مستخدمو Azure Database Migration Service. تتضمن المقالة أيضا معلومات حول كيفية حل هذه المشكلات والأخطاء.

ملاحظة

التواصل الخالي من التحيز

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

نشاط الترحيل في حالة قائمة الانتظار

عند إنشاء أنشطة جديدة في مشروع Azure Database Migration Service، تظل الأنشطة في حالة قائمة انتظار.

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

الحد الأقصى لعدد قواعد البيانات المحددة للترحيل

يحدث الخطأ التالي عند إنشاء نشاط لمشروع ترحيل قاعدة بيانات للانتقال إلى قاعدة بيانات Azure SQL أو مثيل Azure SQL المدار:

  • خطأ: خطأ في التحقق من صحة إعدادات الترحيل", "errorDetail":"تم تحديد أكثر من الحد الأقصى للعدد '4' كائنات 'قواعد البيانات' للترحيل."
السبب الدقة
يظهر هذا الخطأ عند تحديد أكثر من أربع قواعد بيانات لنشاط ترحيل واحد. وفي الوقت الحاضر، يقتصر كل نشاط ترحيل على أربع قواعد بيانات. حدد أربع قواعد بيانات أو أقل لكل نشاط ترحيل. إذا كنت بحاجة إلى ترحيل أكثر من أربع قواعد بيانات بالتوازي، فقم بتوفير مثيل آخر من Azure Database Migration Service. حاليا، يدعم كل اشتراك ما يصل إلى مثيلين من مثيلات خدمة ترحيل قاعدة بيانات Azure.

حدث خطأ عند محاولة إيقاف خدمة ترحيل قاعدة بيانات Azure

تتلقى الخطأ التالي عند إيقاف مثيل خدمة ترحيل قاعدة بيانات Azure:

  • خطأ: فشل الخدمة في الإيقاف. خطأ: {'error':{'code':'InvalidRequest','message':'واحد أو أكثر من الأنشطة قيد التشغيل حاليا. لإيقاف الخدمة، انتظر حتى تكتمل الأنشطة أو أوقف هذه الأنشطة يدويا وحاول مرة أخرى.'}}
السبب الدقة
يظهر هذا الخطأ عندما يتضمن مثيل الخدمة الذي تحاول إيقافه أنشطة لا تزال قيد التشغيل أو موجودة في مشاريع الترحيل.





تأكد من عدم وجود أنشطة قيد التشغيل في مثيل خدمة ترحيل قاعدة بيانات Azure التي تحاول إيقافها. يمكنك أيضا حذف الأنشطة أو المشاريع قبل محاولة إيقاف الخدمة. توضح الخطوات التالية كيفية إزالة المشاريع لتنظيف مثيل خدمة الترحيل عن طريق حذف كافة المهام قيد التشغيل:
1. Install-Module -Name AzureRM.DataMigration
2. Login-AzureRmAccount
3. Select-AzureRmSubscription -اسم الاشتراك "الاسم> الفرعي"<
4. Remove-AzureRmDataMigrationProject -اسم <المشروع-ResourceGroupName rgName-ServiceName <<> ->>DeleteRunningTask

حدث خطأ عند محاولة بدء تشغيل خدمة ترحيل قاعدة بيانات Azure

تتلقى الخطأ التالي عند بدء تشغيل مثيل خدمة ترحيل قاعدة بيانات Azure:

  • خطأ: فشل بدء تشغيل الخدمة. خطأ: {'errorDetail':'فشل بدء تشغيل الخدمة، يرجى الاتصال بدعم Microsoft'}
السبب الدقة
يظهر هذا الخطأ عند فشل المثيل السابق داخليا. نادرا ما يحدث هذا الخطأ ، والفريق الهندسي على علم به.
احذف مثيل الخدمة الذي لا يمكنك بدء تشغيله، ثم قم بتوفير مثيل جديد لاستبداله.

خطأ في استعادة قاعدة البيانات أثناء ترحيل SQL إلى المثيل المدار من Azure SQL DB

عند إجراء ترحيل عبر الإنترنت من SQL Server إلى المثيل المدار SQL Azure، يفشل التقسيم بسبب الخطأ التالي:

  • خطأ: فشلت عملية الاستعادة لمعرف العملية 'operationId'. رمز 'AuthorizationFailed'، رسالة 'العميل 'clientId' مع معرف الكائن 'objectId' ليس لديه تفويض لتنفيذ الإجراء 'Microsoft.Sql/locations/managedDatabaseRestoreAzureAsyncOperation/read' عبر النطاق '/subscriptions/subscriptionId'.'.
السبب الدقة
يشير هذا الخطأ إلى أن أصل التطبيق المستخدم للترحيل عبر الإنترنت من SQL Server إلى SQL المثيل المدار ليس لديه إذن مساهمة على الاشتراك. تتطلب بعض استدعاءات واجهة برمجة التطبيقات مع المثيل المدار في الوقت الحالي هذا الإذن عند الاشتراك في عملية الاستعادة.













Get-AzureADServicePrincipal استخدم cmdlet PowerShell مع -ObjectId المتوفرة من رسالة الخطأ لسرد اسم العرض الخاص بمعرف التطبيق المستخدم.

تحقق من صحة أذونات هذا التطبيق وتأكد من أن له دور المساهم على مستوى الاشتراك.

يعمل فريق هندسة خدمة ترحيل قاعدة بيانات Azure على تقييد الوصول المطلوب من دور المساهمة الحالي في الاشتراك. إذا كان لديك متطلبات عمل لا تسمح باستخدام دور المساهمة، فاتصل بدعم Azure للحصول على مساعدة إضافية.

حدث خطأ عند حذف NIC المقترن بخدمة ترحيل قاعدة بيانات Azure

عند محاولة حذف بطاقة واجهة شبكة مقترنة ب Azure Database Migration Service، تفشل محاولة الحذف بسبب هذا الخطأ:

  • خطأ: لا يمكن حذف NIC المقترن بخدمة ترحيل قاعدة بيانات Azure بسبب خدمة DMS التي تستخدم NIC
السبب الدقة
تحدث هذه المشكلة عندما يكون مثيل خدمة ترحيل قاعدة بيانات Azure لا يزال موجودا ويستهلك NIC.







لحذف بطاقة واجهة الشبكة (NIC) هذه، احذف مثيل خدمة DMS الذي يقوم تلقائيا بحذف NIC المستخدم من قبل الخدمة.

هام: تأكد من أن مثيل خدمة ترحيل قاعدة بيانات Azure الذي يتم حذفه لا يحتوي على أنشطة قيد التشغيل.

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

خطأ في الاتصال عند استخدام ExpressRoute

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

السبب الدقة
عند استخدام ExpressRoute، تتطلب خدمة ترحيل قاعدة بيانات Azure توفير ثلاث نقاط نهاية خدمة على الشبكة الفرعية للشبكة الظاهرية المقترنة بالخدمة:
-- نقطة نهاية حافلة الخدمة
-- نقطة نهاية التخزين
- نقطة نهاية قاعدة البيانات المستهدفة (مثل نقطة النهاية SQL ونقطة نهاية قاعدة بيانات كوزموس)




قم بتمكين نقاط نهاية الخدمة المطلوبة للاتصال ExpressRoute بين المصدر وخدمة ترحيل قاعدة بيانات Azure.







خطأ في تأمين مهلة الانتظار عند ترحيل قاعدة بيانات MySQL إلى Azure DB ل MySQL

عند ترحيل قاعدة بيانات MySQL إلى قاعدة بيانات Azure لمثيل MySQL عبر خدمة ترحيل قاعدة بيانات Azure، يفشل الترحيل بسبب خطأ مهلة انتظار القفل التالي:

  • خطأ: خطأ ترحيل قاعدة البيانات - فشل تحميل الملف - فشل بدء عملية التحميل للملف 'n' RetCode: SQL_ERROR SqlState: HY000 NativeError: 1205 الرسالة: [MySQL] [برنامج تشغيل ODBC][mysqld] تم تجاوز مهلة انتظار القفل; حاول إعادة تشغيل المعاملة
السبب الدقة
يحدث هذا الخطأ عند فشل الترحيل بسبب مهلة انتظار القفل أثناء الترحيل. فكر في زيادة قيمة معلمة الخادم "innodb_lock_wait_timeout". أعلى قيمة مسموح بها هي 1073741824.

خطأ في الاتصال بالمصدر SQL Server عند استخدام منفذ ديناميكي أو مثيل مسمى

عند محاولة توصيل Azure Database Migration Service بمصدر SQL Server يتم تشغيله على مثيل مسمى أو منفذ ديناميكي، يفشل الاتصال بسبب هذا الخطأ:

  • خطأ: -1 - فشل اتصال SQL. حدث خطأ متعلق بالشبكة أو خاص بالمثيل أثناء إنشاء اتصال بـ SQL Server. لم يتم العثور على الخادم أو تعذر الوصول إليه. تحقق من صحة اسم المثيل وتكوين SQL Server للسماح بالاتصالات عن بعد. (الموفر: SQL واجهات الشبكة، خطأ: 26 - خطأ في تحديد موقع الخادم/المثيل)
السبب الدقة
تحدث هذه المشكلة عندما يكون المصدر SQL Server المثيل الذي تحاول خدمة ترحيل قاعدة بيانات Azure الاتصال به إما منفذ ديناميكي أو يستخدم مثيل مسمى. تستمع خدمة مستعرض SQL Server إلى منفذ UDP 1434 للاتصالات الواردة إلى مثيل مسمى أو عند استخدام منفذ ديناميكي. قد يتغير المنفذ الديناميكي في كل مرة SQL Server فيها إعادة تشغيل الخدمة. يمكنك التحقق من المنفذ الديناميكي المعين لمثيل عبر تكوين الشبكة في إدارة تكوين SQL Server.


تحقق من إمكانية اتصال خدمة ترحيل قاعدة بيانات Azure بخدمة مستعرض المصدر SQL Server على منفذ UDP 1434 والمثيل SQL Server من خلال منفذ TCP المعين ديناميكيا حسب الاقتضاء.

مشكلات إضافية معروفة

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