تصحيح: لا يمكن إنهاء جلسة عمل الذي يقوم بتشغيل استعلام على ملقم مرتبط في SQL Server 2005 وفي SQL Server 2008

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

الأعراض

العرض الأول

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

يتم إنشاء ملف تفريغ مصغر في مجلد السجل SQL Server. إذا قمت بالاستعلام عرض إدارة الحيوي sys.dm_os_waiting_tasks ، تظهر نتائج مشابهة لما يلي:
session_id request_id  ecid        blocking_session_id blocking_ecid task_state      wait_type      wait_duration_ms     ---------- ----------- ----------- ------------------- ------------- --------------- ------------------------------- 
14 NULL NULL NULL 0 NULL 0
20 0 0 0 0 SUSPENDED WRITELOG 1360
53 0 0 58 0 SUSPENDED LCK_M_S 31982080
55 0 0 0 0 RUNNING 0
58 0 0 0 0 SUSPENDED LOGBUFFER 1350
59 0 0 0 0 SUSPENDED LOGBUFFER 1350
60 0 0 0 0 RUNNING 0
61 0 0 0 0 SUSPENDED LOGBUFFER 1350
63 0 0 14 0 SUSPENDED LCK_M_X 76460
66 0 0 0 0 SUSPENDED LOGBUFFER 1350
68 0 0 0 0 SUSPENDED LOGBUFFER 1330
70 0 0 0 0 RUNNING 0
77 0 0 0 0 SUSPENDED LOGBUFFER 1350
84 0 0 0 0 SUSPENDED WRITELOG 1230
87 0 0 0 0 SUSPENDED WRITELOG 3970
88 0 0 0 0 SUSPENDED WRITELOG 1210

ملاحظة: يجب إعادة تشغيل خدمة SQL Server لحل هذه المشكلة.

العرض 2

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

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

 # Child-SP          RetAddr           Call Site00 00000000`1e29c548 00000000`77adccec ntdll!memcpy+0x314 
01 00000000`1e29c550 00000000`77adbed4 ntdll!RtlpReAllocateHeap+0x741
02 00000000`1e29c800 00000000`73e62504 ntdll!RtlReAllocateHeap+0xa4
03 00000000`1e29c910 00000000`73de8356 sqlncli10!XxMpHeapReAlloc+0xca
04 00000000`1e29c950 00000000`73de82de sqlncli10!MpHeapReAlloc+0x44
05 00000000`1e29c9e0 00000000`73de826e sqlncli10!MpReallocZeroMemory+0x69
06 00000000`1e29ca10 00000000`73dfb015 sqlncli10!SQLReAllocateMemoryEx+0x2a
07 00000000`1e29ca50 00000000`73df8b7b sqlncli10!PlAddNewIEx+0x8e
08 00000000`1e29caa0 00000000`73df869b sqlncli10!SortErrors+0x6b
09 00000000`1e29cae0 000007fe`f6448d44 sqlncli10!SQLGetDiagFieldW+0x2bc
0a 00000000`1e29d180 000007fe`f64471b9 odbc32!DriverGetDiagField+0x124
0b 00000000`1e29d200 00000000`743a253e odbc32!SQLGetDiagFieldW+0x471
0c 00000000`1e29d750 00000000`7439d0d3 sqlsvc!GetInfoMessage+0x4e
0d 00000000`1e29d7b0 00000000`7439fee2 sqlsvc!dbQSQLMessageHandler+0x3a3
0e 00000000`1e2a1b50 00000000`0021c416 sqlsvc!QSQLExecDirectAsync+0x1a2
0f 00000000`1e2a1bb0 00000000`0021bac7 SQLAGENT!DoSQL+0x316
10 00000000`1e2a21a0 00000000`002339a3 SQLAGENT!ExecuteTSQL+0xd97
11 00000000`1e2a6cd0 00000000`00231f8a SQLAGENT!StartStep+0x693
12 00000000`1e2a77d0 00000000`00230daf SQLAGENT!DoStep+0x3ba
13 00000000`1e2ac7a0 00000000`756437d7 SQLAGENT!JobManager+0xa6f

السبب

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

الحل

معلومات التحديث التراكمي ل SQL Server 2005 Service Pack 2


تم إصدار الإصلاح الخاص بهذه المشكلة أولاً في التحديث التراكمي 12 ل SQL Server 2005 Service Pack 2. لمزيد من المعلومات حول حزمة التحديث التراكمي هذه، انقر فوق رقم المقالة التالي لعرضها في "قاعدة المعارف ل Microsoft":
962970 التراكمية حزمة 12 تحديث ل SQL Server 2005 Service Pack 2
ملاحظة: لأن البنيات تراكمية، يحتوي كل إصدار إصلاح جديد على كافة الإصلاحات العاجلة وإصدار تصحيح كافة تصحيحات الأمان التي تم تضمينها مع SQL Server 2005 السابقة. توصي Microsoft بمراعاة تطبيق أحدث إصدار للإصلاح الذي يحتوي على هذا الإصلاح العاجل. لمزيد من المعلومات، انقر فوق رقم المقالة التالية لعرضها في "قاعدة معارف Microsoft":
937137 بناء SQL Server 2005 التي تم إصدارها بعد إصدار SQL Server 2005 Service Pack 2
يتم إنشاء الإصلاحات العاجلة ل Microsoft SQL Server 2005 لحزم خدمة SQL Server معينة. يجب تطبيق إصلاح عاجل SQL Server 2005 Service Pack 2 على تثبيت SQL Server 2005 Service Pack 2. بشكل افتراضي، يتم تضمين أي إصلاح جديد قد يتوفر في حزمة خدمـات لـ SQL Server في حزمة خدمـات لـ SQL Server التالية.

معلومات التحديث التراكمي SQL Server 2005 Service Pack 3

تم إصدار الإصلاح الخاص بهذه المشكلة أولاً في التحديث التراكمي 3 ل SQL Server 2005 Service Pack 3. لمزيد من المعلومات حول كيفية الحصول على حزمة التحديث التراكمي ل SQL Server 2005، انقر فوق رقم المقالة التالي لعرضها في "قاعدة المعارف ل Microsoft":
967909 التراكمية تحديث حزمة 3 ل SQL Server 2005 Service Pack 3
ملاحظة: لأن البنيات تراكمية، يحتوي كل إصدار إصلاح جديد على كافة الإصلاحات العاجلة وإصدار تصحيح كافة تصحيحات الأمان التي تم تضمينها مع SQL Server 2005 السابقة. نوصي بأن تنظر في تطبيق أحدث إصدار للإصلاح الذي يحتوي على هذا الإصلاح العاجل. لمزيد من المعلومات، انقر فوق رقم المقالة التالية لعرضها في "قاعدة معارف Microsoft":
960598 بناء SQL Server 2005 التي تم إصدارها بعد إصدار SQL Server 2005 Service Pack 3

معلومات التحديث التراكمي نسخة إصدار SQL Server 2008

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

معلومات التحديث التراكمي ل SQL Server 2008 Service Pack 1

تم إصدار الإصلاح الخاص بهذه المشكلة أولاً في التحديث التراكمي 1 ل SQL Server 2008 Service Pack 1. لمزيد من المعلومات حول كيفية الحصول على حزمة التحديث التراكمي ل SQL Server 2008، انقر فوق رقم المقالة التالي لعرضها في "قاعدة المعارف ل Microsoft":
969099 التراكمية حزمة 1 تحديث ل SQL Server 2008 Service Pack 1
ملاحظة: لأن البنيات تراكمية، يحتوي كل إصدار إصلاح جديد على كافة الإصلاحات العاجلة وإصدار تصحيح كافة تصحيحات الأمان التي تم تضمينها مع SQL Server 2008 السابقة. نوصي بأن تنظر في تطبيق أحدث إصدار للإصلاح الذي يحتوي على هذا الإصلاح العاجل. لمزيد من المعلومات، انقر فوق رقم المقالة التالية لعرضها في "قاعدة معارف Microsoft":
970365 بناء SQL Server 2008 التي تم إصدارها بعد إصدار SQL Server 2008 Service Pack 1

الحل البديل

للتعامل مع العرض الأول، استخدام تعبير لخاصية سقلستاتيمينتسورسي لمهمة تنفيذ SQL لتحديد عبارة SELECT باستخدام المتغير. على سبيل المثال، تعيين التعبير التالي لخاصية سقلستاتيمينتسورسي لمهمة تنفيذ SQL.
SELECT filed1 AS a FROM table1 WHERE filed1="+ @[User::variable1]
العرض 2، إذا SQLAgent ويعتبر نمو الذاكرة ارتفاعا غير عادي، السبب الجذري للخطأ OLEDB ينبغي أيضا التحقيق فيها وحلها فضلا عن تطبيق التحديث التراكمي لعملية SQL Server.

الحالة

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

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

مزيد من المعلومات حول حزمة التحديث التراكمي 12 ل SQL Server 2005 Service Pack 2

لمزيد من المعلومات حول تغيير ما هي الملفات و للحصول على معلومات حول أية متطلبات مسبقة لتطبيق حزمة التحديث التراكمي الذي يحتوي على الإصلاح الجديد الموضح في مقالة قاعدة معارف Microsoft، انقر فوق رقم المقالة التالي لعرضها في "قاعدة المعارف ل Microsoft":
962970 التراكمية حزمة 12 تحديث ل SQL Server 2005 Service Pack 2

مزيد من المعلومات حول حزمة التحديث التراكمي 3 ل SQL Server 2005 Service Pack 3

لمزيد من المعلومات حول تغيير ما هي الملفات و للحصول على معلومات حول أية متطلبات مسبقة لتطبيق حزمة التحديث التراكمي الذي يحتوي على الإصلاح الجديد الموضح في مقالة قاعدة معارف Microsoft، انقر فوق رقم المقالة التالي لعرضها في "قاعدة المعارف ل Microsoft":
967909 التراكمية تحديث حزمة 3 ل SQL Server 2005 Service Pack 3

مزيد من المعلومات حول حزمة التحديث التراكمي 4 لإصدار SQL Server 2008

لمزيد من المعلومات حول تغيير ما هي الملفات و للحصول على معلومات حول أية متطلبات مسبقة لتطبيق حزمة التحديث التراكمي الذي يحتوي على الإصلاح الجديد الموضح في مقالة قاعدة معارف Microsoft، انقر فوق رقم المقالة التالي لعرضها في "قاعدة المعارف ل Microsoft":
963036 التراكمية حزمة 4 تحديث ل SQL Server 2008

مزيد من المعلومات حول حزمة التحديث التراكمي 1 ل SQL Server 2008 Service Pack 1

لمزيد من المعلومات حول تغيير ما هي الملفات و للحصول على معلومات حول أية متطلبات مسبقة لتطبيق حزمة التحديث التراكمي الذي يحتوي على الإصلاح الجديد الموضح في مقالة قاعدة معارف Microsoft، انقر فوق رقم المقالة التالي لعرضها في "قاعدة المعارف ل Microsoft":
969099 التراكمية حزمة 1 تحديث ل SQL Server 2008 Service Pack 1

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

0:053> kL30Child-SP          Child-BSP         RetAddr           Call Site
00000000`46a3b320 00000000`46a41a78 00000000`77b99750 ntdll!RtlVirtualUnwind+0x100
00000000`46a3bc80 00000000`46a418f8 00000000`781a5900 ntdll!RtlUnwindEx+0x110
00000000`46a3c890 00000000`46a41870 00000000`781a2d40 msvcr80!_UnwindNestedFrames+0x2a0
00000000`46a3c970 00000000`46a41810 00000000`781a3950 msvcr80!CatchIt+0xe0
00000000`46a3c9d0 00000000`46a41730 00000000`781a41a0 msvcr80!FindHandler+0x710
00000000`46a3d480 00000000`46a416b8 00000000`781a4d90 msvcr80!__InternalCxxFrameHandler+0x4e0
00000000`46a3d480 00000000`46a41628 00000000`77c28860 msvcr80!__CxxFrameHandler3+0x370
00000000`46a3d4a0 00000000`46a41628 00000000`77b9a2d0 ntdll!RtlpExecuteEmHandlerForException+0x50
00000000`46a3d4c0 00000000`46a414a8 00000000`77b993a0 ntdll!RtlDispatchException+0x3f0
00000000`46a3e170 00000000`46a41450 00000000`77b99440 ntdll!RtlpRaiseException+0x120
00000000`46a3ec00 00000000`46a41438 00000000`76eb1d40 ntdll!RtlRaiseException+0x20
00000000`46a3ec00 00000000`46a413c8 00000000`781a5aa0 kernel32!GetDateFormatW+0x7a6d8
00000000`46a3eca0 00000000`46a41360 00000000`014f2d30 msvcr80!_CxxThrowException+0x160
00000000`46a3ecf0 00000000`46a412f0 00000000`014f3150 sqlservr!TurnUnwindAndThrowImpl+0x2f0
00000000`46a3ee50 00000000`46a411f0 00000000`014f37b0 sqlservr!ex_raise2+0x6b0
00000000`46a3f110 00000000`46a41190 00000000`038ee0e0 sqlservr!ex_raise+0xc0
00000000`46a3f150 00000000`46a41158 00000000`028bffa0 sqlservr!`anonymous namespace'::LogTdsProtocolError+0xd0
00000000`46a3f160 00000000`46a41138 00000000`0200eed0 sqlservr!`anonymous namespace'::RaiseErrorOnNestedStream+0x60
00000000`46a3f160 00000000`46a41088 00000000`01172180 sqlservr!CPostHydraTds::SendMsgImpl+0xe98100
00000000`46a3f1c0 00000000`46a41030 00000000`01172040 sqlservr!ODS_SENDFULLMSG+0x100
00000000`46a3f220 00000000`46a40fa0 00000000`011738b0 sqlservr!SendErrorToUser+0x1d0
00000000`46a3f290 00000000`46a40f20 00000000`01105a00 sqlservr!CErrorReportingManager::SendErrorToUser+0x260
00000000`46a3f320 00000000`46a40e10 00000000`0118a3d0 sqlservr!CErrorReportingManager::CwchFormatAndPrint+0x610
00000000`46a3f470 00000000`46a40dd8 00000000`0118a2f0 sqlservr!ex_vcallprint+0xb0
00000000`46a3f4b0 00000000`46a40d80 00000000`024cbfb0 sqlservr!ex_callprint+0xa0
00000000`46a3f4f0 00000000`46a40c90 00000000`02514e20 sqlservr!COledbError::FRelayErrorInfo+0x960
00000000`46a3f570 00000000`46a40c58 00000000`02f82030 sqlservr!COledbError::FPrintSQLServerError+0x190
00000000`46a3f5a0 00000000`46a40c10 00000000`0441b450 sqlservr!COledbError::GatherAndPrintMultipleResultsError+0x30
00000000`46a3f5b0 00000000`46a40b28 00000000`0164d160 sqlservr!CQScanRmtQueryNew::GetRow+0xad0
00000000`46a3f660 00000000`46a40a28 00000000`01768560 sqlservr!CQScanNLJoinTrivialNew::GetRow+0x1a90
00000000`46a3f690 00000000`46a40928 00000000`01333d30 sqlservr!CXStmtQuery::ErsqExecuteQuery+0xe50
00000000`46a3f760 00000000`46a407c8 00000000`0130ce40 sqlservr!CMsqlExecContext::ExecuteStmts<1,1>+0x19d0
00000000`46a3f870 00000000`46a406d0 00000000`0130ac70 sqlservr!CMsqlExecContext::FExecute+0x7c0
00000000`46a3f960 00000000`46a405f0 00000000`010fa300 sqlservr!CSQLSource::Execute+0x5f0
00000000`46a3fa10 00000000`46a404f8 00000000`010fa5c0 sqlservr!process_request+0x5c0
00000000`46a3fbe0 00000000`46a40478 00000000`0100e4b0 sqlservr!process_commands+0x6d0
00000000`46a3fdf0 00000000`46a40420 00000000`0100e210 sqlservr!SOS_Task::Param::Execute+0x1a0
00000000`46a3fe70 00000000`46a40378 00000000`0100dc30 sqlservr!SOS_Scheduler::RunTask+0x190
00000000`46a3fe90 00000000`46a402b0 00000000`01061ea0 sqlservr!SOS_Scheduler::ProcessTasks+0x170

المراجع

لمزيد من المعلومات حول القائمة الطريقة التي تتوفر بعد SQL Server 2005 Service Pack 3، انقر فوق رقم المقالة التالي لعرضها في "قاعدة المعارف ل Microsoft":
960598 بناء SQL Server 2005 التي تم إصدارها بعد إصدار SQL Server 2005 Service Pack 3
لمزيد من المعلومات حول القائمة الطريقة التي تتوفر بعد إصدار SQL Server 2008 Service Pack 1، انقر فوق رقم المقالة التالي لعرضها في "قاعدة المعارف ل Microsoft":

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

لمزيد من المعلومات حول القائمة الطريقة التي تتوفر بعد إصدار SQL Server 2008، انقر فوق رقم المقالة التالي لعرضها في "قاعدة المعارف ل Microsoft":

956909 بناء SQL Server 2008 التي تم إصدارها بعد إصدار SQL Server 2008

لمزيد من المعلومات حول القائمة الطريقة التي تتوفر بعد SQL Server Service Pack 2، انقر فوق رقم المقالة التالي لعرضها في "قاعدة المعارف ل Microsoft":
937137 بناء SQL Server 2005 التي تم إصدارها بعد إصدار SQL Server 2005 Service Pack 2
لمزيد من المعلومات حول "نموذج تقديم تزايدي" ل SQL Server، انقر فوق رقم المقالة التالي لعرضها في "قاعدة المعارف ل Microsoft":
935897 "نموذج تقديم تزايدي" يتوفر من فريق SQL Server لتسليم الإصلاحات العاجلة للمشاكل التي تم الإبلاغ عنها
لمزيد من المعلومات حول كيفية الحصول على SQL Server 2005 Service Pack 2، انقر فوق رقم المقالة التالي لعرضها في "قاعدة المعارف ل Microsoft":
كيفية الحصول على أحدث حزمة خدمة ل SQL Server 2005 913089
لمزيد من المعلومات حول الميزات الجديدة والتحسينات في SQL Server 2005 Service Pack 2، قم بزيارة موقع Microsoft التالي على الويب:لمزيد من المعلومات حول مخطط التسمية لتحديثات SQL Server، انقر فوق رقم المقالة التالي لعرضها في "قاعدة المعارف ل Microsoft":
حزم تحديث مخطط تسمية جديدة 822499 لبرامج Microsoft SQL Server
لمزيد من المعلومات حول مصطلحات تحديث البرامج، انقر فوق رقم المقال التالي لعرضه في "قاعدة معارف Microsoft":
824684 وصف للمصطلحات القياسية المستخدمة في وصف تحديثات برامج Microsoft
خصائص

رقم الموضوع: 961237 - آخر مراجعة: 14‏/01‏/2017 - المراجعة: 2

تعليقات