Технический пост.
Проблема на контроллере домена Windows Server 2008. В логах появилось сообщение:
NTDS (820) NTDSA: База данных C:\Windows\NTDS\ntds.dit: индекс INDEX_00020078 таблицы datatable поврежден (0).
Вот действия по восстановлению, после которых и AD и DNS пришли в чувства. Для начала тормозим NTDS через оснастку, потом запускаем cmd. А дальше смотрим, что я вводил и что получилось:
dcdiag
Запуск проверки: Connectivity
……………………. K-3790 – пройдена проверка Connectivity
Выполнение основных проверок
Сервер проверки: Default-First-Site\K-3790
Запуск проверки: Advertising
Неустранимая ошибка: сбой при вызове DsGetDcName (K-3790), ошибка 1355
Локатору не удается найти сервер.
……………………. K-3790 – не пройдена проверка Advertising
Выполнение проверок разделов на: ForestDnsZones
Выполнение проверок разделов на: DomainDnsZones
Выполнение проверок разделов на: Schema
Выполнение проверок разделов на: Configuration
Выполнение проверок разделов на: kazanova
Выполнение проверок предприятия на: kazanova.local
C:\Windows\system32>dcdiag /fix /test:netlogons
Диагностика сервера каталогов
Выполнение начальной настройки:
Выполняется попытка поиска основного сервера…
Основной сервер = K-3790
* Идентифицирован лес AD.
Сбор начальных данных завершен.
Выполнение обязательных начальных проверок
Сервер проверки: Default-First-Site\K-3790
Запуск проверки: Connectivity
……………………. K-3790 – пройдена проверка Connectivity
Выполнение основных проверок
Сервер проверки: Default-First-Site\K-3790
Запуск проверки: NetLogons
Не удается подключиться к общему ресурсу NETLOGON. (\\K-3790\netlogon)
[K-3790] Сбой операции net use или LsaPolicy с ошибкой 67,
Не найдено сетевое имя..
……………………. K-3790 – не пройдена проверка NetLogons
Выполнение проверок разделов на: ForestDnsZones
Выполнение проверок разделов на: DomainDnsZones
Выполнение проверок разделов на: Schema
Выполнение проверок разделов на: Configuration
Выполнение проверок разделов на: kazanova
Выполнение проверок предприятия на: kazanova.local
C:\Windows\system32>net share
Общее имя Ресурс Заметки
——————————————————————————-
ADMIN$ C:\Windows Удаленный Admin
C$ C:\ Стандартный общий ресурс
IPC$ Удаленный IPC
E$ E:\ Стандартный общий ресурс
D$ D:\ Стандартный общий ресурс
common D:\common
D D:\
Frontol_Exchange
D:\common\Frontol_Exchange
Kazanova_FS D:\common\Kazanova_FS
KLSHARE C:\Program Files (x86)\Kaspersky Lab\Kaspersky Security Center\Shar
e
Users C:\Users
Команда выполнена успешно.
Внимание! Нет шары SYSVOL! Идем сюда и делаем то, что в конце написано.
C:\Windows\system32>net share
Общее имя Ресурс Заметки
——————————————————————————-
C$ C:\ Стандартный общий ресурс
E$ E:\ Стандартный общий ресурс
IPC$ Удаленный IPC
D$ D:\ Стандартный общий ресурс
ADMIN$ C:\Windows Удаленный Admin
common D:\common
D D:\
Frontol_Exchange
D:\common\Frontol_Exchange
Kazanova_FS D:\common\Kazanova_FS
KLSHARE C:\Program Files (x86)\Kaspersky Lab\Kaspersky Security Center\Shar
e
SYSVOL C:\Windows\SYSVOL\sysvol Общий сервер входа
Users C:\Users
Команда выполнена успешно.
C:\Windows\system32>dcdiag /fix /test:netlogons
Диагностика сервера каталогов
Выполнение начальной настройки:
Выполняется попытка поиска основного сервера…
Основной сервер = K-3790
* Идентифицирован лес AD.
Сбор начальных данных завершен.
Выполнение обязательных начальных проверок
Сервер проверки: Default-First-Site\K-3790
Запуск проверки: Connectivity
……………………. K-3790 – пройдена проверка Connectivity
Выполнение основных проверок
Сервер проверки: Default-First-Site\K-3790
Запуск проверки: NetLogons
Не удается подключиться к общему ресурсу NETLOGON. (\\K-3790\netlogon)
[K-3790] Сбой операции net use или LsaPolicy с ошибкой 67,
Не найдено сетевое имя..
……………………. K-3790 – не пройдена проверка NetLogons
Выполнение проверок разделов на: ForestDnsZones
Выполнение проверок разделов на: DomainDnsZones
Выполнение проверок разделов на: Schema
Выполнение проверок разделов на: Configuration
Выполнение проверок разделов на: kazanova
Выполнение проверок предприятия на: kazanova.local
C:\Windows\system32>dcdiag /fix /test:advertising
Диагностика сервера каталогов
Выполнение начальной настройки:
Выполняется попытка поиска основного сервера…
Основной сервер = K-3790
* Идентифицирован лес AD.
Сбор начальных данных завершен.
Выполнение обязательных начальных проверок
Сервер проверки: Default-First-Site\K-3790
Запуск проверки: Connectivity
……………………. K-3790 – пройдена проверка Connectivity
Выполнение основных проверок
Сервер проверки: Default-First-Site\K-3790
Запуск проверки: Advertising
……………………. K-3790 – пройдена проверка Advertising
Выполнение проверок разделов на: ForestDnsZones
Выполнение проверок разделов на: DomainDnsZones
Выполнение проверок разделов на: Schema
Выполнение проверок разделов на: Configuration
Выполнение проверок разделов на: kazanova
Выполнение проверок предприятия на: kazanova.local
C:\Windows\system32>dcdiag /f:d:\full_log2.txt
C:\Windows\system32>nsdsutil
“nsdsutil” не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
C:\Windows\system32>ntdsutil
ntdsutil: files
Не задан активный экземпляр. Для задания активного экземпляра используется коман
да “Активировать экземпляр”.
ntdsutil: activate instance ntds
Активный экземпляр – “ntds”.
ntdsutil: files
Служба “NTDS” запущена. Остановите эту службу перед привязкой к данной базе данн
ых Active Directory.
ntdsutil: files
file maintenance: checksum
Проверка контрольной суммы для базы данных: C:\Windows\NTDS\ntds.dit.
File: C:\Windows\NTDS\ntds.dit
Checksum Status (% complete)
0 10 20 30 40 50 60 70 80 90 100
|—-|—-|—-|—-|—-|—-|—-|—-|—-|—-|
……………………………………………
Просмотрено страниц: 2562.
Неправильных контрольных сумм: 0.
Исправимых контрольных сумм: 0
Неинициализированных страниц: 400.
Неправильных номеров страниц: 0.
0x19180f наивысшее время dbtime (страница 0x602)
321 операций чтения выполнено.
Прочитано 20 МБ.
Потребовалось секунд: 1.
20 МБ/сек.
Потребовалось миллисекунд: 18396.
57 миллисекунд на операцию чтения.
109 миллисекунд на самую медленную операцию чтения.
0 миллисекунд на самую быструю операцию чтения.
file maintenance: ?
? – Вывод этой справочной информации
Checkpoint – Дамп файла контрольной точки JET
Checksum – Проверка физической целостности Jet
Compact to %s – Уплотнение БД в указанную папку
Dump page %d – Дамп страницы %d базы данных JET
Header – Дамп заголовка базы данных Jet
Help – Вывод этой справочной информации
Info – Возврат информации о файлах DS
Integrity – Выполнение проверки логической целостности Jet
Logfile %s – Дамп файла журнала JET %s. %s может быть абсолю
тным
путем или просто именем файла журнала в папке ж
урналов.
Metadata – Дамп метаданных базы данных JET
Move DB to %s – Перемещение БД в указанную папку
Move logs to %s – Перемещение файлов журналов в указанную папку
Quit – Возврат к предыдущему меню
Recover – Выполнение “мягкого” восстановления базы данных
Set backup exclusion key – Установите ключ исключения архивации для AD DS/
LDS.
Set default folder security – Установка стандартных значений
параметров безопасности для папок NTDS
Set path backup %s – Задает путь к оперативной архивной папке
Set path DB %s – Задает путь к файлам БД
Set path logs %s – Задает путь к папке журналов
Set path working dir %s – Задание пути рабочего каталога для DS/LDS AD
Space usage – Дамп использования пространства базой данных JE
T
file maintenance: integrity
Выполнение проверки целостности для базы данных: C:\Windows\NTDS\ntds.dit.
Checking database integrity.
Scanning Status (% complete)
0 10 20 30 40 50 60 70 80 90 100
|—-|—-|—-|—-|—-|—-|—-|—-|—-|—-|
……………………………………………
Integrity check completed.
Database is CORRUPTED, the last full backup of this database was on 01/17/2016 2
1:00:36
Операция прекращена с ошибкой -1206( JET_errDatabaseCorrupted, Non database file
or corrupted db ).
file maintenance: recover
Запуск режима ВОССТАНОВЛЕНИЯ…
Файлы журнала: C:\Windows\NTDS.
Системные файлы: C:\Windows\NTDS.
Выполнение “мягкого” восстановления…
База данных успешно восстановлена.
Рекомендуется выполнить семантический анализ данных,
чтобы убедиться в семантической согласованности базы данных.
file maintenance: q
ntdsutil: ?
? – Вывод этой справочной информации
Activate Instance %s – Устанавливает “NTDS” или определенный экземпляр
AD LDS
в качестве активного экземпляра.
Authoritative restore – Принудительно восстановить базу данных DIT
Change Service Account %s1 %s2 – Измените учетную запись службы AD DS/LDS на
имя пользователя %s1 и пароль %s2.
Используйте “NULL” для пустого пароля или “*” дл
я
ввода пароля с консоли.
Configurable Settings – Управление настраиваемыми параметрами
DS Behavior – Просмотр и изменение режима работы AD DS/LDS
Files – Управление файлами DS/LDS-базы данных AD
Group Membership Evaluation – Оцените идентификаторы безопасности в токене дл
я
данного пользователя или группы
Help – Вывод этой справочной информации
IFM – Создание носителя IFM
LDAP policies – Управление политиками протокола LDAP
LDAP Port %d – Настройка порта LDAP для экземпляра AD LDS.
List Instances – Составьте список всех экземпляров AD LDS, устан
овленных
на этом компьютере.
Local Roles – Управление локальными ролями RODC
Metadata cleanup – Очистка объектов ликвидированных серверов
Partition management – Управление разделами каталогов
Popups off – Запретить всплывающие окна
Popups on – Разрешить всплывающие окна
Quit – Выход из программы
Roles – Токены владельца управления ролью NTDS
Security account management – Управление базой данных учетных записей –
очистка повторяющихся SID
Semantic database analysis – Проверка семантики
Set DSRM Password – Сброс пароля администратора для режима
восстановления службы каталогов
Snapshot – Управление снимком
SSL Port %d – Настройка порта SSL для экземпляра AD LDS.
ntdsutil: semantic database analysis
semantic checker: ?
? – Вывод этой справочной информации
Check Quota – Проверки целостности таблицы отслеживания квот
Get %d – Получить информацию о записи с данным DNT
Go – Запуск проверки семантики без исправлений
Go Fixup – Запуск проверки семантики с исправлением
Help – Вывод этой справочной информации
Quit – Возврат к предыдущему меню
Rebuild Quota – Принудительная асинхронная перестройка таблицы
отслеживания квот
Verbose %s – Включение/выключение режима подробной информаци
и
semantic checker: go fixup
Режим исправления изменен на on
Открытие базы данных DIT… Выполнено.
Выполнено.
……Выполнено.
Запись сводной информации в файл журнала dsdit.dmp.1
Просмотрено SD: 153
Сканировано записей: 3724
Обрабатываются записи..Готово. Прошло секунд: 2.
semantic checker: q
ntdsutil: q
C:\Windows\system32>ntdsutil
ntdsutil: files
Не задан активный экземпляр. Для задания активного экземпляра используется коман
да “Активировать экземпляр”.
ntdsutil: activate instance ntds
Активный экземпляр – “ntds”.
ntdsutil: files
file maintenance: ?
? – Вывод этой справочной информации
Checkpoint – Дамп файла контрольной точки JET
Checksum – Проверка физической целостности Jet
Compact to %s – Уплотнение БД в указанную папку
Dump page %d – Дамп страницы %d базы данных JET
Header – Дамп заголовка базы данных Jet
Help – Вывод этой справочной информации
Info – Возврат информации о файлах DS
Integrity – Выполнение проверки логической целостности Jet
Logfile %s – Дамп файла журнала JET %s. %s может быть абсолю
тным
путем или просто именем файла журнала в папке ж
урналов.
Metadata – Дамп метаданных базы данных JET
Move DB to %s – Перемещение БД в указанную папку
Move logs to %s – Перемещение файлов журналов в указанную папку
Quit – Возврат к предыдущему меню
Recover – Выполнение “мягкого” восстановления базы данных
Set backup exclusion key – Установите ключ исключения архивации для AD DS/
LDS.
Set default folder security – Установка стандартных значений
параметров безопасности для папок NTDS
Set path backup %s – Задает путь к оперативной архивной папке
Set path DB %s – Задает путь к файлам БД
Set path logs %s – Задает путь к папке журналов
Set path working dir %s – Задание пути рабочего каталога для DS/LDS AD
Space usage – Дамп использования пространства базой данных JE
T
file maintenance: integrity
Выполнение проверки целостности для базы данных: C:\Windows\NTDS\ntds.dit.
Checking database integrity.
Scanning Status (% complete)
0 10 20 30 40 50 60 70 80 90 100
|—-|—-|—-|—-|—-|—-|—-|—-|—-|—-|
……………………………………………
Integrity check completed.
Database is CORRUPTED, the last full backup of this database was on 01/17/2016 2
1:00:36
Операция прекращена с ошибкой -1206( JET_errDatabaseCorrupted, Non database file
or corrupted db ).
file maintenance: recover
Запуск режима ВОССТАНОВЛЕНИЯ…
Файлы журнала: C:\Windows\NTDS.
Системные файлы: C:\Windows\NTDS.
Выполнение “мягкого” восстановления…
База данных успешно восстановлена.
Рекомендуется выполнить семантический анализ данных,
чтобы убедиться в семантической согласованности базы данных.
file maintenance: integrity
Выполнение проверки целостности для базы данных: C:\Windows\NTDS\ntds.dit.
Checking database integrity.
Scanning Status (% complete)
0 10 20 30 40 50 60 70 80 90 100
|—-|—-|—-|—-|—-|—-|—-|—-|—-|—-|
……………………………………………
Integrity check completed.
Database is CORRUPTED, the last full backup of this database was on 01/17/2016 2
1:00:36
Операция прекращена с ошибкой -1206( JET_errDatabaseCorrupted, Non database file
or corrupted db ).
file maintenance: q
ntdsutil: q
C:\Windows\system32>esentutl
Usage Error: No mode specified.
Extensible Storage Engine Utilities for Microsoft(R) Windows(R)
Version 6.1
Copyright (C) Microsoft Corporation. All Rights Reserved.
DESCRIPTION: Database utilities for the Extensible Storage Engine for Microsoft
(R) Windows(R).
MODES OF OPERATION:
Defragmentation: ESENTUTL /d <database name> [options]
Recovery: ESENTUTL /r <logfile base name> [options]
Integrity: ESENTUTL /g <database name> [options]
Checksum: ESENTUTL /k <file name> [options]
Repair: ESENTUTL /p <database name> [options]
File Dump: ESENTUTL /m[mode-modifier] <filename>
Copy File: ESENTUTL /y <source file> [options]
<<<<< Press a key for more help >>>>>
D=Defragmentation, R=Recovery, G=inteGrity, K=checKsum,
P=rePair, M=file duMp, Y=copY file
=>
INTEGRITY:
DESCRIPTION: Verifies integrity of a database.
SYNTAX: ESENTUTL /g <database name> [options]
PARAMETERS: <database name> – filename of database to verify
OPTIONS: zero or more of the following switches, separated by a space:
/t<db> – set temp. database name (default: TEMPINTEG*.EDB)
/f<name> – set prefix to use for name of report files
(default: <database>.integ.raw)
/2 – set 2k database page size (default: auto-detect)
/4 – set 4k database page size (default: auto-detect)
/8 – set 8k database page size (default: auto-detect)
/16 – set 16k database page size (default: auto-detect)
/32 – set 32k database page size (default: auto-detect)
/o – suppress logo
NOTES: 1) Integrity-check does not run database recovery. If a
database is in a “Dirty Shutdown” state it is strongly
recommended that before proceeding with an integrity-
check, recovery is first run to properly complete
database operations for the previous shutdown.
C:\Windows\system32>esentutl /g C:\Windows\NTDS\ntds.dit
Extensible Storage Engine Utilities for Microsoft(R) Windows(R)
Version 6.1
Copyright (C) Microsoft Corporation. All Rights Reserved.
Initiating INTEGRITY mode…
Database: C:\Windows\NTDS\ntds.dit
Temp. Database: TEMPINTEG6172.EDB
Checking database integrity.
Scanning Status (% complete)
0 10 20 30 40 50 60 70 80 90 100
|—-|—-|—-|—-|—-|—-|—-|—-|—-|—-|
……………………………………………
Integrity check completed.
Database is CORRUPTED, the last full backup of this database was on 01/17/2016 2
1:00:36
Operation terminated with error -1206 (JET_errDatabaseCorrupted, Non database fi
le or corrupted db) after 2.293 seconds.
C:\Windows\system32>esentutl /p C:\Windows\NTDS\ntds.dit
Extensible Storage Engine Utilities for Microsoft(R) Windows(R)
Version 6.1
Copyright (C) Microsoft Corporation. All Rights Reserved.
Initiating REPAIR mode…
Database: C:\Windows\NTDS\ntds.dit
Temp. Database: TEMPREPAIR10996.EDB
Checking database integrity.
Scanning Status (% complete)
0 10 20 30 40 50 60 70 80 90 100
|—-|—-|—-|—-|—-|—-|—-|—-|—-|—-|
……………………………………………
Initiating DEFRAGMENTATION mode…
Database: C:\Windows\NTDS\ntds.dit
Defragmentation Status (% complete)
0 10 20 30 40 50 60 70 80 90 100
|—-|—-|—-|—-|—-|—-|—-|—-|—-|—-|
……………………………………………
Moving ‘TEMPREPAIR10996.EDB’ to ‘C:\Windows\NTDS\ntds.dit’… DONE!
Note:
It is recommended that you immediately perform a full backup
of this database. If you restore a backup made before the
defragmentation, the database will be rolled back to the state
it was in at the time of that backup.
Operation completed successfully in 16.115 seconds.
C:\Windows\system32>esentutl /g C:\Windows\NTDS\ntds.dit
Extensible Storage Engine Utilities for Microsoft(R) Windows(R)
Version 6.1
Copyright (C) Microsoft Corporation. All Rights Reserved.
Initiating INTEGRITY mode…
Database: C:\Windows\NTDS\ntds.dit
Temp. Database: TEMPINTEG8252.EDB
Checking database integrity.
Scanning Status (% complete)
0 10 20 30 40 50 60 70 80 90 100
|—-|—-|—-|—-|—-|—-|—-|—-|—-|—-|
……………………………………………
Integrity check successful.
Operation completed successfully in 2.308 seconds.
C:\Windows\system32>