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

Откуда: Київ
Сообщений: 10428
база ушла в suspect mode из-за сбоя на диске.
Скопировал файлы, пробую восстановить на sql 2005.

Что имеем:


база в emergency mode, я могу выполнять запросы, вижу данные, но когда пытаюсь выполнить


DBCC CHECKDB('dbexpress', REPAIR_ALLOW_DATA_LOSS ) 

Msg 5123, Level 16, State 1, Line 1
CREATE FILE encountered operating system error 3(error not found) while attempting to open or create the physical file 'c:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\data\dbexpress.ldf'.
Msg 5024, Level 16, State 2, Line 1
No entry found for the primary log file in sysfiles1.  Could not rebuild the log.
Msg 5028, Level 16, State 2, Line 1
The system could not activate enough of the database to rebuild the log.
Msg 7909, Level 20, State 1, Line 1
The emergency-mode repair failed.You must restore from backup.

что можно сделать еще? данные вот они
9 июн 09, 14:51    [7281223]     Ответить | Цитировать Сообщить модератору
 Re: REPAIR_ALLOW_DATA_LOSS  [new]
Glory
Member

Откуда:
Сообщений: 104760
Winnipuh
база ушла в suspect mode из-за сбоя на диске.
Скопировал файлы, пробую восстановить на sql 2005.


А где тогда файл "c:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\data\dbexpress.ldf" ?
9 июн 09, 14:55    [7281242]     Ответить | Цитировать Сообщить модератору
 Re: REPAIR_ALLOW_DATA_LOSS  [new]
Crimean
Member

Откуда:
Сообщений: 13148
имхо када база читается только в емедженси ее чинить уже невозможно
надо брать последний живой бакап за основу и разницу трансферить / лить скриптами
и спасибо если все из емедженси базы прочитается, а то можно еще и не все спасти
"лечить" емедженси базу... я завидую вашей вере в движок MS SQL!
9 июн 09, 14:57    [7281263]     Ответить | Цитировать Сообщить модератору
 Re: REPAIR_ALLOW_DATA_LOSS  [new]
Winnipuh
Member [заблокирован]

Откуда: Київ
Сообщений: 10428
Glory
Winnipuh
база ушла в suspect mode из-за сбоя на диске.
Скопировал файлы, пробую восстановить на sql 2005.


А где тогда файл "c:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\data\dbexpress.ldf" ?


я остановил сервер, на котором был сбой, скопировал файлы mdf, ldf на другой сервер и пытаюсь
восстановить базу.

Это путь на старом сервере к лдф файлу. Я расположил файлы у себя на диcке d:\backup.
Да, в пропертях базы видно, что mdf нормально выглядит, а вот лдф - в группе написано:
Not Applicable
9 июн 09, 15:02    [7281310]     Ответить | Цитировать Сообщить модератору
 Re: REPAIR_ALLOW_DATA_LOSS  [new]
Winnipuh
Member [заблокирован]

Откуда: Київ
Сообщений: 10428
Crimean
имхо када база читается только в емедженси ее чинить уже невозможно
надо брать последний живой бакап за основу и разницу трансферить / лить скриптами
и спасибо если все из емедженси базы прочитается, а то можно еще и не все спасти
"лечить" емедженси базу... я завидую вашей вере в движок MS SQL!


Бекапов у юзера нет.

если бы я не видел данных, то может быть и бросил бы уже, а так ....
9 июн 09, 15:03    [7281317]     Ответить | Цитировать Сообщить модератору
 Re: REPAIR_ALLOW_DATA_LOSS  [new]
Glory
Member

Откуда:
Сообщений: 104760
Winnipuh
Glory
Winnipuh
база ушла в suspect mode из-за сбоя на диске.
Скопировал файлы, пробую восстановить на sql 2005.


А где тогда файл "c:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\data\dbexpress.ldf" ?


я остановил сервер, на котором был сбой, скопировал файлы mdf, ldf на другой сервер и пытаюсь
восстановить базу.

Это путь на старом сервере к лдф файлу. Я расположил файлы у себя на диcке d:\backup.
Да, в пропертях базы видно, что mdf нормально выглядит, а вот лдф - в группе написано:
Not Applicable

Так и непонятно, как вы присоединили эти скопированные файлы к текущему серверу
9 июн 09, 15:05    [7281344]     Ответить | Цитировать Сообщить модератору
 Re: REPAIR_ALLOW_DATA_LOSS  [new]
Ray D
Member

Откуда: from the middle of nowhere
Сообщений: 3598
Блог
Ну попробуйте положить его по такому же пути на новом сервере.
9 июн 09, 15:07    [7281359]     Ответить | Цитировать Сообщить модератору
 Re: REPAIR_ALLOW_DATA_LOSS  [new]
Winnipuh
Member [заблокирован]

Откуда: Київ
Сообщений: 10428
Glory
Winnipuh
Glory
Winnipuh
база ушла в suspect mode из-за сбоя на диске.
Скопировал файлы, пробую восстановить на sql 2005.


А где тогда файл "c:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\data\dbexpress.ldf" ?


я остановил сервер, на котором был сбой, скопировал файлы mdf, ldf на другой сервер и пытаюсь
восстановить базу.

Это путь на старом сервере к лдф файлу. Я расположил файлы у себя на диcке d:\backup.
Да, в пропертях базы видно, что mdf нормально выглядит, а вот лдф - в группе написано:
Not Applicable

Так и непонятно, как вы присоединили эти скопированные файлы к текущему серверу


Просто так не аттачились файлы.

Создал базу с таким же именем, перезаписал mdf, стартонул сервер, он выдал ошибку, но база осталась в списке активных, потом

use master 
go 
sp_configure 'allow updates', 1 
reconfigure with override 
go
alter database dbexpress set EMERGENCY
go
DBCC CHECKDB('dbexpress', REPAIR_ALLOW_DATA_LOSS )
9 июн 09, 16:18    [7281881]     Ответить | Цитировать Сообщить модератору
 Re: REPAIR_ALLOW_DATA_LOSS  [new]
Crimean
Member

Откуда:
Сообщений: 13148
имхо перелить в новую базу и закрыть вопрос.. давно бы сделали уже за это время :)
9 июн 09, 16:20    [7281898]     Ответить | Цитировать Сообщить модератору
 Re: REPAIR_ALLOW_DATA_LOSS  [new]
Winnipuh
Member [заблокирован]

Откуда: Київ
Сообщений: 10428
Crimean
имхо перелить в новую базу и закрыть вопрос.. давно бы сделали уже за это время :)


торжественно клянусь закрыть эту тему

как быстро это сделать?
9 июн 09, 16:21    [7281904]     Ответить | Цитировать Сообщить модератору
 Re: REPAIR_ALLOW_DATA_LOSS  [new]
Winnipuh
Member [заблокирован]

Откуда: Київ
Сообщений: 10428
Winnipuh
Crimean
имхо перелить в новую базу и закрыть вопрос.. давно бы сделали уже за это время :)


торжественно клянусь закрыть эту тему

как быстро это сделать?


я имел в виду перелить базу
9 июн 09, 16:24    [7281931]     Ответить | Цитировать Сообщить модератору
 Re: REPAIR_ALLOW_DATA_LOSS  [new]
Crimean
Member

Откуда:
Сообщений: 13148
Winnipuh
Winnipuh
Crimean
имхо перелить в новую базу и закрыть вопрос.. давно бы сделали уже за это время :)


торжественно клянусь закрыть эту тему

как быстро это сделать?


я имел в виду перелить базу


ээ .. я п руками уже сделал, честно.. если мало данных select into. если много - чуть напрячься и bcp out bcp in. таблицы и объекты скриптануть или XDBS (если его возможностей хватит) или еще кака утиль или хоть снапшот сделай репликацией если пустит.. :)
9 июн 09, 17:36    [7282431]     Ответить | Цитировать Сообщить модератору
 Re: REPAIR_ALLOW_DATA_LOSS  [new]
Winnipuh
Member [заблокирован]

Откуда: Київ
Сообщений: 10428
Crimean
Winnipuh
Winnipuh
Crimean
имхо перелить в новую базу и закрыть вопрос.. давно бы сделали уже за это время :)


торжественно клянусь закрыть эту тему

как быстро это сделать?


я имел в виду перелить базу


ээ .. я п руками уже сделал, честно.. если мало данных select into. если много - чуть напрячься и bcp out bcp in. таблицы и объекты скриптануть или XDBS (если его возможностей хватит) или еще кака утиль или хоть снапшот сделай репликацией если пустит.. :)


если пустит.... попробовал Database Copy wizard - отбивается от баз в состоянии emergency
9 июн 09, 18:01    [7282623]     Ответить | Цитировать Сообщить модератору
 Re: REPAIR_ALLOW_DATA_LOSS  [new]
Winnipuh
Member [заблокирован]

Откуда: Київ
Сообщений: 10428
попробовал сделать Shrink Log файлу, не хочет, но показывает:

currently allocated: 24 mb
available free space: -101,51 MB (-422%)

9 июн 09, 18:03    [7282644]     Ответить | Цитировать Сообщить модератору
 Re: REPAIR_ALLOW_DATA_LOSS  [new]
Crimean
Member

Откуда:
Сообщений: 13148
блииин.. какой шринк.. шо за самодеятельность.. таблиц много? объектов? десятки / сотни / тыщи? продвинутых фич много? типа схемабайндных представлений / функций или схем секционирования?
или это в "работу" уже?
9 июн 09, 20:07    [7283090]     Ответить | Цитировать Сообщить модератору
 Re: REPAIR_ALLOW_DATA_LOSS  [new]
Winnipuh
Member [заблокирован]

Откуда: Київ
Сообщений: 10428
Crimean
блииин.. какой шринк.. шо за самодеятельность.. таблиц много? объектов? десятки / сотни / тыщи? продвинутых фич много? типа схемабайндных представлений / функций или схем секционирования?
или это в "работу" уже?


чисто попробовал
Делаю эксперименты пока есть возможность.

грубо говоря 70 таблиц, 100 вью, 120 процедур, 30 триггеров. Размер базы 150 мб.

Дата экспортом возможно удастся, он не отбивается от емерженси базы, но зато
в нем другая "фича" - не умеет копировать таблицы, в которых есть поля sql_variant...
Плюс к тому же - придется все таблицы с идентити руками копировать, чтобы сохранились
значения...
10 июн 09, 10:57    [7284402]     Ответить | Цитировать Сообщить модератору
Между сообщениями интервал более 1 года.
 Re: REPAIR_ALLOW_DATA_LOSS  [new]
Jasonclark03
Member [скрыт] [заблокирован]

Откуда:
Сообщений: 17
Я знаю, что поток слишком старый, но я хотел бы поделиться полезным решением https://alessandroalpi.blog/2017/09/12/best-solutions-to-repair-suspect-database-in-ms-sql-server
18 апр 18, 12:07    [21348233]     Ответить | Цитировать Сообщить модератору
 Re: REPAIR_ALLOW_DATA_LOSS  [new]
aleksrov
Member

Откуда:
Сообщений: 948
Jasonclark03,

Уже обсысывали сто раз, хотите неконсистентную базу, делайте.
Самое разумное это восстановиться из Backup'a (конечно это зависит от того что сломалось, мож просто сделать Rebuild Index'a и все будет хорошо)
Мне стыдно признаться, но я один раз такое сделал (тогда работал с SQL ровно три дня, даж не знал что такое лог и т.д., в панике сделал первое что попалось в инете под руку, правда там о последствиях говорилось, но руководство одобрило), бекап был старый, прошло уже года четыре, косяки до сих пор вылазиют. Из последнего не встало обновление программы, так как при нем идет проверка на существование определенных данных и связей между ними (без constraint'ов), пришлось оооооооооооочень долго выяснять что мы тогда потеряли, нашли ту строку из-за которой была ошибка, вставили грубо говоря заглушку, что еще вылезет фиг знает.
18 апр 18, 12:21    [21348308]     Ответить | Цитировать Сообщить модератору
 Re: REPAIR_ALLOW_DATA_LOSS  [new]
Andy_OLAP
Member

Откуда: я знаю, что Хапоэль Беэр-Шева - чемпион
Сообщений: 3151
aleksrov
не встало обновление программы, так как при нем идет проверка на существование определенных данных и связей между ними (без constraint'ов), пришлось оооооооооооочень долго выяснять что мы тогда потеряли, нашли ту строку из-за которой была ошибка, вставили грубо говоря заглушку, что еще вылезет фиг знает.

Да, базы MSSQL ломаются не хуже Pervasive PSQL, только их хотя бы в HEX редакторе можно попробовать починить.
18 апр 18, 12:49    [21348425]     Ответить | Цитировать Сообщить модератору
 Re: REPAIR_ALLOW_DATA_LOSS  [new]
aleksrov
Member

Откуда:
Сообщений: 948
Andy_OLAP,

Еще худшее решение чем Repair_Allow_Data_Loss
18 апр 18, 12:57    [21348463]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить