ИСПРАВИТЬ: Повреждение данных происходит при загрузке данных LOB в переменной Transact-SQL в SQL Server 2008 R2, 2012 SQL Server или SQL Server 2008

Переводы статьи Переводы статьи
Код статьи: 2803994 - Vizualiza?i produsele pentru care se aplic? acest articol.
Развернуть все | Свернуть все

В этой статье

Проблема

При выполнении запроса, содержащего данные больших объектов (LOB) для загрузки в переменной Transact-SQL в Microsoft SQL Server 2008, 2012 Microsoft SQL Server или Microsoft SQL Server 2008 R2, происходит повреждение данных. Например можно выполнить следующий запрос, чтобы скопировать XML-данных из столбца базы данных, XML-переменной:
Declare @OUTXML as XML
SELECT @OUTXML = DataXml FROM Table_1 WHERE id=1 

В этом случае инструкция SELECT выполняется, когда другие потоки пытаются обновить один и тот же столбец XML. Такое поведение может привести к повреждению данных. Кроме того появляется одно из следующих сообщений об ошибке при выполнения любого чтения и записи операции поврежденные XML-столбца:
  • Тип данных XML, повреждены.
  • Произошел неожиданный конец файла.
Примечания
  • Эта проблема обычно происходит во время высокой загрузки параллельных операций.
  • При использовании агент чтения журнала для чтения поврежденные данные XML из таблицы, которая входит в список публикации статьи для репликации транзакций, появляется следующее сообщение об ошибке:

    Тип данных XML, повреждены. (Источник: MSSQLServer номер ошибки: 6611)

Причина

Эта проблема возникает из-за освобождение блокировок по столбцу данных LOB перед копированием данных LOB из базы данных столбца переменной типа данных LOB. Все параллельные запросы можно обновить те же данные LOB до завершения процесса копирования во время процесса копирования. Таким образом их повреждение.

Решение

Накопительное обновление информации

Накопительное обновление для SQL Server 2012 7

Исправление этой уязвимости первого выпуска накопительного обновления 7. Дополнительные сведения о том, как получить этот накопительный пакет обновления для SQL Server 2012 щелкните следующий номер статьи базы знаний Майкрософт:
2823247 Накопительный пакет обновления 7 для SQL Server 2012
Примечание Поскольку построения являются накопительными, каждый новый выпуск исправление содержит все исправления и исправить все исправления, входившие в состав предыдущих 2012 SQL Server выпуска. Рекомендуется, чтобы учесть применение последний выпуск исправления, содержащего это исправление. Для получения дополнительных сведений щелкните следующий номер статьи базы знаний Майкрософт:
2692828 Построения SQL Server 2012, выпущенные после выпуска SQL Server 2012

12 Накопительного обновления для SQL Server 2008 R2 Пакет обновления 1

Исправление этой уязвимости первого выпуска накопительного обновления 12. Дополнительные сведения о том, как получить этот накопительный пакет обновления, Пакет обновления 1 для SQL Server 2008 R2 щелкните следующий номер статьи базы знаний Майкрософт:
2828727 Накопительный пакет обновления 12 Пакет обновления 1 для SQL Server 2008 R2
Примечание Поскольку построения являются накопительными, каждый новый выпуск исправление содержит все исправления и все исправления, входившие в состав предыдущих SQL Server 2008 R2 Пакет обновления 1 выпуска исправлений. Рекомендуется, чтобы учесть применение последний выпуск исправления, содержащего это исправление. Для получения дополнительных сведений щелкните следующий номер статьи базы знаний Майкрософт:
2567616 Сборки SQL Server 2008 R2, выпущенные после SQL Server 2008 R2 с пакетом обновления 1

10 Накопительного обновления для SQL Server 2008 Пакет обновления 3

Исправление этой уязвимости первого выпуска накопительного обновления 10. Дополнительные сведения о том, как получить этот накопительный пакет обновления для SQL Server 2008 Пакет обновления 3, щелкните следующий номер статьи базы знаний Майкрософт:
2814783 Накопительный пакет обновления 10 для SQL Server 2008 Пакет обновления 3
Примечание Поскольку построения являются накопительными, каждый новый выпуск исправление содержит все исправления и все исправления, входившие в состав предыдущих SQL Server 2008 Пакет обновления 3 выпуска исправлений. Рекомендуется, чтобы учесть применение последний выпуск исправления, содержащего это исправление. Для получения дополнительных сведений щелкните следующий номер статьи базы знаний Майкрософт:
2629969 SQL Server 2008 формирует, вышедшие после выпуска SQL Server 2008 Пакет обновления 3

5 Накопительное обновление для SQL Server 2008 R2 Пакет обновления 2 (SP2)

Исправление этой уязвимости первого выпуска накопительного обновления 5. Дополнительные сведения о том, как получить этот накопительный пакет обновления для SQL Server 2008 R2 S2008 R2 SP2 щелкните следующий номер статьи базы знаний Майкрософт:
2797460 Накопительный пакет обновления 5 для SQL Server 2008 R2 S2008 R2 SP2
Примечание Поскольку построения являются накопительными, каждый новый выпуск исправление содержит все исправления и все исправления, входившие в состав предыдущих SQL Server 2008 R2 S2008 R2 SP2 выпуска исправлений. Рекомендуется, чтобы учесть применение последний выпуск исправления, содержащего это исправление. Для получения дополнительных сведений щелкните следующий номер статьи базы знаний Майкрософт:
2730301 SQL Server 2008 R2 построений, которые были выпущены после был выпущен Пакет обновления 2 для SQL Server 2008 R2

Статус

Данное поведение является подтвержденной ошибкой продуктов Майкрософт, перечисленных в разделе «Информация в данной статье применима к:».


Свойства

Код статьи: 2803994 - Последний отзыв: 15 апреля 2013 г. - Revision: 3.0
Информация в данной статье относится к следующим продуктам.
  • Microsoft SQL Server 2008 R2 Service Pack 2
  • Microsoft SQL Server 2008 R2 Developer
  • Microsoft SQL Server 2008 R2 Enterprise
  • Microsoft SQL Server 2008 R2 Standard
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Express
  • Microsoft SQL Server 2008 Web
  • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2008 Workgroup
  • Microsoft SQL Server 2012 Developer
  • Microsoft SQL Server 2012 Enterprise
  • Microsoft SQL Server 2012 Express
  • Microsoft SQL Server 2012 Standard
  • Microsoft SQL Server 2012 Web
  • SQL Server 2012 Enterprise Core
Ключевые слова: 
kbqfe kbfix kbsurveynew kbexpertiseadvanced kbmt KB2803994 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.
Эта статья на английском языке: 2803994

Отправить отзыв

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com