Застосовується до
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 DB "SQLNCLI10" для зв'язаного сервера "LinkServerName " повернув повідомлення "Кілька кроків операції OLE DB, створені помилки. Перевірте кожне значення стану бази даних OLE, якщо доступне. Роботу не виконано.".Msg 7344, рівень 16, стан 1, рядок 1 Постачальник OLE DB "SQLNCLI10" для зв'язаного сервера "LinkServerName" не може вставити в таблицю "TableName" через стовпець "Ім'я стовпця". Не вдалося перетворити, оскільки значення даних переповнило тип даних, який використовується постачальником.

Причина

Ця проблема виникає через проблему зі зіставленням типів даних у SQL Server.

Спосіб вирішення

Сукупні відомості про оновлення

SQL Server 2008 R2 із пакетом оновлень 2

Виправлення цієї проблеми вперше випущено в сукупному пакеті оновлень 3. Щоб отримати додаткові відомості про те, як отримати цей пакет сукупний пакет оновлень для пакета SQL Server 2008 R2 з пакетом оновлень 2 клацніть номер статті в базі знань Microsoft Knowledge Base:

2754552 Сукупний пакет оновлень 3 для SQL Server 2008 R2 із пакетом оновлень 2Note, оскільки збірки сукупні, кожен новий випуск виправлення містить усі виправлення та всі виправлення системи безпеки, які входили в попередній випуск виправлення SQL Server 2008 R2 з пакетом оновлень 2. Радимо застосувати останній випуск виправлення, який містить це виправлення. Щоб отримати докладні відомості, клацніть номер цієї статті бази знань Microsoft:

2730301 Збірки SQL Server 2008 R2, випущені після випуску пакета оновлень 2 (SQL SERVER 2008 R2)

Стан

Корпорація Майкрософт підтвердила, що це проблема в продуктах Microsoft, перелічених у розділі "Стосується".

Інші способи вирішення

Щоб вирішити цю проблему, скористайтеся одним із наведених нижче способів.

  • У операторі призначте тип DATETIME типу SMALLDATETIME.

  • Змініть стовпець типу SMALLDATETIME на тип DATETIME на зв'язаному сервері.

Потрібна додаткова довідка?

Потрібні додаткові параметри?

Ознайомтеся з перевагами передплати, перегляньте навчальні курси, дізнайтесь, як захистити свій пристрій тощо.