الأعراض
اطّلع على السيناريو التالي:
-
لديك خادم مرتبط في Microsoft SQL Server 2008 R2.
-
يوجد جدول على الخادم المرتبط يحتوي على عمود نوع SMALLDATETIME.
-
يمكنك تشغيل عبارة INSERT أو INSERT INTO لإدراج سجل يحتوي على بيانات نوع DATETIME في الجدول.
في هذا السيناريو، تفشل العبارة. بالإضافة إلى ذلك، تتلقى رسالة الخطأ التالية:
قام موفر OLE DB "SQLNCLI10" للخادم المرتبط "LinkServerName " بإرجاع الرسالة "أخطاء إنشاء عملية OLE DB متعددة الخطوات. تحقق من كل قيمة حالة OLE DB، إذا كانت متوفرة. ولم ينجز أي عمل".Msg 7344، المستوى 16، الحالة 1، السطر 1تعذر على موفر OLE DB "SQLNCLI10" للخادم المرتبط "LinkServerName" إدراج في الجدول "TableName" بسبب العمود "ColumnName". فشل التحويل لأن قيمة البيانات تجاوزت نوع البيانات المستخدم من قبل الموفر.
السبب
تحدث هذه المشكلة بسبب مشكلة تعيين نوع البيانات في SQL Server.
الحل
معلومات التحديث التراكمي
SQL Server 2008 R2 Service Pack 2
تم إصدار إصلاح هذه المشكلة لأول مرة في التحديث التراكمي 3. لمزيد من المعلومات حول كيفية الحصول على حزمة التحديث التراكمي هذه SQL Server 2008 R2 Service Pack 2، انقر فوق رقم المقالة التالي لعرض المقالة في قاعدة معارف Microsoft:
2754552 حزمة التحديث التراكمي 3 SQL Server 2008 R2 Service Pack 2Note نظرا لأن الإصدارات تراكمية، يحتوي كل إصدار إصلاح جديد على جميع الإصلاحات العاجلة وجميع إصلاحات الأمان التي تم تضمينها مع إصدار إصلاح حزمة الخدمة 2 SQL Server 2008 R2 السابق. نوصيك بالتفكير في تطبيق أحدث إصدار إصلاح يحتوي على هذا الإصلاح العاجل. للمزيد من المعلومات، انقر فوق رقم المقالة التالي لعرضها في "قاعدة معارف Microsoft":
2730301 إصدارات SQL Server 2008 R2 التي تم إصدارها بعد SQL Server 2008 R2 Service Pack 2
الحالة
أقرت Microsoft أن هذه المشكلة تحدث في منتجات Microsoft المسردة في المقطع "تنطبق على".
الحل البديل
للتغلب على المشكلة، استخدم إحدى الطرق التالية:
-
تحويل بيانات نوع DATETIME إلى نوع SMALLDATETIME في العبارة .
-
قم بتغيير عمود نوع SMALLDATETIME إلى نوع DATETIME على الخادم المرتبط.