Applies ToSQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Standard

الخطأ رقم: 187868 (تعديل المحتوى)VSTS: 1340145

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

الأعراض

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

  • إنشاء إجراء مخزن يستخدم معلمة قيم الجدول (TVP) في Microsoft SQL Server 2012.

  • استخدام منشئ ملفات التعريف SQL أو أحداث توسيع ملقم SQL للحصول RPC: بدء و RPC: إكمال الأحداث.

  • يمكنك تشغيل استعلام يستخدم في TVP.

  • انتهت مهلة الاستعلام.

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

System.Data.SqlClient.SqlException (0x80131904): انتهت مهلة. انقضت فترة المهلة قبل إكمال العملية أو الملقم لا يستجيب.في System.Data.SqlClient.SqlInternalConnection.OnError (استثناء SqlException، بريككونيكشن منطقية)في System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning()في System.Data.SqlClient.TdsParserStateObject.ReadSniError (ستاتيوبج تدسبارسيرستاتيوبجيكت، خطأ UInt32)في System.Data.SqlClient.TdsParserStateObject.ReadSni (ل asyncResult دباسينكريسولت، ستاتيوبج تدسبارسيرستاتيوبجيكت)في System.Data.SqlClient.TdsParserStateObject.ReadNetworkPacket()في System.Data.SqlClient.TdsParserStateObject.ReadByte()في System.Data.SqlClient.TdsParser.Run (رونبيهافيور رونبيهافيور، كمداندلير SqlCommand، بيانات SqlDataReader، بولككوبيهاندلير بولككوبيسيمبليريسولتسيت، ستاتيوبج تدسبارسيرستاتيوبجيكت)في System.Data.SqlClient.SqlCommand.FinishExecuteReader (SqlDataReader ds، رونبيهافيور رونبيهافيور، ريسيتوبتيونسترينج سلسلة)في System.Data.SqlClient.SqlCommand.RunExecuteReaderTds (كمدبيهافيور كوماندبيهافيور، رونبيهافيور رونبيهافيور، ريتورنستريم منطقية، منطقية المتزامن)في System.Data.SqlClient.SqlCommand.RunExecuteReader (كمدبيهافيور كوماندبيهافيور، رونبيهافيور رونبيهافيور، ريتورنستريم المنطقية، الأسلوب سلسلة، نتيجة دباسينكريسولت)في System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery (دباسينكريسولت نتيجة سلسلة methodName، سيندتوبيبي منطقية)في System.Data.SqlClient.SqlCommand.ExecuteNonQuery()في TVPApp.Program.Main (سلسلة وسائط [])

يتم تسجيل خطأ يؤدي عدم جدولة جنبا إلى جنب مع رسالة خطأ مشابهة للرسالة التالية في سجل أخطاء SQL Server:

< تاريخ >< الوقت > "استخدام الخادم" 'dbghelp.dll' الإصدار '4.0.5'ملقم الوقت > < تاريخ >< * * * تعذر الحصول على سياق مؤشر الترابط ل spid #<Date><Time> Server * *******************************************************************************ملقم الوقت > < تاريخ >< *ملقم الوقت > < تاريخ >< * بدء تفريغ المكدس:ملقم الوقت > < تاريخ >< * spid < تاريخ >< الوقت > #ملقم الوقت > < تاريخ >< *ملقم الوقت > < تاريخ >< * لا يؤدي جدولةملقم الوقت > < تاريخ >< *<Date><Time> Server * *******************************************************************************يتم "توقيع الرصة ملقم" الوقت > < تاريخ >< التفريغ 0x000000000000002Cرمز عودة عملية تفريغ "الخارجية ملقم" الوقت > < تاريخ >< 0x20000001.عملية التفريغ الخارجية إرجاع أية أخطاء.عملية الملقم الوقت > < تاريخ >< 0:0:0 (0x1670) العامل 0x0000000004EDE160 يبدو غير التسلم في 5 "جدولة". مؤشر الترابط وقت الإنشاء: 13014210386757. : مؤشر ترابط تقريبا وحدة المعالجة المركزية kernel 0 مللي ثانية، السيدة 70106 المستخدم "استخدام عملية" 16 في المائة. خمول النظام 77 في المائة. الفاصل الزمني: السيدة 70140عملية الملقم الوقت > < تاريخ >< 0:0:0 (0x1670) العامل 0x0000000004EDE160 يبدو غير التسلم في 5 "جدولة". مؤشر الترابط وقت الإنشاء:

السبب

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

إصلاح 2520808 : لا يؤدي خطأ "جدولة" عند تشغيل استعلام يستخدم TVP في SQL Server 2008 أو في SQL Server 2008 R2 إذا تم استخدام منشئ ملفات التعريف SQL أو أحداث توسيع ملقم SQL

الحل

معلومات التحديث التراكمي

حزمة التحديث التراكمي 5 لحزمة الخدمة service Pack 1 (SP1) SQL Server 2012

تم إصدار الإصلاح الخاص بهذه المشكلة أولاً في 5 التحديث التراكمي. لمزيد من المعلومات حول كيفية الحصول على حزمة التحديث التراكمي ل SQL Server 2012، انقر فوق رقم المقالة التالي لعرضها في "قاعدة المعارف ل Microsoft":

2861107 التراكمية حزمة 5 تحديث ل SQL Server 2012ملاحظة: لأن البنيات تراكمية، يحتوي كل إصدار إصلاح جديد على كافة الإصلاحات العاجلة وإصدار تصحيح كافة تصحيحات الأمان التي تم تضمينها مع SQL Server 2012 السابقة. نوصي بأن تنظر في تطبيق أحدث إصدار للإصلاح الذي يحتوي على هذا الإصلاح العاجل. لمزيد من المعلومات، انقر فوق رقم المقالة التالية لعرضها في "قاعدة معارف Microsoft":

2772858 بناء SQL Server 2012 التي تم إصدارها بعد إصدار SQL Server 2012 Service Pack 1

الحل البديل

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

  • لا تستخدم منشئ ملفات التعريف SQL أو أحداث توسيع ملقم SQL.

  • انقر لإلغاء تحديد RPC: بدء و RPC: إكمال خانات الاختيار في تعريف التتبع.

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

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

إصلاح 2520808 : لا يؤدي خطأ "جدولة" عند تشغيل استعلام يستخدم TVP في SQL Server 2008 أو في SQL Server 2008 R2 إذا تم استخدام منشئ ملفات التعريف SQL أو أحداث توسيع ملقم SQL

معلومات مكدس الاستدعاءات

sqlmin!CLinkedMap<__int64,CCheckReadersAndWriters::CCounts>::FLookup+0x29sqlmin!CCheckReadersAndWriters::Release+0x69sqlmin!CMainIlb::{dtor}+0x3dsqlmin!CMainIlb::`scalar deleting destructor'+0x3dsqlmin!CBlobHandleFactoryMain::ReleaseILockBytes+0x13sqlmin!CMainIlb::Release+0xf0sqllang!CTraceRpcBinaryStream::~CTraceRpcBinaryStream+0x80sqllang!CTraceTvpData::{dtor}+0x14sqllang!CTraceTvpData::`scalar deleting destructor'+0x1esqllang!CRpcTraceHelper::CleanUpTraceTvpData+0x33sqllang!CRpcTraceHelper::~CRpcTraceHelper+0x70sqllang!CRPCExecEnv::~CRPCExecEnv+0x2absqllang!CRPCExecEnv::`scalar deleting destructor'+0x14sqllang!process_request+0x10b1sqllang!process_commands+0x51csqldk!SOS_Task::Param::Execute+0x21esqldk!SOS_Scheduler::RunTask+0xa8sqldk!SOS_Scheduler::ProcessTasks+0x299sqldk!SchedulerManager::WorkerEntryPoint+0x261sqldk!SystemThread::RunWorker+0x8fsqldk!SystemThreadDispatcher::ProcessWorker+0x3c8sqldk!SchedulerManager::ThreadEntryPoint+0x236kernel32!BaseThreadInitThunk+0xdntdll!RtlUserThreadStart+0x1d  
sqlmin!CLinkedMap<__int64,CCheckReadersAndWriters::CCounts>::FDelete+0x34sqlmin!CCheckReadersAndWriters::Release+0xfbsqlmin!CMainIlb::{dtor}+0x3dsqlmin!CMainIlb::`scalar deleting destructor'+0x3dsqlmin!CBlobHandleFactoryMain::ReleaseILockBytes+0x13sqlmin!CMainIlb::Release+0xf0sqllang!CTraceRpcBinaryStream::~CTraceRpcBinaryStream+0x80sqllang!CTraceTvpData::{dtor}+0x11sqllang!CRpcTraceHelper::CleanUpTraceTvpData+0x55sqllang!CRpcTraceHelper::TracePostExec+0x1bfsqllang!CRPCExecEnv::OnExecFinish+0xaasqllang!CProtocolHeaderInfo::{dtor}+0xffffffff`ffb158e2sqllang!process_request+0x764sqllang!process_commands+0x51csqldk!SOS_Task::Param::Execute+0x21esqldk!SOS_Scheduler::RunTask+0xa8sqldk!SOS_Scheduler::ProcessTasks+0x29asqldk!SchedulerManager::WorkerEntryPoint+0x261sqldk!SystemThread::RunWorker+0x8fsqldk!SystemThreadDispatcher::ProcessWorker+0x3c8sqldk!SchedulerManager::ThreadEntryPoint+0x236kernel32!BaseThreadInitThunk+0x1antdll!RtlUserThreadStart+0x1d 

الحالة

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

Author: jannawWriter: v-yipliالمراجع التقني: برادم جانو; هوجانEditor: v-mordew

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

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

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

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