Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Присоединение поврежденной базы данных  [new]
blest
Member

Откуда:
Сообщений: 554
Произошел сбой жесткого диска, в результате в SSMS от базы осталось одно название и файлы базы данных в ФС. Версия SQL 2005. При присоединении ошибка: MyBase.mdf is not a primar y database file.

Проделывал эту инструкцию
На шаге 9, при переводе в режим одного пользователя появляются ошибки:

The header for file 'MyBase.mdf' is not a valid database file header. The PageAudit property is incorrect.
The header for file ''MyBase' .ldf' is not a valid database file header. The PageAudit property is incorrect.
File activation failure. The physical file name "MyBase.ldf" may be incorrect.
Database 'MyBase' cannot be opened due to inaccessible files or insufficient memory or disk space. See the SQL Server errorlog for details.

Так же была еще одна инструкция:
ALTER DATABASE CyberParts SET EMERGENCY, SET SINGLE_USER
DBCC CHECKDB (CyberParts, REPAIR_ALLOW_DATA_LOSS) WITH NO_INFOMSGS, ALL_ERRORMSGS
Но после первой команды база переходит в статус recovery и ничего с ней не происходит.

SQL repair не помог.

Что еще можно придумать, не могла же база так испортиться, что ее никакими способами открыть нельзя?
14 окт 11, 11:10    [11439409]     Ответить | Цитировать Сообщить модератору
 Re: Присоединение поврежденной базы данных  [new]
Glory
Member

Откуда:
Сообщений: 104760
blest
Что еще можно придумать, не могла же база так испортиться, что ее никакими способами открыть нельзя?

Святая наивность
Ну так запускаете утилиту редактирования данных на дисков напрямую
И вносите в поврежденные страницы правильную информацию побайтно
Например в "header for file 'MyBase.mdf'"
Всего то делов
14 окт 11, 11:17    [11439469]     Ответить | Цитировать Сообщить модератору
 Re: Присоединение поврежденной базы данных  [new]
blest
Member

Откуда:
Сообщений: 554
Да, если присоединять базу такой командой:
EXEC sp_attach_db @dbname = N'yBase', 
    @filename1 = N'Path\MyBase.mdf', 
    @filename2 = N'Path\MyBase_log.ldf';
Ошибка: The header for file 'Path\CyberParts.mdf' is not a valid database file header. The PageAudit property is incorrect.

Собственно по поиску этой ошибки и выполнял все вышеописанные инструкции.
14 окт 11, 11:19    [11439495]     Ответить | Цитировать Сообщить модератору
 Re: Присоединение поврежденной базы данных  [new]
Eagle_84
Member

Откуда: Москва
Сообщений: 1535
я так понимаю, что про бекап смысла спрашивать нет?
14 окт 11, 11:20    [11439501]     Ответить | Цитировать Сообщить модератору
 Re: Присоединение поврежденной базы данных  [new]
Glory
Member

Откуда:
Сообщений: 104760
blest
Собственно по поиску этой ошибки и выполнял все вышеописанные инструкции.

Эта инструкция не чинит физически поврежденные базы
14 окт 11, 11:22    [11439520]     Ответить | Цитировать Сообщить модератору
 Re: Присоединение поврежденной базы данных  [new]
blest
Member

Откуда:
Сообщений: 554
Glory
blest
Собственно по поиску этой ошибки и выполнял все вышеописанные инструкции.

Эта инструкция не чинит физически поврежденные базы


Да там он скорее всего не поврежден, а наверное транзакция какая-нибудь была незавершена. Размер БД остался таким же.
Бекапов да, нет.
14 окт 11, 11:26    [11439551]     Ответить | Цитировать Сообщить модератору
 Re: Присоединение поврежденной базы данных  [new]
Glory
Member

Откуда:
Сообщений: 104760
blest
Да там он скорее всего не поврежден, а наверное транзакция какая-нибудь была незавершена.

Ага, заголовок файла данных самое то место для хранения незавершенных транзакций. И страница заголовка PageAudit хранит все назавершенные транзакции
14 окт 11, 11:29    [11439583]     Ответить | Цитировать Сообщить модератору
 Re: Присоединение поврежденной базы данных  [new]
blest
Member

Откуда:
Сообщений: 554
Glory
blest
Да там он скорее всего не поврежден, а наверное транзакция какая-нибудь была незавершена.

Ага, заголовок файла данных самое то место для хранения незавершенных транзакций. И страница заголовка PageAudit хранит все назавершенные транзакции


Хорошо, первый Ваш ответ не понял. Можете привести пример утилиты, которая могла бы редактировать заголовок?
14 окт 11, 11:33    [11439611]     Ответить | Цитировать Сообщить модератору
 Re: Присоединение поврежденной базы данных  [new]
Glory
Member

Откуда:
Сообщений: 104760
blest
Можете привести пример утилиты, которая могла бы редактировать заголовок?

А вы знаете, что туда надо заносить ?
14 окт 11, 11:36    [11439638]     Ответить | Цитировать Сообщить модератору
 Re: Присоединение поврежденной базы данных  [new]
blest
Member

Откуда:
Сообщений: 554
Glory
blest
Что еще можно придумать, не могла же база так испортиться, что ее никакими способами открыть нельзя?

Святая наивность
Ну так запускаете утилиту редактирования данных на дисков напрямую
И вносите в поврежденные страницы правильную информацию побайтно
Например в "header for file 'MyBase.mdf'"
Всего то делов


Glory, я же написал - не понял этот ответ. Вы же пишите - вносите в поврежденную страницу побайтно.
14 окт 11, 11:38    [11439654]     Ответить | Цитировать Сообщить модератору
 Re: Присоединение поврежденной базы данных  [new]
Glory
Member

Откуда:
Сообщений: 104760
blest
Glory, я же написал - не понял этот ответ. Вы же пишите - вносите в поврежденную страницу побайтно.

Ну вы наверное знаете, раз говорите, что "не могла же база так испортиться, что ее никакими способами открыть нельзя". Наверное где-то нарыли описание внутреннего формата файлов баз mssql ?
14 окт 11, 11:40    [11439679]     Ответить | Цитировать Сообщить модератору
 Re: Присоединение поврежденной базы данных  [new]
blest
Member

Откуда:
Сообщений: 554
Glory
blest
Glory, я же написал - не понял этот ответ. Вы же пишите - вносите в поврежденную страницу побайтно.

Ну вы наверное знаете, раз говорите, что "не могла же база так испортиться, что ее никакими способами открыть нельзя". Наверное где-то нарыли описание внутреннего формата файлов баз mssql ?


Т.е. вариантов восстановления Вы не знаете? И единственная возможность после таких сбоев - восстанавливать базу из бекапа?
14 окт 11, 11:43    [11439710]     Ответить | Цитировать Сообщить модератору
 Re: Присоединение поврежденной базы данных  [new]
Ken@t
Member

Откуда: 大地
Сообщений: 3264
blest
Т.е. вариантов восстановления Вы не знаете? И единственная возможность после таких сбоев - восстанавливать базу из бекапа?


Бинго !!! Теперь ещё один будет делать бэкапы.

Интересно , через сколько времени он озаботится стратегией бэкапов ?
14 окт 11, 11:50    [11439784]     Ответить | Цитировать Сообщить модератору
 Re: Присоединение поврежденной базы данных  [new]
Glory
Member

Откуда:
Сообщений: 104760
blest
Т.е. вариантов восстановления Вы не знаете?

Найти где-то или самому исследовать внутренний формат файлов
Например, по файлам работающей базы
14 окт 11, 11:52    [11439809]     Ответить | Цитировать Сообщить модератору
 Re: Присоединение поврежденной базы данных  [new]
invm
Member

Откуда: Москва
Сообщений: 9413
blest,

Recovery for SQL Server
File Header and Boot Page Corrupted in MS SQL Server Database
14 окт 11, 11:52    [11439811]     Ответить | Цитировать Сообщить модератору
 Re: Присоединение поврежденной базы данных  [new]
blest
Member

Откуда:
Сообщений: 554
Ken@t
blest
Т.е. вариантов восстановления Вы не знаете? И единственная возможность после таких сбоев - восстанавливать базу из бекапа?


Бинго !!! Теперь ещё один будет делать бэкапы.

Интересно , через сколько времени он озаботится стратегией бэкапов ?


Мне вот интересно, а с чего Вы решили, что это моя база данных и что я работал в компании, владеющей этой БД, и все время и отвечал за создание бекапов? Мы работаем с тем, что нам дают.

invm
blest,

Recovery for SQL Server
File Header and Boot Page Corrupted in MS SQL Server Database


Спасибо, почитаю.
14 окт 11, 15:59    [11442258]     Ответить | Цитировать Сообщить модератору
Между сообщениями интервал более 1 года.
 Re: Присоединение поврежденной базы данных  [new]
Jasonclark03
Member [скрыт] [заблокирован]

Откуда:
Сообщений: 17
взглянуть на здесь [url=]http://www.sqlrecoverytool.com/fix-ms-sql-server-error-5172.html[/url]
23 фев 17, 15:25    [20239921]     Ответить | Цитировать Сообщить модератору
 Re: Присоединение поврежденной базы данных  [new]
Ролг Хупин
Member

Откуда: Чебаркуль
Сообщений: 3761
Jasonclark03
взглянуть на здесь [url=]http://www.sqlrecoverytool.com/fix-ms-sql-server-error-5172.html[/url]


это ответ на какой вопрос из 2011 года?
23 фев 17, 16:34    [20240022]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить