26.04.2016 01:39
ggorkaia
 
Дорогие мои спасите плиз, уже не знаю куда писать, дело в том, что мой сервер SQL 2005 недавно сломался и с тех пор не может делать резервные копии журналов для основной критической БД.
Сама ошибка появилась вот такая: обнаружено повреждение в журнале базы данных. Проверьте журнал ошибок для получения дополнительной информации. BACKUP LOG аварийное завершение ". Если честно даже не знаю, что я могла сделать не так, но одно знаю точно, что мне крышка от начальства если в ближайшее время все не налажу. Ошибка 3041
Как я могу исправить это?
26.04.2016 07:27
OlegON
 
Так в журнале ошибок-то что?
26.04.2016 07:44
bob
 
Ну если лог стандартно один, то самое простое.
Делаешь Detach базы, делаешь полную копию базы на всякий случай (копирование файлов) удаляешь ручками файл лога, делаешь attach базы. Файл лога минимального размера создастся автоматически. Ну и проверка жесткого диска, конечно.
26.04.2016 11:52
vitamin
 
Можно попробовать без Detach. После отсоединения обратно уже можно и не присоединить( Есть несколько вариантов действий:
1 без остановки SQL Server
прогнать скрипт
ALTER DATABASE ИмяБазы SET SINGLE_USER WITH ROLLBACK IMMEDIATE, Emergency
DBCC CheckDB (’ ИмяБазы’, REPAIR_ALLOW_DATA_LOSS)
ALTER DATABASE ИмяБазы SET MULTI_USER, ONLINE

в результате DBCC перестроит лог

2 с остановкой SQL
отсоединить базу,сделать бэкап
создать новую с таким же именем
остановить службу SQL Server
переписать из бэкапа файл базы mdf
запустить службу SQL
прогнать скрипт
ALTER DATABASE ИмяБазы SET SINGLE_USER, Emergency
DBCC CheckDB (’ ИмяБазы’, REPAIR_ALLOW_DATA_LOSS)
ALTER DATABASE ИмяБазы SET MULTI_USER, ONLINE

во втором случае у вас есть бэкап на случай "если что".
26.04.2016 12:08
bob
 
Цитата:
vitamin Можно попробовать без Detach. После отсоединения обратно уже можно и не присоединить( Есть несколько вариантов действий:
1 без остановки SQL Server
прогнать скрипт
ALTER DATABASE ИмяБазы SET SINGLE_USER WITH ROLLBACK IMMEDIATE, Emergency
DBCC CheckDB (’ ИмяБазы’, REPAIR_ALLOW_DATA_LOSS)
ALTER DATABASE ИмяБазы SET MULTI_USER, ONLINE

в результате DBCC перестроит лог

2 с остановкой SQL
отсоединить базу,сделать бэкап
создать новую с таким же именем
остановить службу SQL Server
переписать из бэкапа файл базы mdf
запустить службу SQL
прогнать скрипт
ALTER DATABASE ИмяБазы SET SINGLE_USER, Emergency
DBCC CheckDB (’ ИмяБазы’, REPAIR_ALLOW_DATA_LOSS)
ALTER DATABASE ИмяБазы SET MULTI_USER, ONLINE

во втором случае у вас есть бэкап на случай "если что".
Мое мнение, если повреждение журнала, то его лучше убить после останова и создать новый. Тем более человек вообще не в теме.
30.04.2016 20:05
letvinov
 
Ты можешь попробовать взять файл OST, который создала через Outlook и просто скопировать его в файл PST, который затем нужно будет установить на другую систему в качестве личной папки. Кажется слишком простой способ, но все же попробуй так. А вообще для этого есть инструмент который мгновенно считывает файл OST и экспортирует в PST файл вроде по описанию подходит для всех операционок и расширений
Часовой пояс GMT +3, время: 18:10.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.