استكشاف مشكلات وأخطاء Azure Database Migration Service الشائعة وإصلاحها

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

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

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

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

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

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

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

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

تتلقى الخطأ التالي عند إيقاف مثيل Azure Database Migration Service:

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





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

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

تتلقى الخطأ التالي عند بدء تشغيل مثيل Azure Database Migration Service:

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

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

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

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













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

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

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

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

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

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







لحذف NIC هذا، احذف مثيل خدمة DMS الذي يحذف NIC الذي تستخدمه الخدمة تلقائيا.

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

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

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

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

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




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







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

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

  • خطأ: خطأ ترحيل قاعدة البيانات - فشل تحميل الملف - فشل بدء عملية التحميل للملف 'n' RetCode: SQL_ERROR SqlState: HY000 NativeError: 1205 Message: [MySQL][ODBC Driver][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 Browser إلى منفذ UDP 1434 للاتصالات الواردة إلى مثيل مسمى أو عند استخدام منفذ ديناميكي. قد يتغير المنفذ الديناميكي في كل مرة يتم فيها إعادة تشغيل الخدمة SQL Server. يمكنك التحقق من المنفذ الديناميكي المعين لمثيل عبر تكوين الشبكة في إدارة تكوين SQL Server.


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

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

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