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

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

В этой статье

Проблема

Если операционной системы, драйверов или проблем с оборудованием приводит к потере запись условий или устаревших чтения условия, относящиеся к целостности данных может появиться сообщения об ошибке, ошибок 605, 823, 3448. Появляется сообщение об ошибке которые в следующих примерах:
2003-07-24 16:43:04.57 spid63 Getpage: bstat = 0x9, sstat = 0x800, кэш-памяти
2003-07-24 / 16:43:04.57 spid63 pageno/должно быть: / 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» принадлежит объекту "authors" не для объекта «заголовки»...
2003-07-24 16:52:40.99 spid63 ошибка: 3448, Уровень опасности: 21, состояние: 1
2003-07-24 16:52:40.99 spid63 не удается отменить журнала запись для Идентификатора транзакции (0:159696956) (63361:16876:181), на странице (1:7040977), база данных 'pubs "(базы данных идентификатор 12). Сведения о странице: номер LSN = (63192:958360:10) тип = 2. Журнал информации: код операции = 2, контекст 1...
2003-07-09 14:31:35.92 spid66 ошибка: 823, Уровень опасности: 24, состояние: 2
Ошибка ввода-вывода (страница «плохой» для 2003-07-09 14:31:35.92 spid66 Во время чтения по смещению 0x00000016774000 в файле обнаружен идентификатор) «h:\sql\MSSQL\data\tempdb.mdf»...

Решение

Сведения о пакете обновления

Чтобы устранить эту проблему, получите последний пакет обновления для Microsoft SQL Server 2000. Для получения дополнительных сведений щелкните следующий номер статьи базы знаний Майкрософт:
290211 Как получить последний пакет обновления для SQL Server 2000

Сведения о построении

Корпорация Майкрософт выпустила построения SQL Server, который представляет расширенные возможности отслеживания. Эти возможности предназначены для вас Разрешение вопросов: сообщения об ошибках, описанных в разделе «Проблема». Если вы не подозреваете, что операционная система или проблемы с releated оборудованием, не может иметь для применения данного построения.

Английская версия этого построения содержит атрибуты файла (или более поздней версии), приведенные в следующей таблице. Даты и время для файлов указаны в формате общего скоординированного времени (UTC). Когда Просмотр сведений о файлах, преобразуются в местное время. Чтобы найти Разница между временем UTC и местным временем, использование Часовой пояс Вкладка «Дата и время» на панели управления.
   Date         Time   Version         Size             File name
   -------------------------------------------------------------------------
   31-May-2003  18:45  2000.80.818.0      78,400 bytes  Console.exe      
   25-Jun-2003  01:01  2000.80.818.0      33,340 bytes  Dbmslpcn.dll     
   25-Apr-2003  02:12                    786,432 bytes  Distmdl.ldf
   25-Apr-2003  02:12                  2,359,296 bytes  Distmdl.mdf
   30-Jan-2003  01:55                        180 bytes  Drop_repl_hotfix.sql
   23-Jun-2003  22:40  2000.80.837.0   1,557,052 bytes  Dtsui.dll        
   23-Jun-2003  22:40  2000.80.837.0     639,552 bytes  Dtswiz.dll       
   24-Apr-2003  02:51                    747,927 bytes  Instdist.sql
   03-May-2003  01:56                      1,581 bytes  Inst_repl_hotfix.sql
   08-Feb-2003  06:40  2000.80.765.0      90,692 bytes  Msgprox.dll      
   01-Apr-2003  02:07                      1,873 bytes  Odsole.sql
   05-Apr-2003  01:46  2000.80.800.0      62,024 bytes  Odsole70.dll     
   07-May-2003  20:41  2000.80.819.0      25,144 bytes  Opends60.dll     
   02-Apr-2003  21:48  2000.80.796.0      57,904 bytes  Osql.exe         
   02-Apr-2003  23:15  2000.80.797.0     279,104 bytes  Pfutil80.dll     
   22-May-2003  22:57                     19,195 bytes  Qfe469571.sql
   11-Jul-2003  17:04                  1,084,147 bytes  Replmerg.sql
   04-Apr-2003  21:53  2000.80.798.0     221,768 bytes  Replprov.dll     
   08-Feb-2003  06:40  2000.80.765.0     307,784 bytes  Replrec.dll      
   11-Jul-2003  16:56                  1,085,925 bytes  Replsys.sql
   01-Jun-2003  01:01  2000.80.818.0     492,096 bytes  Semobj.dll       
   31-May-2003  18:27  2000.80.818.0     172,032 bytes  Semobj.rll
   29-May-2003  00:29                    115,944 bytes  Sp3_serv_uni.sql
   01-Jun-2003  01:01  2000.80.818.0   4,215,360 bytes  Sqldmo.dll       
   07-Apr-2003  17:44                     25,172 bytes  Sqldumper.exe    
   19-Mar-2003  18:20  2000.80.789.0      28,672 bytes  Sqlevn70.rll
   02-Jul-2003  00:18  2000.80.834.0     180,736 bytes  Sqlmap70.dll     
   08-Feb-2003  06:40  2000.80.765.0      57,920 bytes  Sqlrepss.dll     
   01-Aug-2003  00:50  2000.80.847.0   7,594,065 bytes  Sqlservr.exe     
   25-Jul-2003  21:44  2000.80.845.0     590,396 bytes  Sqlsort.dll      
   08-Feb-2003  06:40  2000.80.765.0      45,644 bytes  Sqlvdi.dll       
   25-Jun-2003  01:01  2000.80.818.0      33,340 bytes  Ssmslpcn.dll     
   01-Jun-2003  01:01  2000.80.818.0      82,492 bytes  Ssnetlib.dll     
   01-Jun-2003  01:01  2000.80.818.0      25,148 bytes  Ssnmpn70.dll     
   01-Jun-2003  01:01  2000.80.818.0     158,240 bytes  Svrnetcn.dll     
   31-May-2003  18:59  2000.80.818.0      76,416 bytes  Svrnetcn.exe     
   30-Apr-2003  23:52  2000.80.816.0      45,132 bytes  Ums.dll          
   02-Jul-2003  00:19  2000.80.834.0      98,816 bytes  Xpweb70.dll
Примечание Из-за зависимостей между файлами, последнего исправления или функция содержащий эти файлы могут содержать дополнительные файлы.

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

Статус

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

Сначала исправление этой проблемы появилось в пакете обновления 4 (Sp4) для SQL Server 2000.

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

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

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

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

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

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

Можно увидеть две общие поведения в сценариях устаревших чтения:
  • Если закрывается и затем открыть файлы базы данных правильные и последние записанные данные возвращаются во время восстановления.
  • Когда выдавать контрольной точки и запустить ИНСТРУКЦИЯ DBCC DROPCLEANBUFFERS оператор (для удаления всех страниц базы данных из памяти) и затем запустите ИНСТРУКЦИЯ DBCC CHECKDB Инструкция на базе самых последних записанных данных возвращается.
Указывает поведение, упомянутых в предыдущем абзаце чтение проблемы кэширования и они часто решить, отключив чтения кэш-памяти. Действия, описанные в предыдущем параграфе обычно принудительно Недостоверность кэша и успешных операций чтения, возникающие показывают, что физический носитель правильно обновлены. Потерянные записи происходит, когда страница, доступен для чтения на задней панели является по-прежнему старой версии данных, даже после принудительного сброса механизмы кэширования.

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

Корпорация Майкрософт также указаны условия, которые не отвечают критериям для 605 ошибка или ошибка 823 Однако причиной же действие устаревших чтения или записи потеряны. В некоторых экземпляры, откроется страница обновляться два раза, но с один и тот же номер LSN значение. Это может происходить, если Идентификатор объекта и Идентификатор страницы являются правильным (страница уже выделенные для объекта) и изменение внесенные в страницу и записаны на диск. Возвращает получения следующей страницы старые изображения и второе изменение производится. Журнал транзакций SQL Server Показывает, что страница была обновлена два раза с тем же значением номера LSN. Это действие становится проблемой при попытке восстановления последовательность журналов транзакций или с проблемы согласованности данных, такие как сбои внешнего ключа или отсутствующие данные операции. Следующее сообщение об ошибке показывает один пример условие:
Ошибка: 3456, уровень серьезности: 21, состояние: 1 не удалось повторить запись журнала (276666:1664:19) для Идентификатора транзакции (0:825853240), на странице (1:1787100), база данных "authors" (7). Страницы: Номер LSN = (276658:4501:9), тип = 1. Журнала: Код операции = 4, 2, контекст PrevPageLSN: (275565:3959:31)...

Некоторые сценарии описаны более подробно в следующих списках:
  • LSN Sequence		Action
    1			Checkpoint
    2			Begin Transaction
    3			Table created or truncated
    4			Inserts (Pages allocated)
    5			Newly allocated page written to disk by Lazy Writer
    6			Select from table – Scans IAM chain, newly allocated page read back from disk (LRU | HASHED = 0x9 in getpage message), encounters Error 605 - Invalid Object ID
    7			Rollback of transaction initiated
    
  • LSN Sequence		Action
    1			Checkpoint
    2			Begin Transaction
    3			Page Modification
    4			Page written to disk by Lazy Writer
    5			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 База данных. Эти операции ввода-вывода аналогичны буфера ввода/вывода операции; Тем не менее они уже были разработаны использовать логику повторных попыток чтения Попробуйте для устранения подобных проблем. Это подробно дополнительные средства диагностики в статье не применяются для этих операций ввода-вывода.

Отмеченный корпорации Майкрософт обычно является устаревшей, основная причина для следующих сортировки читать сбоев Чтение или потерянные записи:
2003-04-01 20:13:31.38 spid122 SQL Утверждение сервера: Файл: <p:\sql\ntdbms\storeng\drs\include\record.inl>, Строка = Сбой утверждения 1447 = "m_SizeRec > 0 && m_SizeRec <=><b00></b00></=></p:\sql\ntdbms\storeng\drs\include\record.inl>

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

2003-03-29 09:51:41.13 Ошибка spid57: 823, уровень серьезности: 24, состояние: 7
2003-03-29 09:51:41.13 spid57 Ошибка ввода-вывода (неверный идентификатор страницы), обнаруженных во время чтения по смещению 0x000000027d2000 в файле «e:\program files\Microsoft 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)

Клиенты, имеет опыт часто эти ошибки сортировки решена проблемы по Перемещение База данных tempdb локальный диск, без кэширования или отключив кэширование чтения механизмы.

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

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

Для получения дополнительных сведений щелкните следующий номер статьи базы знаний Майкрософт:
231619КАК Кому: Использование программы SQLIOStress для моделирования работы дисковой подсистемы, такие как SQL Server
SQL Server требует систем для поддержки «гарантированная доставка стабильной носитель», как описано в рамках программы Microsoft SQL Server Always-On хранения решений рецензирования. FOДля получения дополнительных сведений о требованиях к входной и выходной ядро СУБД SQL Server щелкните следующий номер статьи базы знаний Майкрософт:
967576Требования К модуль ввода/вывода серверной базы данных Microsoft SQL

Свойства

Код статьи: 826433 - Последний отзыв: 15 июня 2011 г. - Revision: 4.0
Информация в данной статье относится к следующим продуктам.
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Express
  • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Express Edition
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2000 Service Pack 3
Ключевые слова: 
kbhotfixserver kbqfe kbbug kbhardware kbfilter kbdriver kbdatabase kbsysadmin kbinfo kbmt KB826433 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.
Эта статья на английском языке:826433

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

 

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