Перейти к основному контенту
Поддержка
Войдите с помощью учетной записи Майкрософт
Войдите или создайте учетную запись.
Здравствуйте,
Выберите другую учетную запись.
У вас несколько учетных записей
Выберите учетную запись, с помощью которой нужно войти.

Ошибка: #50003826 (исправление SQL)

Корпорация Майкрософт распространяет исправления Microsoft SQL Server 2008 как один загружаемый файл. Так как исправления являются накопительными, каждый выпуск содержит все исправления и все исправления безопасности, которые были включены в предыдущие 2008 SQL Server исправления выпуска.

Проблемы

В SQL Server 2008 выполнение запроса, который вставляет данные во временную таблицу. Инструкция insert содержит вложенный запрос, который ссылается на одну и ту же временную таблицу. При выполнении запроса появляется сообщение об ошибке, подобное приведенному ниже:

Ошибка msg 605, 21 уровень состояние 3, строка 1Attempt для выборки логической страницы (1:225) в базе данных 2. Он принадлежит к 281474980315136 единицы размещения не для 504403158513025024.

При выполнении запроса, появляется сообщение об ошибке, подобное приведенному ниже:

Сообщение 824, уровень 24, состояние 2, строка 1

SQL Server обнаружил логическую ошибку ввода-вывода на основе соответствия: Неверная контрольная сумма (ожидается: 0x50758180; фактическая: 0x15658bfc). Она произошла во время чтения страницы (1:336) в базе данных ID 2 по смещению 0x000000002a0000 в файле "C:\Program создаваемую SQL Server\MSSQL10. SQL2008\MSSQL\DATA\tempdb.mdf ". Дополнительные сообщения в журнале событий системы или журнал ошибок SQL Server может предоставить более подробные сведения. Это серьезная ошибка, которую может нарушить целостность базы данных и должны быть исправлены немедленно. Выполните проверку согласованности базы данных (DBCC CHECKDB). Эта ошибка может быть вызвана многими причинами. Дополнительные сведения содержатся в разделе электронной документации по SQL Server.

В некоторых случаях может также появиться сообщение об ошибке, подобное приведенному ниже:

Msg 601, уровень 12, состояние 3, процедура procedure имя, номер строкине удалось продолжить просмотр с NOLOCK вследствие перемещения данных.

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

insert #table1select s.col1, s.col2from #table2 s inner loop join #table1 t on s.col3 = t.col3 

Решение

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

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

956909 SQL Server 2008 выполняет построение, выпущенных после выпуска SQL Server 2008После установки этот накопительный пакет обновления, необходимо включить флаг трассировки 4135. Чтобы сделать это, можно добавить -T4135 параметра запуска. Или можно использовать инструкцию dbcc traceon(4135) для конкретного сеанса.

Обходное решение

Чтобы обойти эту проблему, добавьте столбец с кластеризованного первичного ключа и свойство identity во временной таблице. Например выполните следующую инструкцию, чтобы изменить временной таблицы:

ALTER TABLE #TempTableADD id integer IDENTITY(1,1) CONSTRAINT id PRIMARY KEY CLUSTERED

Статус

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

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

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

960484 Накопительный пакет обновления 3 для SQL Server 2008

Сведения о SQL Server 2008 R2 анализатора соответствия Рекомендациям

SQL Server 2008 R2 анализатор соответствия рекомендациям (SQL Server 2008 R2 BPA) предоставляет правила для определения ситуаций, в которых нет накопительного обновления или флаг трассировки включен для решения этой проблемы. SQL Server 2008 R2 BPA поддерживает SQL Server 2008 и SQL Server 2008 R2. Если запустить средство анализатора соответствия Рекомендациям и встретиться «СУБД - tempdb исправить ошибки или отсутствует флаг трассировки» предупреждение, необходимо проверить версию SQL Server и флаги трассировки, которые настроены для активации этого исправления.

Ссылки

Правила программы

Название правила

Идентификатор правила

Правило SQL Server 2008 R2 анализатора соответствия Рекомендациям

исправить ошибки базы данных tempdb или отсутствует флаг трассировки

RID3808

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

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

957826 Где найти сведения о последней версии SQL Server формирует

Ссылки

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

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

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

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

824684 Стандартные термины, используемые при описании обновлений программных продуктов Майкрософт

Нужна дополнительная помощь?

Нужны дополнительные параметры?

Изучите преимущества подписки, просмотрите учебные курсы, узнайте, как защитить свое устройство и т. д.

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

Были ли сведения полезными?

Насколько вы удовлетворены качеством перевода?
Что повлияло на вашу оценку?
После нажатия кнопки "Отправить" ваш отзыв будет использован для улучшения продуктов и служб Майкрософт. Эти данные будут доступны для сбора ИТ-администратору. Заявление о конфиденциальности.

Спасибо за ваш отзыв!

×