В настоящее время вы работаете в автономном режиме; ожидается повторное подключение к Интернету

Диагностики SQL Server для выявления недокументированных проблем ввода-вывода из-за устаревшей операций чтения или записи потеряны

ВНИМАНИЕ! Данная статья переведена с использованием программного обеспечения Майкрософт для машинного перевода и, возможно, отредактирована посредством технологии Community Translation Framework (CTF). Корпорация Майкрософт предлагает вам статьи, обработанные средствами машинного перевода, отредактированные членами сообщества Майкрософт и переведенные профессиональными переводчиками, чтобы вы могли ознакомиться со всеми статьями нашей базы знаний на нескольких языках. Статьи, переведенные с использованием средств машинного перевода и отредактированные сообществом, могут содержать смысловое, синтаксические и (или) грамматические ошибки. Корпорация Майкрософт не несет ответственности за любые неточности, ошибки или ущерб, вызванные неправильным переводом контента или его использованием нашими клиентами. Подробнее об CTF можно узнать по адресу http://support.microsoft.com/gp/machine-translation-corrections/ru.

Эта статья на английском языке: 826433
Проблема
Если причиной проблемы операционной системы, драйвера или оборудования потери записи устаревших чтения условия или условий, может появиться сообщений об ошибке, относящиеся к целостности данных как 605 ошибками 823, 3448, 3456. Может появиться сообщения об ошибках, подобные следующим:

2003-07-24 16:43:04.57 spid63 Getpage: bstat = 0x9, sstat = 0x800 кэша
2003-07-24 16:43:04.57 spid63 номер страницы — и должно быть: objid является и должно быть:
2003-07-24 16:43:04.57 spid63 (1:7040966)/(1:7040966) 2093354622/2039782424
2003-07-24 16:43:04.57 spid63... IAM означает, что страницы выделяется для этого объекта

2003-07-24 16:52:37.67 spid63 ошибка: кодом 605, поступившие, уровень опасности: 21, состояние: 1
2003-07-24 16:52:37.67 spid63 попытка выборки логической страницы (1:7040966) в базе данных, к которым относится "pubs" объект "Авторы" не для объекта "заголовки".

2003-07-24 16:52:40.99 spid63 ошибка: 3448, уровень опасности: 21, состояние: 1
2003-07-24 16:52:40.99 spid63 не удается отменить запись журнала (63361:16876:181) для кода проводки (0:159696956) на странице (1:7040977), база данных "pubs (12 код в базе данных). Сведения о странице: номер LSN = (63192:958360:10), тип = 2. Записывает сведения в журнал: код операции = 2 контекста 1...

Ошибка spid66 14:31:35.92 2003-07-09: 823, уровень серьезности: 24, состояние: 2
2003-07-09 14:31:35.92 spid66 ввода/вывода (Неверный идентификатор страницы) обнаружена ошибка во время чтения по смещению 0x00000016774000 в файле "h:\sql\MSSQL\data\tempdb.mdf".

Ошибка spid17s 15:57:24.14 2010-02-06: 3456, уровень опасности: 21, состояние: 1.
2010-02-06 15:57:24.14 spid17s не может повторить запись журнала (58997:5252:28) для кода проводки (0:109000187) на странице (1:480946), базы данных 'MyDatabase (ID 17 в базе данных). Страницы: Номер LSN = (58997:5234:17), тип = 3. Журнал: Код операции = 2, 5, контекст PrevPageLSN: (58997:5243:17). Восстановление из резервной копии базы данных или восстановить базу данных.
Дополнительная информация
Корпорация Майкрософт представила возможности расширенного отслеживания, начиная с SQL Server 2000 Пакет обновления 4 и эти диагностики были частью продукта SQL Server 2005 и более поздних версий. Эти возможности предназначены для определения внешних проблем, связанных с ввода-вывода и сообщений об ошибках, описанных в разделе «Проблема»

Если вы получаете сообщения об ошибках, описанные в разделе «Проблема», и они не будут описаны события, например при сбое физического диска, просмотрите всех известных проблемах с SQL Server, ОС, драйверов и оборудования. Диагностика попробуйте информацию о двух следующих условий:
  • Потеряны записи: Успешного вызова WriteFile API, но операционная система, драйвера или cachingcontroller не очистить правильно данные к thoughSQL даже на физическом носителе сервера уведомляется о том, что запись выполнена успешно.
  • Устаревшие чтения: Успешного вызова ReadFile API, но операционная система, драйвера или cachingcontroller неправильно возвращает более старой версии данных.
Например Корпорация Майкрософт подтвердила сценарии WriteFile API возвращается как успешный, когда немедленных, успешное чтение из того же блока данных возвращает старые данные, включая данные, скорее всего хранятся в оборудовании, чтения кэша. В некоторых случаях эта проблема возникает из-за ошибки чтения кэша. В других случаях запись данных на физический диск записывается никогда не завершится.

Чтобы включить дополнительные средства диагностики для проблем такого рода, SQL Server добавил флаг трассировки 818. Можно задать как параметр при запуске, флаг трассировки 818-T818, для компьютера, на котором выполняется SQL Server, или можно выполнить следующую инструкцию:
DBCC TRACEON(818, -1)

Флаг трассировки 818 дает в памяти кольцевого буфера, который используется для отслеживания, последней успешной 2 048 записать операции, выполняемые на компьютере под управлением SQL Server, не включая от рабочего файла ввода-вывода и сортировки. При возникновении ошибки, например ошибка 605, 823 или 3448 входящего буфера журнала порядковый номер LSN значение сравнивается с последней записи списка. Если номер LSN, получаемых во время операции чтения старше указанного во время операции записи, новое сообщение об ошибке регистрируется в журнале ошибок SQL Server. Большинство операций записи SQL Server возникают как контрольные точки или отложенной записи. Отложенная запись является фоновой задачей, которая использует асинхронный ввод-вывод. Реализация кольцевого буфера очень прост, делая производительность влияет на систему незначительно.

Следующее сообщение указывает, что SQL Server не получил ошибку от вызова API WriteFile или ReadFile API вызова. Тем не менее после проверки номера LSN, это значение не было правильно:

SQL Server обнаружил недокументированных уровень операционной системы и оборудования, чтение или запись проблемы на странице базы данных 12 (1:75007)
Номер LSN возвратил (63361:16876:181), номер LSN ожидается (63361:16876:500)
Обратитесь к поставщику оборудования и рассмотреть возможность отключения кэширования для устранения проблемы

Начиная с SQL Server 2005, сообщение об ошибке будет выступать в качестве:

SQL Server обнаружил логическую ошибку ввода-вывода на основе соответствия: устаревшие чтения. Она произошла во время <Read rite="">настроек страницы <PAGEID>настроек в базе данных с Идентификатором <DBID>настроек по смещению <PHYSICAL offset="">настроек в файле <FILE name="">настроек. Дополнительные сообщения в журнале событий системы или журнал ошибок SQL Server может предоставить более подробные сведения. Это серьезная ошибка, которую может нарушить целостность базы данных и должны быть исправлены немедленно. Выполните проверку согласованности базы данных (DBCC CHECKDB). Эта ошибка может быть вызвана многими причинами. Дополнительные сведения содержатся в электронной документации по SQL Server.</FILE> </PHYSICAL> </DBID> </PAGEID> </Read>

На этом этапе чтения кэш содержит более раннюю версию страницы, либо данные неправильно записанная на физический диск. В любом случае (потерянные записи или устаревшие чтения) SQL Server о внешних неполадках операционной системы, драйвера или оборудования слои.

Если 3448 ошибка возникает при попытке отката транзакции с 605 ошибка или ошибка 823, компьютер под управлением SQL Server автоматически закрывает базу данных и пытается открыть и восстановить базу данных. Первая страница, обнаруживает 605 ошибка или ошибка 823 считается поврежденную страницу, и идентификатор страницы хранятся на компьютере под управлением SQL Server. Во время восстановления (до стадии повтора) при чтении неверный идентификатор страницы в журнале ошибок SQL Server регистрируются основные сведения о заголовок страницы. Это действие имеет большое значение, поскольку она помогает различать потери записи и чтения устаревшие сценарии.

Можно увидеть следующие два общих поведений в сценариях устаревшие чтения:
  • Если файлы базы данных закрывается и открывается thecorrect и недавно записанных данных возвращается во время восстановления.
  • После выдачи контрольной точки и запустите инструкцию DBCC DROPCLEANBUFFERS (для удаления всех страниц базы данных из памяти), andthen запуска Инструкции DBCC CHECKDB в базе данных, последние записанные данные isreturned.
Варианты поведения, упомянутых в предыдущем абзаце означать ошибку чтения кэширования и часто разрешаются путем отключения кэша чтения. Действия, описанные в предыдущем параграфе, обычно принудительно недействительности данных в кэше и успешных операций чтения, возникающие Показать физический носитель правильно обновляется. Потерянные записи возникает, когда страницу, которая считывается обратно по-прежнему старой версии данных, даже после принудительного удаления механизмов кэширования.

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

Microsoft также указаны условия, которые не соответствуют условиям для 605 ошибка или ошибка 823, но вызываются устаревших чтение или потерянные записи того же действия. В некоторых случаях чтобы обновить два раза, но с тот же номер LSN значение появится страница. Это может происходить, если Идентификатор объекта и Идентификатор страницы правильно (страница уже выделенные для объекта) и изменения внесенные в страницу и сброшены на диск. Получения следующей страницы возвращает старые изображения, а затем второе изменение вносится. Журнал транзакций SQL Server показывает, что страница была обновлена два раза с тем же значением номера LSN. Это действие становится проблемой при попытке восстановления последовательность журналов транзакций или проблемы целостности данных, например внешнего ключа сбоев или отсутствующие записи данных. Сообщение об ошибке иллюстрирует один из примеров этого условия:

Ошибка: 3456, уровень опасности: 21, состояние: 1 не удалось повторить запись журнала (276666:1664:19) для идентификатора транзакции (0:825853240) на странице (1:1787100), база данных "Авторы" (7). Страницы: Номер LSN = (276658:4501:9), тип = 1. Журнал: Код операции = 4, контекст 2, PrevPageLSN: (275565:3959:31).

В некоторых сценариях описаны более подробно в следующих списках:
  • LSN Sequence		Action1			Checkpoint2			Begin Transaction3			Table created or truncated4			Inserts (Pages allocated)5			Newly allocated page written to disk by Lazy Writer6			Select from table – Scans IAM chain, newly allocated page read back from disk (LRU | HASHED = 0x9 in getpage message), encounters Error 605 - Invalid Object ID7			Rollback of transaction initiated
  • LSN Sequence		Action1			Checkpoint2			Begin Transaction3			Page Modification4			Page written to disk by Lazy Writer5			Page read in for another modification (stale image returned)6			Page Modified for a second time but because of stale image does not see first modification 7			Rollback – Fails – Transaction Log shows two different log records with the same PREV LSN for the page
SQL Server «сортировка» операторы выполняют операции ввода-вывода, главным образом в и из базы данных tempdb . Эти операции ввода-вывода похожи на операции ввода-вывода буфера; Тем не менее они уже созданы для использования логику повторных попыток считывания для решения аналогичных проблем. Новые средства диагностики, описанных в данной статье неприменимы для этих операций ввода-вывода.

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

2003-04-01 20:13:31.38 spid122 SQL Server утверждение: файл: <p:\sql\ntdbms\storeng\drs\include\record.inl>, строки = Сбой утверждения 1447 = "m_SizeRec настроек 0 && m_SizeRec<= maxdatarow'.=""></=>

2003-03-29 09:51:41.12 spid57 сортировки чтения сбой (Неверный идентификатор страницы). PageID = (0x1:0x13e9), dbid = 2, файл = создаваемую e:\program SQL Server\mssql\data\tempdb.mdf. Повторная попытка.

Ошибка spid57 09:51:41.13 2003-03-29: 823, уровень серьезности: 24, состояние: 7
2003-03-29 09:51:41.13 spid57 ошибка ввода-вывода (Неверный идентификатор страницы) во время чтения по смещению 0x000000027d2000 в файле "e:\program создаваемую SQL Server\mssql\data\tempdb.mdf"...

* 00931097 Module(sqlservr+00531097) (utassert_fail + 000002E3)
* 005B1DA8 Module(sqlservr+001B1DA8) (RecBase::Resize + 00000091)
* 00407EE7 Module(sqlservr+00007EE7) (RecBase::LocateColumn + 00000012)
* 00852520 Module(sqlservr+00452520) (mergerow + 000000A4)
* 008522B3 Module(sqlservr+004522B3) (merge_getnext + 00000285)
* 0085207D Module(sqlservr+0045207D) (mergenext + 0000000D)
* 004FC5FB Module(sqlservr+000FC5FB) (getsorted + 00000021)

</p:\sql\ntdbms\storeng\drs\include\record.inl>
Перемещение базы данных tempdb на локальный диск без кэширования или отключение чтения кэширования клиентов, которые уже испытали эти ошибки сортировки часто разрешения проблем.

Так как устаревшие чтения или записи потеряны результаты в хранилище данных, не ожидается, может возникать разнообразные варианты поведения. Он может отображаться как отсутствующие данные, но некоторые из наиболее распространенными последствиями отсутствующие данные отображаются в виде повреждения индекса, возникает ошибка 644 или об ошибке 625:

Ошибка 644 21 сообщение серьезность уровня текста может не найти записи индекса для RID "%. * hs в индекс страницы % S_PGID, индекса с Идентификатором %d, базы данных" %. * ls.
Текст сообщения об ошибке 625 серьезности 21 уровень не удалось получить строку на странице % S_PGID, RID из-за slotid (%d) не является допустимым.

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

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

Примечание Корпорация Майкрософт подтвердила в редких и высокой интенсивностью некоторых аппаратных платформ могут возвращать устаревшие чтения. Если расширенные диагностики показывают возможные устаревшие потери чтения/записи условия, обратитесь к поставщику оборудования для проверки выполните копирование и тестирование с SQLIOSim Служебная программа.

SQL Server требует систем для поддержки стабильной носитель гарантированную доставку, как описано в разделеТребования к надежности программы SQL Server ввода/вывода. Дополнительные сведения о требованиях к входным и выходным ядра базы данных SQL Server см. Требования к ввода вывода ядра базы данных Microsoft SQL Server..

Внимание! Эта статья переведена автоматически

Свойства

Номер статьи: 826433 — последний просмотр: 06/04/2015 11:36:00 — редакция: 6.0

Microsoft SQL Server 2000 Developer Edition, Microsoft SQL Server 2000 Enterprise Edition, Microsoft SQL Server 2000 Personal Edition, Microsoft SQL Server 2000 Standard Edition, Microsoft SQL Server 2000 Workgroup Edition, Microsoft SQL Server 2005 Compact Edition, Microsoft SQL Server 2005 Developer Edition, Microsoft SQL Server 2005 Enterprise Edition, Microsoft SQL Server 2005 Enterprise Edition for Itanium Based Systems, Microsoft SQL Server 2005 Enterprise X64 Edition, Microsoft SQL Server 2005 Express Edition, Microsoft SQL Server 2005 Standard Edition, Microsoft SQL Server 2005 Standard Edition for Itanium Based Systems, Microsoft SQL Server 2005 Workgroup Edition, Microsoft SQL Server 2005 Standard X64 Edition, Microsoft SQL Server 2008 Developer, Microsoft SQL Server 2008 Enterprise, Microsoft SQL Server 2008 Express, Microsoft SQL Server 2008 Standard, Microsoft SQL Server 2008 R2 Analysis Services, Microsoft SQL Server 2008 R2 Datacenter, Microsoft SQL Server 2008 R2 Developer, Microsoft SQL Server 2008 R2 Enterprise, Microsoft SQL Server 2008 R2 Express, Microsoft SQL Server 2008 R2 Express with Advanced Services, Microsoft SQL Server 2008 R2 Standard, Microsoft SQL Server 2008 R2 Standard Edition for Small Business, Microsoft SQL Server 2008 R2 Web, Microsoft SQL Server 2008 R2 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, Microsoft SQL Server 2014 Business Intelligence, Microsoft SQL Server 2014 Developer, Microsoft SQL Server 2014 Enterprise, Microsoft SQL Server 2014 Enterprise Core, Microsoft SQL Server 2014 Express, Microsoft SQL Server 2014 Standard, Microsoft SQL Server 2014 Web, SQL Server 2014 Reporting Services

  • kbhotfixserver kbqfe kbbug kbhardware kbfilter kbdriver kbdatabase kbsysadmin kbinfo kbmt KB826433 KbMtru
Отзывы и предложения