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

الأعراض

يرجى مراعاة السيناريو التالي:

  • يتم تكوين ملقم مرتبط بين خادم محلي وأن كلا من Microsoft SQL Server 2012 مثيلات خادم بعيد.

  • تم تكوين الملقم المحلي باستخدام ترتيب واحد، مثل ترتيب تحسس حالة الأحرف.

  • على الملقم البعيد بكائن الذي تم تكوينه في ترتيب مختلف من الملقم المحلي، مثل ترتيب تحسس حالة الأحرف.

  • يتم إجراء اتصال من برنامج تشغيل Microsoft JDBC ل SQL Server، برنامج تشغيل ODBC ل Microsoft SQL Server أو موفر OLE DB ل SQL أو "عميل SQL الأصلي" إلى الملقم المحلي.

  • تنفيذ برنامج تشغيل SQL لاستعلام تحديث كعبارة معدّة التي تستدعي الإجراء sp_prepexec المخزنة على الملقم المحلي.

  • تحديث الاستعلام جدول على الملقم البعيد. يتضمن هذا كائن عمود يستخدم ترتيب مختلف من الملقم المحلي.

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

على سبيل المثال، على استعداد الاستعلام على الملقم المحلي له الترتيب الافتراضي متحسسة لحالة الأحرف، وكان الملقم البعيد جدول T1 يحتوي على عمود حساسة لحالة الأحرف. التحديث سوف تفحص كافة الصفوف T1.
DECLARE @p1 INTEXEC sp_prepexec @p1 output, N'@P0 NVARCHAR(16), @P1 NVARCHAR(16)',
N'UPDATE RemoteServer.RemoteDatabase.dbo.T1 SET COL1=@P0 WHERE COL2=@P1',
N'a', N'a'
SELECT @p1

السبب

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

يحتوي التحديث التراكمي كل جديدة ل SQL Server على كافة الإصلاحات العاجلة وكافة إصلاحات الأمان التي تم تضمينها مع التحديث التراكمي السابق. تحقق من أحدث التحديثات التراكمية ل SQL Server:


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

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

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

http://support.microsoft.com/contactus/?ws=supportملاحظة: يعرض النموذج "توفر تنزيل الإصلاح العاجل" اللغات التي يتوفر الإصلاح الجديد. في حالة عدم ظهور اللغة الخاصة بك، يكون بسبب عدم توفر إصلاح عاجل لتلك اللغة.

المتطلبات الأساسيةلتطبيق هذا الإصلاح العاجل، يجب عليك تثبيت SQL Server 2012.

معلومات التسجيلليس لديك لتغيير التسجيل بعد تطبيق هذا الإصلاح العاجل.

معلومات استبدال الإصلاح العاجللا يحل هذا الإصلاح العاجل محل أية إصلاحات عاجلة أخرى.


الحالة

أقرت Microsoft أن هذه مشكلة في منتجات Microsoft المسردة في قسم "ينطبق على".

الحل البديل

لكي يعمل تكثر هذه المشكلة، استخدم إحدى الطرق التالية:

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

  • استخدام ترتيب النسخ المتطابقة على خادمي.

مزيد من المعلومات

لتمكين تتبع العلامة، إضافة معلمات بدء التشغيل -T4199 أو DBCC TRACEON(4199,-1) قبل أن يتم ترجمة البيان المعد لتمكين السلوك.

يمكنك استخدام إحدى الطرق التالية لتمكين تتبع العلامة:

  • قبل بدء تشغيل SQL Server، إدارة التكوين الخاصة ب Microsoft SQL Server استخدام زر الماوس الأيمن فوق مثيل المتأثرة وإضافة معلمات بدء التشغيل -T4199 حيث أن يستمر في ذلك عبر عمليات إعادة التشغيل وكافة الاتصالات إلى المثيل في المستقبل.

  • تمكين الإعداد في وقت التشغيل بمجرد الحصول على بدء تشغيل الخدمة، وعلى الصعيد العالمي لكافة اتصالات "(-1) بشكل حيوي." تأكد من تحرير إجراء التخزين المؤقت إذا كنت تخطط للقيام بالاختبار بتشغيل أو إيقاف تشغيل رمز التبديل.

    استخدم الأمر التالي لتمكين الإعداد على المستوى العالمي وبشكل حيوي:
    DBCC TRACEON(4199,-1)DBCC TRACESTATUS(-1)
    DBCC FREEPROCCACHE
    استخدم الأمر التالي لتعطيل الإعداد عالمياً وبشكل حيوي:
    DBCC TRACEOFF(4199,-1)DBCC TRACESTATUS(-1)
    DBCC FREEPROCCACHE


هل تحتاج إلى مزيد من المساعدة؟

الخروج من الخيارات إضافية؟

استكشف مزايا الاشتراك، واستعرض الدورات التدريبية، وتعرف على كيفية تأمين جهازك، والمزيد.

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

هل كانت المعلومات مفيدة؟

ما مدى رضاك عن جودة اللغة؟
ما الذي أثّر في تجربتك؟
بالضغط على "إرسال"، سيتم استخدام ملاحظاتك لتحسين منتجات Microsoft وخدماتها. سيتمكن مسؤول تكنولوجيا المعلومات لديك من جمع هذه البيانات. بيان الخصوصية.

نشكرك على ملاحظاتك!

×