Отнася се за
SQL Server 2008 R2 Standard SQL Server 2008 R2 Datacenter SQL Server 2008 R2 Developer SQL Server 2008 R2 Enterprise

Симптоми

Обмислете следния сценарий:

  • Имате свързан сървър в Microsoft SQL Server 2008 R2.

  • В свързания сървър има таблица, която има колона от тип SMALLDATETIME.

  • Изпълнявате команда INSERT или INSERT INTO, за да вмъкнете запис, който съдържа данни от тип DATETIME в таблицата.

В този случай командата е неуспешна. Освен това се извежда следното съобщение за грешка:

Доставчикът на OLE база данни "SQLNCLI10" за свързан сървър "LinkServerName " върна съобщение "Генерирани грешки от многостъпков OLE база данни. Проверете всяка стойност за състоянието на OLE база данни, ако е налична. Не е свършила никаква работа.".Msg 7344, ниво 16 състояние 1, ред 1 Доставчикът на OLE база данни "SQLNCLI10" за свързан сървър "LinkServerName" не можа да ВМЪКНЕ INTO таблица "Име_на_таблица" поради колона "Име_на_колона". Преобразуването беше неуспешно, защото стойността на данните препълни типа данни, използван от доставчика.

Причина

Този проблем възниква поради проблем със съпоставянето на типове данни в 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 Тъй като компилациите са кумулативни, всяка нова корекция издание съдържа всички горещи поправки и всички корекции на защитата, които са включени в предишните SQL Server 2008 R2 service pack 2 издание на корекция. Препоръчваме да помислите за прилагането на най-новата корекция версия, която съдържа тази актуална корекция. За допълнителна информация щракнете върху следния номер на статия, за да прегледате статията в базата знания на Microsoft:

2730301 Компилациите на SQL Server 2008 R2, които са издадени след издаването на SQL Server 2008 R2 Service Pack 2

Статут

Microsoft потвърди, че това е проблем в продуктите на Microsoft, които са изброени в раздела "Отнася се за".

Заобиколно решение

За да заобиколите проблема, използвайте един от следните методи:

  • Прехвърляне на данни от тип DATETIME към типа SMALLDATETIME в командата.

  • Променете колоната тип SMALLDATETIME на типа DATETIME на свързания сървър.

Нуждаете ли се от още помощ?

Искате ли още опции?

Разгледайте ползите от абонамента, прегледайте курсовете за обучение, научете как да защитите устройството си и още.