Средство проверки целостности банка сообщений (Isinteg.exe) обнаруживает и устраняет ошибки в общих папках и базах данных почтовых ящиков на уровне приложений. Эти ошибки могут помешать банку данных начать работу, а пользователям — входить в систему, получать, открывать и удалять почту. Программа Isinteg не предназначена для использования в ходе текущего обслуживания банка данных. Она помогает в ситуациях аварийного восстановления, а также при устранении других проблем с целостностью данных.

Isinteg — вторая (после Eseutil) из наиболее часто используемых средств восстановления. Средство Eseutil восстанавливает данные в базе на уровне страниц. Isinteg исправляет ошибки в базе данных на уровне приложений. Уровень приложений расположен значительно выше, чем уровень страниц.

С помощью программы Isinteg можно анализировать данные, относящиеся к почтовым ящикам, папкам, элементам и вложениям, и определять наличие проблем в этих компонентах. Кроме того, параметр -fix позволяет устранять эти проблемы.

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

Использование

При запуске программы Isinteg из командной строки отображаются заголовочные сведения, приведенные ниже. Эти сведения отображаются независимо от параметров, указанных в командной строке Isinteg.

Microsoft (r) Средство проверки целостности банка данных сервера Exchange Server, версия <версия>

© Корпорация Майкрософт (Microsoft Corp.), 1986—2000. Все права защищены.

Ниже указаны параметры, поддерживаемые программой Isinteg. Чтобы увидеть список этих параметров, выполните команду Isinteg с параметром -?.

Синтаксис

isinteg -s имя_сервера [-fix] [-verbose] [-l имя_файла_журнала] -test название_теста[[, название_теста]...]

-s имя_сервера

-fix проверка и исправление (по умолчанию — только проверка)

-verbose подробный отчет

-l имя_файла имя файла журнала (по умолчанию — .\isinteg.pri/pub)

-t местоположение_временной_БД (по умолчанию — местоположение хранилища)

-test название_теста...

folder message aclitem mailbox (только для частного хранилища) delfld acllist

rcvfld (только для частного хранилища) timedev rowcounts attach morefld ooflist(только для частного хранилища)

global searchq dlvrto replstate (только для общего хранилища)

peruser artidx (только для общего хранилища) search newsfeed (только для общего хранилища) dumpsterprops

Тесты для подсчета ссылок: msgref smgsoftref attachref acllistref aclitemref

newsfeedref (только для общего хранилища) fldrcv (только для частного хранилища) fldsub dumpsterref

Тесты для групп: allfoldertests allacltests

isinteg -dump [-l имя_файла_журнала] (подробный дамп данных из хранилища)

Параметры командной строки

Чтобы выполнить команду Isinteg, введите isinteg -s <имя_сервера> -test <параметры>, где <параметры> — один или несколько параметров командной строки.

Параметр Описание

-?

Этот параметр выводит список всех доступных параметров. Программа Isinteg при этом не выполняет никаких действий.

-s имя_сервера

Этот параметр задает имя сервера с базой данных, которую необходимо проверить.

-fix

Этот параметр предписывает находить и исправлять ошибки в указанном банке данных. Его рекомендуется использовать только по совету представителя службы поддержки клиентов Майкрософт.

-verbose

Этот параметр предписывает программе Isinteg выводить в ходе работы подробные сведения.

-l имя_файла

Этот параметр задает имя файла журнала. По умолчанию у файлов журналов следующие пути:

  • для частной базы данных — .\isinteg.pri;

  • для общей базы данных — .\isinteg.pub.

-t местоположение_временной_БД

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

-test название_теста [[название_теста]…]

Этот параметр задает один или несколько тестов, которые необходимо выполнить.

-dump [-l имя_файла_журнала]

Этот параметр предписывает создать подробный дамп банка данных.

Тесты Isinteg

При проверке базы данных на сервере Microsoft Exchange Server 2007 с помощью программы Isinteg необходимо указать сервер, на котором находится нужная база данных. Например, isinteg -s <имя_сервера> -test allfoldertests.

Поскольку проверка целостности данных — ресурсоемкая процедура, выполнение программы Isinteg для большого банка данных может занять длительное время. В связи с этим рекомендуется вместо полного набора тестов выполнять лишь определенные их серии в зависимости от возникшей в базе данных проблемы. Выполнять тесты рекомендуется под руководством представителя службы поддержки клиентов Майкрософт.

Примечание.
Если необходимо выполнить несколько тестов, быстрее будет не выполнять их по отдельности, а объединить в рамках одного запуска программы Isinteg. Например, команда isinteg -s <имя_сервера> -test folder, message выполнится быстрее, чем последовательно выполняемые команды isinteg -s <имя_сервера> -test folder и isinteg -s <имя_сервера> -test message.

В приведенной ниже таблице описаны доступные тесты базы данных.

Тест Описание Факторы, влияющие на длительность теста

aclitemref

Проверяет количество ссылок на элементы списка управления доступом.

Количество папок в банке данных и количество членов в каждом из списков управления доступом.

acllist

Проверяет папки и списки управления доступом.

Количество папок в банке данных.

acllistref

Проверяет количество ссылок на списки управления доступом.

Количество папок в банке данных.

allacltests

Объединяет тесты acllist, acllistref и aclitemref.

См. описание каждого из вложенных тестов.

allfoldertests

Объединяет тесты folder, fldsub и search.

См. описание каждого из вложенных тестов.

artidx (только для общего хранилища)

Проверяет целостность индекса элементов протокола NNTP.

Количество сообщений и папок NNTP.

attach

Проверяет свойства всех вложений.

Количество вложений в банке данных.

attachref

Проверяет количество ссылок на вложения.

Количество сообщений и вложений в банке данных.

deleteextracolumns

Удаляет все кэшированные индексы и некоторые «лишние» столбцы.

Количество папок в банке данных.

delfld

Анализирует удаленные папки, проверяет свойства и рассчитывает количество ссылок.

Количество удаленных папок и количество сообщений в каждой папке.

dumpsterref

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

См. описание тестов msgref и msgsoftref.

dumpsterprops

Выполняет тест dumpsterref и проверяет наличие в таблице папок некоторых необходимых столбцов.

См. описание теста dumpsterref.

fldrcv (только для частного хранилища)

Проверяет количество специальных системных папок, в том числе папок «Ограничения», «Классификация», «Входящие», «Исходящие», «Отправленные», «Удаленные», «Поиск», «Представления», «Общие представления», «Расписание» и «Ярлыки».

Количество почтовых ящиков и папок в банке данных.

fldsub

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

Количество папок в банке данных.

folder

Анализирует таблицы папок и проверяет свойства. Анализирует таблицы сообщений, проверяет свойства и рассчитывает количество ссылок.

Количество папок и сообщений в банке данных.

mailbox (только для частного хранилища)

Для каждого почтового ящика анализирует папки, удаленные папки и таблицы. Кроме того, проверяет свойства и специальные папки (например, «Входящие», «Исходящие», «Отправленные», «Удаленные» и др.), указанные в таблице папок, а также их размеры.

Количество почтовых ящиков, папок, удаленных папок и сообщений в банке данных.

message

Анализирует таблицы сообщений и проверяет свойства этих таблиц.

Количество сообщений в банке данных.

morefld

Проверяет ссылки для поиска (входит в состав теста search). В режиме исправления удаляет из кэша все таблицы классификации и ограничений.

Общее количество таблиц классификации и ограничений в кэше.

msgref

Проверяет в списке сообщений количество ссылок на сообщения.

Количество папок, сообщений и вложений в банке данных.

msgsoftref

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

Количество папок и сообщений в банке данных.

namedprop

Анализирует таблицы папок, сообщений и вложений и проверяет именованные свойства.

Количество папок, сообщений и вложений в банке данных.

newsfeed (только для общего хранилища)

Проверяет свойства таблиц серверов новостей (в том числе разрешения).

Количество папок в банке данных.

newsfeedref (только для общего хранилища)

Проверяет количество ссылок на серверы новостей.

Количество папок в банке данных.

oofhist (только для частного хранилища)

Проверяет для всех пользователей хронологические данные об отсутствии на рабочем месте.

Количество заданных правил отсутствия на рабочем месте.

peruser

Проверяет данные о прочитанных и непрочитанных элементах для отдельных пользователей.

Количество пользователей.

rcvfld (только для частного хранилища)

Выполняет перекрестную проверку папок получения в таблице папок.

Количество папок получения в банке данных.

replstate

Очищает несинхронизированные списки реплик общих папок и удаляет из таблицы состояния репликации все строки с данными об удаленных серверах, на которые нет ссылок.

Количество записей в таблице состояния репликации.

rowcounts

Проверяет количество строк во всех таблицах.

Количество папок, сообщений и вложений в банке данных.

search

Проверяет ссылки для поиска.

Количество папок в банке данных.

timedev

Проверяет количество запланированных событий (задач обслуживания, периодических задач и т. д.).

Количество запланированных событий.

Выполнение команды Isinteg

При выполнении команды Isinteg она проверяет, запущена ли служба банка данных Microsoft Exchange (MSExchangeIS). Если эта служба не запущена, программа Isinteg выводит сообщение, приведенное ниже, и завершает работу.

Ошибка: не удалось получить от сервера сведения о состоянии баз данных. Причиной может быть неверное имя сервера или проблемы в сети. Программа Isinteg завершает работу.

Если служба банка данных Microsoft Exchange запущена и целевая база данных подключена, программа Isinteg выводит сообщение, приведенное ниже, и завершает работу.

Базы данных для сервера <имя_сервера>

Могут быть проверены только базы данных, помеченные как автономные.

Индекс Состояние Имя базы данных

Имя группы хранения: Основная группа хранения

1 Работает База данных почтовых ящиков

Имя группы хранения: Вторая группа хранения

2 Работает База данных общих папок

Введите номер базы данных или нажмите ВВОД, чтобы выйти.

Если команда Isinteg выполняется с параметром -fix, счетчики в базе данных обновляются фактическими значениями, определенными Isinteg. Кроме того, выполняется очистка именованных идентификаторов и свойств, в ходе которой удаляются все неиспользуемые именованные свойства.

Программа Isinteg анализирует указанные ниже таблицы.

  • ACL List («Список управления доступом»)

  • ACL Member («Член ACL»)

  • Attachment («Вложение»)

  • Cross Reference («Перекрестная ссылка»)

  • Deleted Folders («Удаленные папки»)

  • Deleted Recipients («Удаленные получатели»)

  • DeliveredTo («Получатели»)

  • Folder («Папка»)

  • Global («Глобальные»)

  • Mailbox («Почтовый ящик»)

  • Message («Сообщение»)

  • Miscellaneous («Разное»)

  • Oof History («Журнал OOF»)

  • Per-User Read («Операции чтения по пользователям»)

  • PropsIn Contents («Содержимое PropsIn»)

  • ReplidMap («Карта идентификаторов репликации»)

  • Special Folders («Специальные папки»)

  • Timed Events («Запланированные события»)

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

По умолчанию программа Isinteg создает временную базу данных в той же папке, в которой находится проверяемая база банка данных. Для временной базы данных можно указать и другое место. Как только работа программы Isinteg будет завершена, она удалит временную базу данных из локальной папки банка данных или из другого указанного пользователем места.

В режиме проверки программа Isinteg должна выполняться отдельно для общего и частного банка данных.

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

Параметр -fix предписывает программе Isinteg исправлять все найденные ошибки. Isinteg записывает данные обо всех исправлениях в файл журнала. Если не передать команде Isinteg имя файла журнала в качестве параметра, она создает файл журнала с именем Isinteg.pri или Isinteg.pub в зависимости от того, для какого банка данных (частного или общего соответственно) она выполняется.

Примечание.
Выполнять команду с параметром -fix рекомендуется только под руководством представителя службы поддержки клиентов Майкрософт.

Варианты использования

Как правило, при возникновении проблем с банком данных Exchange он отключается, а сервер Exchange создает записи в журнале приложений. На основании этих сведений можно определить, какие тесты Isinteg нужно выполнить для поиска и устранения проблем с целостностью данных в базе.

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

Важно!
Несмотря на то, что события, приведенные в этой таблице, могут быть вызваны повреждением банка данных, причина не всегда заключается в этом. Причиной может быть и другая ошибка (например, проблема в коде Exchange или в программе стороннего изготовителя, интегрированной с Exchange). Поэтому если конкретная проверка Isinteg не устраняет проблему, можно обратиться за помощью в службу поддержки клиентов Майкрософт.

Код события Описание Параметр Isinteg

1025

Произошла ошибка. Имя функции или описание проблемы: EcGetRestriction. Ошибка: 0x57a

-test search

1186

Обнаружена несогласованность (EcSetSpecialRights/ACLID) при обновлении базы данных.

-test acllistref

1186

Обнаружена несогласованность (2.1A/AMIDRefCt) при обновлении базы данных.

Обнаружена несогласованность (2.1A/AMIDRef) при обновлении базы данных.

Обнаружена несогласованность (2.1B/AMID) при обновлении базы данных.

Обнаружена несогласованность (2.2D/AMID) при обновлении базы данных.

-test aclitemref

1186

Обнаружена несогласованность (2.1A/ACLID) при обновлении базы данных.

Обнаружена несогласованность (2.1B/ACLID) при обновлении базы данных.

Обнаружена несогласованность (2.2D/ACLID) при обновлении базы данных.

Обнаружена несогласованность (2.1A/ACLRef) при обновлении базы данных.

-test acllistref

1186

Обнаружена несогласованность (2.1B/cnset) при обновлении базы данных.

-test aclitemref

1198

Обнаружена несогласованность базы данных при ее обновлении до версии 2.19.

FID: <значение>

MID: <значение>

INID: <значение>

Обнаружена несогласованность базы данных при ее обновлении до версии 2.2a.

FID: <значение>

MID: <значение>

INID: <значение>

-test folder

7200

Фоновый поток FDsWaitTask остановлен. Код ошибки <значение>.

-test mailbox

7200

Фоновый поток EcFlushInTransitUserMail остановлен. Код ошибки <значение>.

-test folder

7201

В фоновом потоке FDoMaintenance возникла проблема. Код ошибки <значение>.

-test folder,artidx

7201

В фоновом потоке FDoPeriodic возникла проблема. Код ошибки <значение>.

-test rowcounts, dumpsterref

8500

Не удается переместить почтовый ящик <имя_почтового_ящика>.

Возникла проблема при открытии вложения.

Внутренний идентификатор родительской папки: <значение>, идентификатор родительского сообщения: <значение>; код ошибки: <значение>.

-test message

8501

Не удается переместить почтовый ящик <имя_почтового_ящика>.

Возникла проблема при открытии вложения.

Имя родительской папки: <имя>, тема родительского сообщения: <тема>; код ошибки: <значение>.

-test message

8502

Не удается переместить почтовый ящик <имя_почтового_ящика>.

Возникла проблема при открытии вложенного сообщения.

Внутренний идентификатор родительской папки: <значение>, идентификатор родительского сообщения: <значение>; код ошибки: <значение>.

-test message

8503

Не удается переместить почтовый ящик <имя_почтового_ящика>.

Возникла проблема при открытии вложенного сообщения.

Имя родительской папки: <значение>, тема родительского сообщения: <значение>; код ошибки: <значение>.

-test message*

8504

Не удается переместить почтовый ящик <имя_почтового_ящика>.

Возникла проблема при получении свойств папки.

Внутренний идентификатор папки: <значение>; код ошибки: <значение>.

-test folder*

8505

Не удается переместить почтовый ящик <имя_почтового_ящика>.

Возникла проблема при получении свойств папки.

Имя папки: <значение>; код ошибки: <значение>.

-test folder*

8506

Не удается переместить почтовый ящик <имя_почтового_ящика>.

Возникла проблема при получении свойств сообщения.

Внутренний идентификатор родительской папки: <значение>; идентификатор сообщения: <значение>; код ошибки: <значение>.

-test folder,message*

8507

Не удается переместить почтовый ящик <имя_почтового_ящика>.

Возникла проблема при получении свойств сообщения.

Имя родительской папки: <значение>; тема сообщения: <значение>; код ошибки: <значение>.

-test folder,message*

8508

Не удается переместить почтовый ящик <имя_почтового_ящика>.

Возникла проблема при получении свойств вложения.

Внутренний идентификатор родительской папки: <значение>, идентификатор родительского сообщения: <значение>; код ошибки: <значение>.

-test attach

8509

Не удается переместить почтовый ящик <имя_почтового_ящика>.

Возникла проблема при получении свойств вложения.

Имя родительской папки: <значение>, тема родительского сообщения: <значение>; код ошибки: <значение>.

-test attach

* Ошибка, из-за которой это сообщение отображается, может быть не связана с целостностью банка данных.

Дополнительные сведения

Дополнительные сведения о других средствах для аварийного восстановления Microsoft Exchange Server 2007 см. в разделе Средства и мастеры аварийного восстановления.

Дополнительные сведения о программе Isinteg см. в статье 301460 базы знаний Майкрософт Параметры командной строки Exchange для средства Isinteg.exe.