Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / REPAIR_ALLOW_DATA_LOSS / 20 сообщений из 20, страница 1 из 1
09.06.2009, 14:51
    #36033351
Winnipuh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
REPAIR_ALLOW_DATA_LOSS
база ушла в suspect mode из-за сбоя на диске.
Скопировал файлы, пробую восстановить на sql 2005.

Что имеем:


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


Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
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.

что можно сделать еще? данные вот они
...
Рейтинг: 0 / 0
09.06.2009, 14:55
    #36033362
Glory
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
REPAIR_ALLOW_DATA_LOSS
Winnipuhбаза ушла в suspect mode из-за сбоя на диске.
Скопировал файлы, пробую восстановить на sql 2005.


А где тогда файл "c:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\data\dbexpress.ldf" ?
...
Рейтинг: 0 / 0
09.06.2009, 14:57
    #36033378
Crimean
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
REPAIR_ALLOW_DATA_LOSS
имхо када база читается только в емедженси ее чинить уже невозможно
надо брать последний живой бакап за основу и разницу трансферить / лить скриптами
и спасибо если все из емедженси базы прочитается, а то можно еще и не все спасти
"лечить" емедженси базу... я завидую вашей вере в движок MS SQL!
...
Рейтинг: 0 / 0
09.06.2009, 15:02
    #36033401
Winnipuh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
REPAIR_ALLOW_DATA_LOSS
GloryWinnipuhбаза ушла в suspect mode из-за сбоя на диске.
Скопировал файлы, пробую восстановить на sql 2005.


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

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

Это путь на старом сервере к лдф файлу. Я расположил файлы у себя на диcке d:\backup.
Да, в пропертях базы видно, что mdf нормально выглядит, а вот лдф - в группе написано:
Not Applicable
...
Рейтинг: 0 / 0
09.06.2009, 15:03
    #36033405
Winnipuh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
REPAIR_ALLOW_DATA_LOSS
Crimeanимхо када база читается только в емедженси ее чинить уже невозможно
надо брать последний живой бакап за основу и разницу трансферить / лить скриптами
и спасибо если все из емедженси базы прочитается, а то можно еще и не все спасти
"лечить" емедженси базу... я завидую вашей вере в движок MS SQL!

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

если бы я не видел данных, то может быть и бросил бы уже, а так ....
...
Рейтинг: 0 / 0
09.06.2009, 15:05
    #36033417
Glory
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
REPAIR_ALLOW_DATA_LOSS
WinnipuhGloryWinnipuhбаза ушла в suspect mode из-за сбоя на диске.
Скопировал файлы, пробую восстановить на sql 2005.


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

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

Это путь на старом сервере к лдф файлу. Я расположил файлы у себя на диcке d:\backup.
Да, в пропертях базы видно, что mdf нормально выглядит, а вот лдф - в группе написано:
Not Applicable
Так и непонятно, как вы присоединили эти скопированные файлы к текущему серверу
...
Рейтинг: 0 / 0
09.06.2009, 15:07
    #36033423
Ray D
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
REPAIR_ALLOW_DATA_LOSS
Ну попробуйте положить его по такому же пути на новом сервере.
...
Рейтинг: 0 / 0
09.06.2009, 16:18
    #36033678
Winnipuh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
REPAIR_ALLOW_DATA_LOSS
GloryWinnipuhGloryWinnipuhбаза ушла в 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, стартонул сервер, он выдал ошибку, но база осталась в списке активных, потом

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
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 )
...
Рейтинг: 0 / 0
09.06.2009, 16:20
    #36033688
Crimean
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
REPAIR_ALLOW_DATA_LOSS
имхо перелить в новую базу и закрыть вопрос.. давно бы сделали уже за это время :)
...
Рейтинг: 0 / 0
09.06.2009, 16:21
    #36033693
Winnipuh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
REPAIR_ALLOW_DATA_LOSS
Crimeanимхо перелить в новую базу и закрыть вопрос.. давно бы сделали уже за это время :)

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

как быстро это сделать?
...
Рейтинг: 0 / 0
09.06.2009, 16:24
    #36033708
Winnipuh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
REPAIR_ALLOW_DATA_LOSS
WinnipuhCrimeanимхо перелить в новую базу и закрыть вопрос.. давно бы сделали уже за это время :)

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

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

я имел в виду перелить базу
...
Рейтинг: 0 / 0
09.06.2009, 17:36
    #36033945
Crimean
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
REPAIR_ALLOW_DATA_LOSS
WinnipuhWinnipuhCrimeanимхо перелить в новую базу и закрыть вопрос.. давно бы сделали уже за это время :)

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

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

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

ээ .. я п руками уже сделал, честно.. если мало данных select into. если много - чуть напрячься и bcp out bcp in. таблицы и объекты скриптануть или XDBS (если его возможностей хватит) или еще кака утиль или хоть снапшот сделай репликацией если пустит.. :)
...
Рейтинг: 0 / 0
09.06.2009, 18:01
    #36034026
Winnipuh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
REPAIR_ALLOW_DATA_LOSS
CrimeanWinnipuhWinnipuhCrimeanимхо перелить в новую базу и закрыть вопрос.. давно бы сделали уже за это время :)

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

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

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

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

если пустит.... попробовал Database Copy wizard - отбивается от баз в состоянии emergency
...
Рейтинг: 0 / 0
09.06.2009, 18:03
    #36034035
Winnipuh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
REPAIR_ALLOW_DATA_LOSS
попробовал сделать Shrink Log файлу, не хочет, но показывает:

Код: plaintext
1.
currently allocated:  24  mb
available free space: - 101 , 51  MB (- 422 %)
...
Рейтинг: 0 / 0
09.06.2009, 20:07
    #36034229
Crimean
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
REPAIR_ALLOW_DATA_LOSS
блииин.. какой шринк.. шо за самодеятельность.. таблиц много? объектов? десятки / сотни / тыщи? продвинутых фич много? типа схемабайндных представлений / функций или схем секционирования?
или это в "работу" уже?
...
Рейтинг: 0 / 0
10.06.2009, 10:57
    #36034932
Winnipuh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
REPAIR_ALLOW_DATA_LOSS
Crimeanблииин.. какой шринк.. шо за самодеятельность.. таблиц много? объектов? десятки / сотни / тыщи? продвинутых фич много? типа схемабайндных представлений / функций или схем секционирования?
или это в "работу" уже?

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

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

Дата экспортом возможно удастся, он не отбивается от емерженси базы, но зато
в нем другая "фича" - не умеет копировать таблицы, в которых есть поля sql_variant...
Плюс к тому же - придется все таблицы с идентити руками копировать, чтобы сохранились
значения...
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
18.04.2018, 12:07
    #39632345
Jasonclark03
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
REPAIR_ALLOW_DATA_LOSS
Я знаю, что поток слишком старый, но я хотел бы поделиться полезным решением https://alessandroalpi.blog/2017/09/12/best-solutions-to-repair-suspect-database-in-ms-sql-server
...
Рейтинг: 0 / 0
18.04.2018, 12:21
    #39632374
aleksrov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
REPAIR_ALLOW_DATA_LOSS
Jasonclark03,

Уже обсысывали сто раз, хотите неконсистентную базу, делайте.
Самое разумное это восстановиться из Backup'a (конечно это зависит от того что сломалось, мож просто сделать Rebuild Index'a и все будет хорошо)
Мне стыдно признаться, но я один раз такое сделал (тогда работал с SQL ровно три дня, даж не знал что такое лог и т.д., в панике сделал первое что попалось в инете под руку, правда там о последствиях говорилось, но руководство одобрило), бекап был старый, прошло уже года четыре, косяки до сих пор вылазиют. Из последнего не встало обновление программы, так как при нем идет проверка на существование определенных данных и связей между ними (без constraint'ов), пришлось оооооооооооочень долго выяснять что мы тогда потеряли, нашли ту строку из-за которой была ошибка, вставили грубо говоря заглушку, что еще вылезет фиг знает.
...
Рейтинг: 0 / 0
18.04.2018, 12:49
    #39632413
Andy_OLAP
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
REPAIR_ALLOW_DATA_LOSS
aleksrovне встало обновление программы, так как при нем идет проверка на существование определенных данных и связей между ними (без constraint'ов), пришлось оооооооооооочень долго выяснять что мы тогда потеряли, нашли ту строку из-за которой была ошибка, вставили грубо говоря заглушку, что еще вылезет фиг знает.
Да, базы MSSQL ломаются не хуже Pervasive PSQL, только их хотя бы в HEX редакторе можно попробовать починить.
...
Рейтинг: 0 / 0
18.04.2018, 12:57
    #39632424
aleksrov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
REPAIR_ALLOW_DATA_LOSS
Andy_OLAP,

Еще худшее решение чем Repair_Allow_Data_Loss
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / REPAIR_ALLOW_DATA_LOSS / 20 сообщений из 20, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]