При використанні Microsoft SQL Server щоб прикріпити або отримати доступ до пошкодженого файлу бази даних MDF, ви можете зіткнутися з різноманітними повідомленнями про помилки, які можуть збити з пантелику. Нижче ми наведемо список усіх помилок, відсортованих за частотою. Для кожної помилки ми окреслимо її симптоми, пояснимо точну причину та надамо зразки файлів разом із файлами, виправленими DataNumen SQL Recovery. Це допоможе вам краще зрозуміти ці помилки. Примітка. «xxx.MDF» представлятиме назву вашого пошкодженого SQL Server Файл бази даних MDF.
На основі SQL Server або повідомлення про помилку CHECKDB, є три види помилок:
-
- Помилки розподілу: Ми знаємо, що дані у файлах MDF та NDF розподіляються як сторінок. І є кілька спеціальних сторінок, які використовуються для управління розподілом, наступним чином:
Тип сторінки | Опис |
Сторінка GAM | Зберігайте інформацію про глобальну карту розподілу (GAM). |
Сторінка SGAM | Зберігати інформацію про загальну карту розподілу (SGAM). |
Сторінка IAM | Інформація про карту розподілу індексів магазину (IAM). |
Сторінка PFS | Зберігати інформацію про розподіл PFS. |
Якщо на будь-якій із вищезазначених сторінок розподілу є помилки, або дані, якими керують ці сторінки розподілу, несумісні з інформацією про розподіл, тоді SQL Server або CHECKDB повідомить помилки розподілу.
- Помилки узгодженості: для сторінок які використовуються для зберігання даних, включаючи сторінки даних та сторінки індексу, якщо SQL Server або CHECKDB знайде будь-яке невідповідність між вмістом сторінки та контрольною сумою, тоді вони повідомлять помилки узгодженості.
- Усі інші помилки: Можуть бути й інші помилки, які не підпадають під дві зазначені вище категорії.
- xxxx.mdf не є основним файлом бази даних. (Microsoft SQL Server, Помилка: 5171)
- Заголовок файлу "xxxx.mdf" не є дійсним заголовком файлу бази даних. Властивість FILE SIZE неправильна. (Microsoft SQL Server, Помилка: 5172)
- SQL Server виявлено логічну помилку вводу-виводу на основі послідовності: неправильна контрольна сума
- SQL Server виявлено логічну помилку вводу-виводу на основі послідовності: порвана сторінка
- Ви помилково видаляєте деякі записи чи таблиці в базі даних.
SQL Server має вбудований інструмент під назвою DBCC, який має CHECKDB та КОНТРОЛЬ варіанти, які можуть допомогти відновити пошкоджену базу даних MDF. Однак для сильно пошкоджених файлів бази даних MDB, DBCC CHECKDB та КОНТРОЛЬ також не вдасться.
Помилки узгодженості, про які повідомляє CHECKDB:
- SQL Server виявлено логічну помилку вводу-виводу на основі послідовності: неправильна контрольна сума
- Рядок у sys.xxx не має відповідного рядка в sys.xxx.
- Помилка таблиці: Ідентифікатор об'єкта ##, індекс ID ## буде відновлено.
- Цей індекс системної таблиці неможливо відтворити.
- Ідентифікатор об'єкта ##, ідентифікатор ##, ідентифікатор розділу ##, ідентифікатор розподілу блоку ## (тип Невідомо), ідентифікатор сторінки (##: 560) містить неправильний ідентифікатор сторінки в заголовку сторінки.
Помилки розподілу, про які повідомляє CHECKDB:
- Сторінка карти розподілу індексів (IAM) вказується наступним вказівником сторінки IAM
- Обсяг (##: ##) в ідентифікаторі бази даних ## позначений виділеним у GAM, але жоден SGAM чи IAM не виділив його.
Усі інші помилки, про які повідомляє CHECKDB:
- Помилка: (- #######) Виконання запиту “DBCC CHECKDB (xxxx) WITH NO_INFOMSGS” не вдалося із такою помилкою: “xxxx”.
- Помилка вводу / виводу (неправильний ідентифікатор сторінки) виявлена під час читання зі зміщенням 0x ###### у файлі 'xxxx.mdf'.
- Система не змогла активувати достатньо бази даних для відновлення журналу
- Втрата даних при ремонті за допомогою CHECKDB
- Здається, файл був усічений операційною системою.
- Під час переробки операції, що реєструється в базі даних 'xxxx', сталася помилка з ідентифікатором запису журналу.