استكشاف أخطاء Synapse Studio وإصلاحها

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

فشل النشر عندما تظل جلسة العمل الخامة

العرض

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

ERROR: Unauthorized Inner error code: ExpiredAuthenticationToken Message: Token Authentication failed with SecurityTokenExpiredException - MISE12034: AuthenticationTicketProvider Name:AuthenticationTicketProvider, GetVersion:1.9.2.0.;

السبب الجذري والتخفيف

تتطلب معالجة انتهاء صلاحية الرمز المميز في Synapse Studio دراسة متأنية، خاصة عند العمل في مساحة عمل مباشرة دون تكامل Git. فيما يلي كيفية إدارة جلسة العمل لتجنب فقدان العمل:

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

هام

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

مشكلة اتصال خدمة تجمع SQL بلا خادم

العرض 1

يظهر خيار "Serverless SQL pool" باللون الرمادي في القائمة المنسدلة "Connect to".

العَرَض 1

العَرَض 2

تشغيل الاستعلام باستخدام "Serverless SQL pool" يؤدي إلى ظهور رسالة الخطأ "Failed to establish connection to server".

العَرَض 2

خطوات استكشاف الأخطاء وإصلاحها

إشعار

الخطوات التالية لتحرّي الخلل وإصلاحه تخص Chromium Edge وChrome. يمكنك استخدام متصفحات أخرى (مثل FireFox) بنفس خطوات استكشاف الأخطاء وإصلاحها، ولكن قد يكون لإطار "Developer Tool" تخطيط مختلف عن لقطات الشاشة في TSG هذا. إذا أمكن، فلا تستخدم Edge الكلاسيكي لاستكشاف الأخطاء وإصلاحها، إذ قد تظهر معلومات غير دقيقة في مواقف معينة.

افتح لوحة "معلومات التشخيص"، حدد الزر "Download Diagnostic". احتفظ بالمعلومات التي تم تنزيلها للإبلاغ عن الخطأ. يمكنك بدلاً من ذلك نسخ "معرف الجلسة" وإرفاقه عند فتح بطاقة الدعم.

معلومات التشخيص

لبدء استكشاف الأخطاء وإصلاحها، أعد محاولة العملية التي أجريتها في Synapse Studio.

  • بالنسبة إلى العَرَض 1، حدد الزر "Refresh" على يمين القائمة المنسدلة "Use database" في علامة التبويب "SQL script" وتحقق مما إذا كان بإمكانك رؤية "serverless SQL pool".
  • بالنسبة للعَرَض 2، حاول تشغيل الاستعلام مرة أخرى لمعرفة ما إذا كان سيتم تنفيذه بنجاح.

إذا استمرت المشكلة، فاضغط على F12 في متصفحك لفتح "Developer Tools" (DevTools).

في نافذة "Developer Tools"، بدّل إلى لوحة "Network". حدد الزر "Clear" على شريط الأدوات في لوحة "Network" إذا لزم الأمر. تأكد من تحديد "تعطيل ذاكرة التخزين المؤقت" في لوحة "Network".

أعد محاولة العملية التي أجريتها في Azure Synapse Studio. قد ترى عناصر جديدة معروضة في قائمة "Network" في "Developer Tools". لاحظ وقت نظامك الحالي لتقديمه في بطاقة الدعم.

لوحة الشبكة 1

ابحث عن العنصر الذي يتطابق عمود عنوان Url الخاص به مع النمط التالي:

https://[*A*]-ondemand.database.windows.net:1443/databases/[*B*]/query?api-version=2018-08-01-preview&application=ArcadiaSqlOnDemandExplorer

حيث يكون [A] هو اسم مساحة العمل الخاصة بك، ويمكن أن يكون "-ondemand" هو "-sqlod" وحيث يجب أن يكون [B] اسم قاعدة بيانات، مثل "master". يجب أن يكون هناك عنصرين على الأكثر بنفس قيمة عنوان URL ولكن بقيم طريقة مختلفة؛ الخيارات وPOST. تحقق مما إذا كان هذان العنصران يشتملان على "200" أو "20x" تحت عمود الحالة، حيث يمكن أن يكون "x" أي رقم فردي.

إذا كان لدى أي منهما شيء آخر بخلاف "20x" و:

  • تبدأ الحالة بـ "(failed)"، إما توسيع عمود "failed" أو قم بتمرير المؤشر فوق نص الحالة لمشاهدة النص الكامل. قم بتضمين النص و/أو لقطة الشاشة عند فتح بطاقة الدعم.

    نص الحالة

    • إذا رأيت ERR_NAME_NOT_RESOLVED وقمت بإنشاء مساحة العمل الخاصة بك في غضون 10 دقائق، فانتظر لمدة 10 دقائق وأعد المحاولة لمعرفة ما إذا كانت المشكلة لا تزال قائمة.
    • إذا رأيت ERR_INTERNET_DISCONNECTED أو ERR_NETWORK_CHANGED، فقد يشير ذلك إلى وجود مشكلات في اتصال شبكة الكمبيوتر لديك. تحقق من اتصال الشبكة وأعد محاولة العملية.
    • إذا رأيت ERR_CONNECTION_RESET أو ERR_SSL_PROTOCOL_ERROR أو رموز خطأ أخرى تحتوي على "SSL"، فقد يشير ذلك إلى وجود مشكلات في تكوين SSL المحلي، أو أن مسؤول الشبكة لديك قد حظر الوصول إلى خادم تجمع SQL بلا خادم. افتح بطاقة دعم وأرفق تعليمة برمجية الخطأ في الوصف.
    • إذا رأيت ERR_NETWORK_ACCESS_DENIED، فقد تحتاج إلى التحقق مع المسؤول بشأن ما إذا كان نهج جدار الحماية المحلي قد حظر الوصول إلى مجال ‎*.database.windows.net أو المنفذ البعيد 1443.
    • اختيارياً، جرب نفس العملية فوراً على جهاز مختلف و/أو بيئة شبكة لاستبعاد مشكلة تكوين الشبكة على جهاز الكمبيوتر الخاص بك.
  • الحالة "40x" أو "50x" أو أرقام أخرى، حدد العنصر (العناصر) لمشاهدة التفاصيل. يجب أن تشاهد تفاصيل العنصر إلى اليمين. ابحث عن قسم "Response Header"؛ ثم تحقق مما إذا كان العنصر المسمى "access-control-allow-origin" موجوداً. إذا كان الأمر كذلك، فتحقق مما إذا كان يحتوي على إحدى القيم التالية:

    • * (علامة نجمة واحدة)
    • https://web.azuresynapse.net/ (أو أي قيمة أخرى يبدأ بها النص في شريط عنوان المتصفح)

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

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

تفاصيل العنصر

إذا لم تنجح الخطوات المذكورة أعلاه في حل مشكلتك، فقد تحتاج إلى فتح بطاقة دعم. عند إرسال بطاقة الدعم الخاصة بك، قم بتضمين "Session ID" أو "Diagnostic Info" التي تم تنزيلها في بداية هذا الدليل.

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

وحدة تحكم أداة المطور

إذا كنت تقوم بإرفاق لقطات شاشة، فقدم الوقت (أو النطاق الزمني المقدر) الذي التقطت فيه لقطات الشاشة. سوف يساعدنا عند النظر في المشكلة.

تدعم بعض المتصفحات إظهار الطوابع الزمنية في علامة التبويب "Console". بالنسبة إلى Chromium Edge/Chrome، افتح مربع حوار "Settings" في "Developer Tools"، وحدد "Show timestamps" في علامة التبويب "Preferences".

إعدادات وحدة تحكم أداة المطور

عرض الطابع الزمني

مشكلة اتصال Websocket الكمبيوتر الدفتري

العرض

تظهر رسالة الخطأ: تم إغلاق اتصال الكمبيوتر الدفتري بشكل غير متوقع. لإعادة إنشاء الاتصال، قم بتشغيل الكمبيوتر الدفتري مرة أخرى. معلومات التشخيص: websocket_close_error (معرف الارتباط)

مشكلة اتصال Websocket الكمبيوتر الدفتري

السبب الجذري:

يعتمد تنفيذ الكمبيوتر المحمول على إنشاء اتصال WebSocket بعنوان URL التالي

wss://{workspace}.dev.azuresynapse.net/jupyterApi/versions/1/sparkPools/{spark-pool}/api/kernels/{kernel-id}/channels 
  • {workspace} هو اسم مساحة عمل Synapse,
  • {spark-pool} هو اسم تجمع Spark الذي تعمل عليه حالياً,
  • {kernel-id} هو GUID مستخدم لتمييز جلسات دفتر الملاحظات.

عند إعداد اتصال WebSocket، سيتضمن Synapse Studio رمز وصول (رمز حامل JWT) في رأس بروتوكول Sec-WebSocket-Protocol لطلب WebSocket.

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

عمل:

إذا أمكن، فيرجى محاولة تبديل بيئة الشبكة الخاصة بك، كداخل/خارج corpnet، أو الوصول إلى Synapse Notebook على محطة عمل أخرى.

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

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

بخلاف ذلك، يرجى الاتصال بمسؤول الشبكة والتأكد من السماح بطلبات WebSocket الصادرة بنمط عنوان URL التالي وعدم تعديل رأس الطلب الخاص بها:

wss://{workspace}.dev.azuresynapse.net/{path} 
  • {workspace} هو اسم مساحة عمل Synapse;

  • يشير{path} إلى أي مسار فرعي (على سبيل المثال، يتم تضمين حرف مائل) في URI.

نمط عنوان URL هذا أكثر مرونة من النمط الموضح في قسم "Root Cause" لأنه يسمح لنا بإضافة ميزات جديدة تعتمد على WebSocket إلى Synapse دون أي مشكلة اتصال محتملة في المستقبل.

قائمة انتظار الرسائل ممتلئة أو مكتملة ولا يمكن قبول المزيد من العناصر

العرض

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

لقطة شاشة من مدخل Microsoft Azure تعرض رمز الخطأ 6002 في نموذج خطوة دفتر الملاحظات.

السبب الجذري:

هناك قيود على 256 خلية عند تنفيذ نشاط دفتر ملاحظات Synapse من البنية الأساسية لبرنامج ربط العمليات التجارية.

عمل:

يمكنك دمج الخلايا لتقليل عدد الخلايا الأقل من 256.

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

إذا لم تساعد الخطوات السابقة في حل مشكلتك، فأنشئ بطاقة دعم