سؤال

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

---------------------------
SQL Server Enterprise Manager
---------------------------
Error 7399: OLE DB provider 'UNKNOWN' reported an error.  

Memory allocation failure.]
Memory allocation failure.]
OLE DB error trace [OLE/DB Provider 'UNKNOWN' IDBSchemaRowset::GetRowset returned 0x80004005:   ].
---------------------------
OK   
---------------------------

إذا كنت تحاول تشغيل أي استفسار SQL ضد ملقم مرتبط في محلل استعلام، وأبلغت عن الخطأ هو:

[OLE/DB provider returned message: Unspecified error]
OLE DB error trace [OLE/DB Provider 'MSDASQL'
IDBCreateCommand::CreateCommand returned 0x80004005:   ].
Msg 7399, Level 16, State 1, Line 1
OLE DB provider 'MSDASQL' reported an error.

إذا كنت تطبيق الأعلام TRACE المشار هنا أحصل قليلا مزيد من التفاصيل:

OLE DB error trace [Non-interface error:  OLE DB provider MSDASQL
returned an incorrect value for DBPROP_CONCATNULLBEHAVIOR which should
be either DBPROPVAL_CB_NULL or DBPROPVAL_CB_NON_NULL].
[OLE/DB provider returned message: Unspecified error]
OLE DB error trace [OLE/DB Provider 'MSDASQL'
IDBCreateCommand::CreateCommand returned 0x80004005:   ].
Msg 7399, Level 16, State 1, Line 1
OLE DB provider 'MSDASQL' reported an error.

وأي أفكار حول ما يمكن أن يسبب هذا؟ نحن لسنا على علم بأي فشل الملقم أو تغييرات على إعدادات، وإعادة تشغيل يبدو دائما لإصلاح هذا. وينفورميكس DB يبدو أن النسخة ينفورميكس الديناميكي خادم 2000 9.21.UC2، ورفع أو الترقيع ليس متاحا كخيار.

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

المحلول

ويجب أن تدرك أن IDS 9.21 طويل من الدعم - في الواقع، على حد سواء 9.30 و 9.40 (الإصدارات خليفة IDS) هي أيضا من الدعم. أنك تبلغ من العمر المتأخرة للحصول على ترقية، على الرغم من أنه يبدو أنه لا يمكنك فعلا الترقية لأسباب سياسية.

ويبدو أن هناك تسرب للذاكرة في مكان ما على الجانب SQL Server و ربما ناجم عن تسرب الذاكرة في برنامج تشغيل ODBC ينفورميكس الذي تستخدمه.

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

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top