أنت غير متصل حاليًا، وفي انتظار الإنترنت الخاص بك ليقوم بإعادة الاتصال

تحويلات أو التقنيات المشابهة قد يؤدي سلوك غير متوقع مع SQL Server

هام: تمت ترجمة هذه المقالة باستخدام برامج مايكروسوفت للترجمة الآلية ومن المحتمل ان يتم تحريرها او تدقيقها بعد ذلك من خلال تكنولوجيا منصة مجموعات الترجمة(CTF) او من خلال مترجم بشري. تقدم لك شركة مايكروسوفت هذه المقالات المترجمة بشكل آلي او بالترجمة البشرية او بعد تحريرها وتدقيقها من قبل مجموعات الترجمة حتى تمكنكم من الوصول إلى جميع المقالات الموجودة في قواعد المعرفة لديها بلغات مختلفة. إلا أن المقالات المترجمة قد تحتوي على أخطاء في المفردات او بناء الجمل او النحو. وعليه، فإن شركة مايكروسوفت ليست مسؤولة عن اية أخطاء او عدم دقة في الترجمة او أية أضرار قد تحدث نتيجة أخطاء في ترجمة محتويات النص او استخدامه من قبل العملاء.

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

ميزات استخدام تحويلات أو التقنيات المشابهة لتغيير سلوك SQL Server قد تتسبب المشكلات التالية:
  • مشاكل الأداء
  • نتائج غير صحيحة
  • تلف القرص والذاكرة
  • فقدان استجابة ملقم SQL
  • إنهاء عملية غير متوقعة
  • عدم القدرة على استخدام تشخيصات القياسية مثل الدالة fn_get_sql والأمر DBCC INPUTBUFFER
فتواجه هذه المشاكل نفسها عند استخدام البرامج غير التابعة ل Microsoft مثل الملقمات المرتبطة أو الإجراءات الموسعة أو كائنات COM ضمن عملية SQL Server. يتم إخفاء تحويلات من عرض ديسيبل. لإظهار التفاف، يجب استخدام التقنيات الموضحة في قسم "مزيد من المعلومات" الذي يتبع. الملقمات المرتبطة وكائنات COM الإجراءات الموسعة يكون التسجيل صريحة وتعريف الواجهات.

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

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

ليس هدفنا كشف التفاف وخذ بعين الاعتبار مثيل SQL Server لتكون غير مدعومة. مايكروسوفت تعترف بعض تطبيقات ضرورية. ومع ذلك، يتطلب Microsoft التحقق من صحة المحسنة للتحويلات. التفاف من شركة معروفة وموثوق بها يختلف بالتأكيد التفاف غير متوقع مستخدمة بواسطة فيروس. لا تضمن Microsoft أو ترخص هذه منتجات الجهات الخارجية أو كيفية تفاعل منتجات جهة خارجية مع منتجات Microsoft وخدماتها. بدلاً من ذلك، موردي الجهات الأخرى المسؤولة عن تعريف ومدى جدارة الثقة بمنتجاتها وخدماتها. إذا كان لديك أية أسئلة حول خدمات ومنتجات الجهات الخارجية، يرجى الوصول إلى جهة أخرى قابلة للتطبيق. Microsoft غير مسؤولة عن أي المشكلات التي تنتج عن استخدام منتجات الجهات الخارجية أو خدمات SQL Server.
معلومات أخرى
تحويلات توفر قدرات محسنة والمقايضة مخاطر/المكاسب. عادة، عند تطبيق التفاف في SQL Server، يتم حقن تعليمات الجهة الخارجية البرمجية في مساحة العملية. هذا النشاط قد تغيير سلوك SQL Server.

فيما يلي بعض الأمثلة على الحالات والآثار الجانبية المحتملة:
  • يتم تفحص الحزم (TDS) حركة مرور الشبكة الواردة وتغييره. يتم إضافة التفاف في مكان هامة في عملية الشبكة net_readdata مؤشر الترابط. دورات وحدة المعالجة المركزية حتى 100 في هذا الموقع قد يقلل صافي معدل المجموعة.

    قد يؤدي تغيير في بيانات TDS الفعلي إلى سكريبليرس الذاكرة. هذه المشكلة قد أدى استقرار SQL Server مختلفة وفي تلف في البيانات. قد تتسبب مشاكل حزمة TDS لتغيير جزئيا وإعادة النفايات إلى SQL Server. تسجيل المرافق في هذا المستوى قد يعرض كلمات المرور والبيانات الحساسة الأخرى التي تتبع مصممة لمنع وللمساعدة في تأمين SQL Server.
  • يتم ديتوريد إجراءات تحليل SQL Server لتغيير السلوك. فيما يلي بعض الآثار الجانبية المحتملة:
    • خطط التنفيذ لا تطابق نص الاستعلام الفعلي.
    • إرسال أمر مرة واحدة فقط من العميل. ومع ذلك، يتم تنفيذ الأمر عدة مرات.
    • يوضح إخراج التتبع الأمر الأصلي بدلاً من تغيير الاستعلام.
    • يظهر الأمر DBCC INPUTBUFFER الأمر الأصلي بدلاً من تغيير الاستعلام.
    • الدالة fn_get_sql يظهر بيانات غير صحيحة. بالإضافة إلى ذلك، الدالة fn_get_sql معرضة للاستثناءات ونتائج غير صحيحة. يستخدم من قبل العديد من حلول مراقبة الدالة fn_get_sql وقد يسبب مشاكل في مراقبة الحلول.
    • العام جدولة وضع المستخدم (UMS) وجدولة نظام تشغيل ملقم SQL (SQLOS) قد توقف. وهذا يؤدي إلى فقدان استجابة ملقم SQL والتغييرات في أداء وانقطاع.
  • واجهات برمجة تطبيقات Win32 التي توفر ميزات الأمان المحسنة هي ديتوريد. اعتماداً التطبيق، قد يعرض مرافق التسجيل في هذا المستوى كلمات المرور والبيانات الحساسة الأخرى. عام مقاطعة مس وجدولة SQLOS. وهذا يؤدي إلى فقدان استجابة ملقم SQL وانقطاع.
  • تعديل جداول الدالة وإعادة توجيه المهام الأساسية على SQL Server أو Windows API غير معتمدة ضمن عملية SQL Server. هذا يؤدي إلى عدم الاستقرار وسلوك غير متوقع في الأداء الوظيفي SQL Server.
المثال التالي يوضح أن kernel32!جيتقويويدكومبليتيونستاتوس تم ديتوريد الدالة.
MyDLL!MyGetQueuedCompletionStatusssnetlib!ConnectionReadAsyncWait
تم استبدال التعليمة الأولى مع تعليمة الانتقال في التجميع للدالة جيتقويويدكومبليتيونستاتوس .
0:038> u kernel32!GetQueuedCompletionStatuskernel32!GetQueuedCompletionStatus 77e660f1 e90a9f00aa      jmp     21e70000   ß  This points to an address that does not appear in the loaded module list (lm). It is injected code.77e660f6 83ec10          sub     esp,10h
إظهار التجميع للتعليمات البرمجية التي تم إدراجها النشاط ديتوريد واستدعاء الملف MyDLL.
0:038> u 21e70000  21e70000 55              push    ebp21e70001 8bec            mov     ebp,esp21e70003 51              push    ecx21e70004 8b4518          mov     eax,dword ptr [ebp+18h]21e70007 50              push    eax21e70008 8b4d14          mov     ecx,dword ptr [ebp+14h]21e7000b 51              push    ecx21e7000c 8b5510          mov     edx,dword ptr [ebp+10h]21e7000f 52              push    edx21e70010 8b450c          mov     eax,dword ptr [ebp+0Ch]21e70013 50              push    eax21e70014 8b4d08          mov     ecx,dword ptr [ebp+8]21e70017 51              push    ecx21e70018 e8234d19ee      call   MyDLL+0x4d40 (10004d40)   <- Call to the MyDLL file.21e7001d 8945fc          mov     dword ptr [ebp-4],eax21e70020 8b55fc          mov     edx,dword ptr [ebp-4]

يمكنك استخدام أدوات التصحيح ل Windows لتحديد ما إذا كان يتم استخدام التحويلات. للقيام بذلك، اتبع الخطوات التالية:

ملاحظة: دائماً اختبر هذا الأسلوب قبل محاولة في الإنتاج. عند استخدام أدوات التصحيح ل Windows، قد تجميد العملية عند تشغيل الأوامر. قد يؤثر هذا السلوك على خادم إنتاج.
  1. إرفاق أدوات التصحيح ل Windows لخادم SQL أو تحميل ملف تفريغ مستخدم كاملة.
  2. إصدار الأمر مصحح الأخطاء التالية. يفحص هذا الأمر كل صورة صورة على القرص لتحديد ما إذا كان تم حقن الطرق الالتفافية.
    !for_each_module "!chkimg -v @#Base -d"
  3. فصل مصحح الأخطاء.
للحصول على أدوات التصحيح ل Windows، انتقل إلى موقع Microsoft التالي على الويب: إذا تم تعديل الصورة في الذاكرة، الإخراج قد ما يلي:
Comparison image path: c:\program files\microsoft sql server\mssql\binn\ssnetlib.dll\ssnetlib.dllScanning section:    .textSize: 56488Range to scan: 0c261000-0c26eca80c263710-0c26371a  11 bytes - ssnetlib!ConnectionClose           	[ 8b ff 55 8b ec 83 ec 10:68 00 00 00 00 e9 27 8a ]0c2641e0-0c2641ea  11 bytes - ssnetlib!ConnectionReadAsync (+0xad0)	[ 8b ff 55 8b ec 83 ec 38:68 00 00 00 00 e9 00 7e ]0c265160-0c26516a  11 bytes - ssnetlib!ConnectionWriteAsync (+0xf80)	[ 8b ff 55 8b ec 83 ec 28:68 00 00 00 00 e9 ba 70 ]Total bytes compared: 56488(100%)Number of errors: 3333 errors : 0c260000 (0c263710-0c26516a)
يمكنك مراجعة التجميع إلى إمعان النظر في هذه المسألة كما يلي:
0:038> u ssnetlib!ConnectionClosessnetlib!ConnectionClose]:0c263710 6800000000      push    00c263715 e9278ada03      jmp     MyDLL!MyGetQueuedCompletionStatus  <- A detour has been installed.

برامج مكافحة الفيروسات التي تعقب حقنه هجوم SQL يمكنك التفاف التعليمات البرمجية للخادم SQL. في هذا السيناريو، الإخراج! for_each_module "! Base تشكيمج @#-v-d" ملحق قد تشير إلى أن يعمل ملقم SQL ييبارسي ويتم تعديل ex_raise2 :

Comparison image path: <symbol file path>\sqlservr.exeRange to scan: c81000-3de7d48    ed71a8-ed71ad  6 bytes - sqlservr!yyparse [ ff f5 41 54 41 55:e9 c7 95 5c 76 90 ]1202820-1202824  5 bytes - sqlservr!ex_raise2 (+0x32b678) [ ff f3 57 41 54:e9 20 e0 29 76 ]Total bytes compared: 51801416(17%)Number of errors: 11

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

تحذير: تمت ترجمة هذه المقالة تلقائيًا

خصائص

رقم الموضوع: 920925 - آخر مراجعة: 03/20/2015 19:16:00 - المراجعة: 4.0

Microsoft SQL Server 2005 Express Edition, Microsoft SQL Server 2005 Express Edition with Advanced Services, Microsoft SQL Server 2005 Standard Edition, Microsoft SQL Server 2005 Workgroup Edition, Microsoft SQL Server 2005 Developer Edition, Microsoft SQL Server 2005 Enterprise Edition, Microsoft SQL Server 2005 Standard X64 Edition, Microsoft SQL Server 2005 Enterprise X64 Edition, Microsoft SQL Server 2005 Standard Edition for Itanium Based Systems, Microsoft SQL Server 2005 Enterprise Edition for Itanium Based Systems, Microsoft SQL Server 2000 Personal Edition, Microsoft SQL Server 2000 Standard Edition, Microsoft SQL Server 2000 Workgroup Edition, Microsoft SQL Server 2000 Developer Edition, Microsoft SQL Server 2000 Enterprise Edition, Microsoft SQL Server 2008 Developer, Microsoft SQL Server 2008 Enterprise, Microsoft SQL Server 2008 Express, Microsoft SQL Server 2008 R2 Datacenter, Microsoft SQL Server 2008 R2 Developer, Microsoft SQL Server 2008 R2 Enterprise, Microsoft SQL Server 2008 R2 Express, Microsoft SQL Server 2008 R2 Standard, Microsoft SQL Server 2008 R2 Web, Microsoft SQL Server 2008 R2 Workgroup, Microsoft SQL Server 2008 Web, Microsoft SQL Server 2008 Workgroup, Microsoft SQL Server 2012 Developer, Microsoft SQL Server 2012 Enterprise, Microsoft SQL Server 2012 Express, Microsoft SQL Server 2012 Standard, Microsoft SQL Server 2012 Web, SQL Server 2012 Enterprise Core, Microsoft SQL Server 2014 Developer, Microsoft SQL Server 2014 Enterprise, Microsoft SQL Server 2014 Express, Microsoft SQL Server 2014 Standard, Microsoft SQL Server 2014 Web

  • kbtshoot kbexpertiseadvanced kbinfo kbmt KB920925 KbMtar
تعليقات
"display: none; " src="https://c1.microsoft.com/c.gif?DI=4050&did=1&t=">>