Исправление: При получении 605 и ошибку 824, при выполнении запроса, вставляет данные во временную таблицу в SQL Server

Переводы статьи Переводы статьи
Код статьи: 960770 - Vizualiza?i produsele pentru care se aplic? acest articol.
Ошибка: # 50003826 (исправление SQL)
Корпорация Майкрософт распространяет исправления Microsoft SQL Server 2008 файл с исправлениями. Так как исправления являются накопительными, каждый новый выпуск содержит все исправления, и все исправления, входившие в состав предыдущих SQL Server 2008 исправление выпуска.
Развернуть все | Свернуть все

В этой статье

Проблема

В Microsoft SQL Server 2008 выполняется запрос, который вставляет данные во временную таблицу. Оператор вставки содержит вложенный запрос, ссылающийся на одной временной таблицы. При выполнении запроса появляется сообщение об ошибке следующего вида:
Сообщение 605, уровень 21, состояние 3, строка 1
При попытке выборки логической страницы (1:225) в базе данных 2 не удалось. Это относится к 281474980315136 единицы размещения от 504403158513025024.

Если снова выполнить запрос, появляется другое сообщение об ошибке следующего вида:

Сообщение 824, уровень 24, состояние 2, строка 1
SQL Server обнаружил логическая ошибка ввода-вывода на основе соответствия: Неверная контрольная сумма (ожидается: 0x50758180; фактический: 0x15658bfc). Она произошла во время чтения страницы (1:336) в базе данных ID 2 по смещению 0x000000002a0000 в файле "C:\Program Files\Microsoft SQL Server\MSSQL10.SQL2008\MSSQL\DATA\tempdb.mdf". Дополнительные сообщения в журнал событий системы или журнал ошибок SQL Server может предоставить более подробные сведения. Это состояние серьезная ошибка, которая угрожает целостности базы данных и должны быть исправлены немедленно. Завершена проверка целостности базы данных (DBCC CHECKDB). Эта ошибка может возникать множество факторов, для получения дополнительных сведений, содержатся в документации по SQL Server.
В некоторых случаях может появиться сообщение об ошибке следующего вида:
Msg 601 уровня 12, состояние 3, процедура pИмя rocedureOsborne/McGraw-HillНомер строки:
Не удалось продолжить просмотр с NOLOCK вследствие перемещения данных.

Ниже приведен пример запроса конструкции, может привести к этим ошибкам:
insert #table1
select s.col1, s.col2
from #table2 s inner loop join #table1 t
on s.col3 = t.col3

Решение

Исправление этой уязвимости первого выпуска накопительного обновления 3. Для получения дополнительных сведений о том, как получить этот накопительный пакет обновления для SQL Server 2008 щелкните следующий номер статьи базы знаний Майкрософт:
960484Накопительный пакет обновления 3 для SQL Server 2008
Примечание.Поскольку сборки являются накопительными, каждый новый выпуск исправление содержит все исправления, и все исправления, входившие в состав предыдущих SQL Server 2008 исправление выпуска. Рекомендуется, чтобы учесть применение последний выпуск исправления, содержащего это исправление. Для получения дополнительных сведений обратитесь к следующей статье Базы Знаний Майкрософт::
956909SQL Server 2008 построений, которые были выпущены после выхода SQL Server 2008
После установки этот накопительный пакет обновления, необходимо включить флаг трассировки 4135. Чтобы сделать это, можно добавить-T4135можно использовать параметр запуска, а такжеDBCC traceon(4135)Инструкция для отдельного сеанса.

Временное решение

Чтобы обойти эту проблему, добавьте столбец, имеющей кластеризованного первичного ключа и свойство идентификатора для временной таблицы. Например выполните следующую инструкцию, чтобы изменить временную таблицу:
ALTER TABLE #TempTable
ADD id integer IDENTITY(1,1) CONSTRAINT id PRIMARY KEY CLUSTERED

Статус

Корпорация Майкрософт подтверждает, что это проблема в продуктах Майкрософт, перечисленных в разделе «Применяется к»..

Дополнительная информация

Несмотря на то, что возникает сообщение об ошибке 824 или 605, база данных не поврежден. Кроме того эти сообщения об ошибках будет ссылаться на страниц из базы данных tempdb.

Для получения дополнительных сведений об изменении файлов, а также сведения о требованиях для применения накопительного обновления для пакета, который содержит данное исправление, описанное в данной статье базы знаний Майкрософт щелкните следующий номер статьи базы знаний Майкрософт:
960484Накопительный пакет обновления 3 для SQL Server 2008

Сведения о SQL Server 2008 R2 BPA

SQL Server 2008 R2 наиболее Practice Analyzer (SQL Server 2008 R2 BPA) предоставляет правила для определения ситуаций, в котором у вас нет накопительного обновления или флаг трассировки для решения этой проблемы. BPA R2 для SQL Server 2008 поддерживает SQL Server 2008 и SQL Server 2008 R2.

Если вы запустите средство BPA, а "ядра базы данных - база данных tempdb, устранить ошибки, или отсутствует флаг трассировки" предупреждение, необходимо проверить версию SQL Server и флаги трассировки, которые настроены для активации исправления.

Ссылки

Свернуть эту таблицуРазвернуть эту таблицу
Правила программНазвание правилаИдентификатор правила
SQL Server 2008 R2 BPA правилаисправить ошибки в базе данных tempdb, или отсутствует флаг трассировкиRID3808

Примечание.Чтобы включить флаг трассировки 4135 или флаг трассировки 4199 для активизации этого исправления. Флаг трассировки 4135 была введена в накопительное обновление для пакета 3 для SQL Server 2008. Флаг трассировки 4135 доступен также в SQL Server 2008 с пакетом обновления 1 (SP1), пакетом обновления 2 (SP2) для SQL Server 2008 и SQL Server 2008 R2. Флаг трассировки 4199 была введена в пакете накопительного обновления 7 для SQL Server 2008, пакет накопительного обновления 7 для SQL Server 2008 с пакетом обновления 1 (SP1) и пакет накопительное обновление 1 для SQL Server 2008 R2. Для получения дополнительных сведений о флага трассировки 4199 щелкните следующий номер статьи базы знаний Майкрософт:

974006Для управления несколько изменений оптимизатор запроса, ранее внесенные в несколько флагов трассировки добавляется флаг трассировки 4199

Так как исправление, устраняющее эту проблему включает исправления построения и флага трассировки для активации исправления, мы включая следующие таблицы для отображения различных сценариев и рекомендуемые действия необходимо выполнить для каждого сценария.

Свернуть эту таблицуРазвернуть эту таблицу
Текущий диапазон построения SQLЯвляется ли флаг трассировки 4135 на?Является ли флаг трассировки 4199 на?Это SQL создания необходимых обновлений?Рекомендуется использовать сборкиОбновление флаг трассировки требуется?Флаг трассировки рекомендуется использоватьДополнительные примечания
10.00.1600.22<= build=""></=><>

Построение 10.00.1600.22 = SQL Server 2008
Построение 10.00.1787.00 = накопительного обновления 3 для SQL Server 2008
Нет,Нет,ДА.10.0.1787.00ДА.4135
Нет,ДА.ДА.10.0.1818.00Нет,
ДА.Нет,ДА.10.0.1787.00Нет,
ДА.ДА.ДА.10.0.1787.00Нет,
10.00.1787.00<= build=""></=><>

Построение 10.00.1787.00 = накопительного обновления 3 для SQL Server 2008
Построение 10.00.1818.00 = накопительного обновления 7 для SQL Server 2008
Нет,Нет,Нет,ДА.4135
Нет,ДА.ДА.10.0.1818.00ДА.4135Достаточно обновления для любой (один)
ДА.Нет,Нет,Нет,
ДА.ДА.Нет,Нет,
10.00.1818.00<= build=""></=><>

Построение 10.00.1818.00 = накопительного обновления 7 для SQL Server 2008
Построение 10.00.2531.00 = SQL Server 2008 с пакетом обновления 1
Нет,Нет,Нет,ДА.4199
Нет,ДА.Нет,Нет,
ДА.Нет,Нет,Нет,
ДА.ДА.Нет,Нет,
10.00.2531.00<= build=""></=><>

Построение 10.00.2531.00 = SQL Server 2008 с пакетом обновления 1
Построение 10.00.2766.00 = накопительного обновления 7 для SQL Server 2008 с пакетом обновления 1 (SP1)
Нет,Нет,Нет,ДА.4135
Нет,ДА.ДА.10.0.2766.00ДА.4135Достаточно обновления для любой (один)
ДА.Нет,Нет,Нет,
ДА.ДА.Нет,Нет,
10.00.2766.00<= build=""></=>< latest="" sql="" 2008="">

Построение 10.00.2766.00 = накопительного обновления 7 для SQL Server 2008 с пакетом обновления 1 (SP1)
Нет,Нет,Нет,ДА.4199
Нет,ДА.Нет,Нет,
ДА.Нет,Нет,Нет,
ДА.ДА.Нет,Нет,
10.50.1600.01<= build=""></=><>

10.50.1600.01 = SQL Server 2008 R2
10.50.1702.00 = Пакет накопительное обновление 1 для SQL Server 2008 R2
Нет,Нет,Нет,ДА.4135
Нет,ДА.ДА.10.50.1702.00ДА.4135Достаточно обновления для любой (один)
ДА.Нет,Нет,Нет,
ДА.ДА.Нет,Нет,
10.50.1702.00<= build=""></=>< latest="" sql="" 2008="" r2="">

10.50.1702.00 = Пакет накопительное обновление 1 для SQL Server 2008 R2
Нет,Нет,Нет,ДА.4199
Нет,ДА.Нет,Нет,
ДА.Нет,Нет,Нет, 
ДА.ДА.Нет,Нет, 



Ссылки

Для получения дополнительных сведений о списке сборок, доступных после выпуска SQL Server 2008 щелкните следующий номер статьи базы знаний Майкрософт:
956909SQL Server 2008 построений, которые были выпущены после выхода SQL Server 2008
Для получения дополнительных сведений о последовательный модели обслуживания для SQL Server щелкните следующий номер статьи базы знаний Майкрософт:
935897Последовательный модели обслуживания доступна группа разработчиков SQL Server для предоставления исправления для устранения неполадок
Для получения дополнительных сведений о схеме именования для обновления SQL Server щелкните следующий номер статьи базы знаний Майкрософт:
822499Новая схема присвоения имен пакетам обновлений программного обеспечения Microsoft SQL Server
Дополнительные сведения о терминах, используемых при описании обновлений программного обеспечения, см. в следующей статье базы знаний Майкрософт::
824684Стандартные термины, используемые при описании обновлений программных продуктов Майкрософт

Свойства

Код статьи: 960770 - Последний отзыв: 29 ноября 2010 г. - Revision: 2.0
Информация в данной статье относится к следующим продуктам.
  • Microsoft SQL Server 2008 R2 Developer
  • Microsoft SQL Server 2008 R2 Enterprise
  • Microsoft SQL Server 2008 R2 Workgroup
  • Microsoft SQL Server 2008 R2 Standard
  • Microsoft SQL Server 2008 R2 Web
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Workgroup
  • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2008 Web
Ключевые слова: 
kbexpertiseadvanced kbfix kbsurveynew kbqfe kbmt KB960770 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.
Эта статья на английском языке:960770

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

 

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