восстановить sql базу после удаления лог файла ldf
Выполнено
15 |
0
14 августа 2019 в 22:08:53
(5 лет 14 недель 3 дня 9 часов назад)
3200
22.03.2019 15:38:56
Текст задания
win server 2008R2 MSSQL 2008 1C 8.3 УТ 11.1
на форумах пишут как восстановить но нет времени разбираться)
вот например
Отключаем нашу нерабочую базу данных из ms sql server (в Managment Studio). Мне потребовалось сначала перевести ее в монопольный режим, а потом уже отключить. В некоторых случаях может потребоваться перезагрузка службы sql.
Переименовываем файл данных db_name.mdf в ___db_name.mdf и db_name.ldf в ___db_name.ldf (на Ваш вкус, главное — не перепутать ничего)
Запускаем сервер БД (если был отключен). В Managment Studio создаем базу данных с таким же именем(например, db_name.mdf), как была, в том же месте, где и была.
Останавливаем сервер БД.
Подменяем файл новой базы нашим переименованным файлом. Переименовываем его обратно.
Стартуем сервер SQL.
Выполняем:
go
sp_configure ‘allow updates’, 1
reconfigure with override
go
Выполняем:
alter database [db_name] set EMERGENCY, SINGLE_USER
Выполняем:
dbcc checkdb(‘db_name’, REPAIR_ALLOW_DATA_LOSS ) . Если база большая, то выполнение этой команды может занять несколько минут (или десятков минут). Я выполнял эту команду два раза. В первый раз были ошибки, связанные с несоответствием файла журнала транзакций(ldf) файлу БД(mdf). Во втором все прошло без ошибок — следовательно, база восстановилась.
Перезапускаем SQL сервер
Выполняем:
alter database [db_name] set ONLINE, MULTI_USER
Выполняем:
Use master
go
sp_configure ‘allow updates’, 0
go
Перезапускаем SQL сервер (на всякий случай, хотя и не обязательно)