Переустановил Windows на моем блоке разработки, забыл сделать резервную копию любой из моих баз данных в процессе работы в SQL Server Express 2008? Могу ли я восстановить что-нибудь?
Переустановил Windows на моем блоке разработки, забыл сделать резервную копию любой из моих баз данных в процессе работы в SQL Server Express 2008? Могу ли я восстановить что-нибудь?
У меня все еще есть файлы из старой установки. Куда я смотрю?
2 ответа
Спасибо Hmallett, что указал мне в правильном направлении.
Я использовал это, чтобы восстановить мои файлы. Нашел их в C:\Program Files\Microsoft SQL Server\MSSQLEXPRESS\DATA. Восстановил мои базы данных на внешний USB-диск FAT32 (чтобы удалить разрешения).
Затем я открыл SQL Server Management Studio и использовал это, чтобы прикрепить его:EXEC sp_attach_db @dbname = N'pickyournewdatabasename',
@filename1 = N'F:\TheFolderWhereYouHaveTheRecoveredDB\olddatabasename.mdf'
@filename2 = N'F:\TheFolderWhereYouHaveTheRecoveredDB\olddatabasename_log.ldf'
Я пропустил добавление файла журнала ldf, и он сгенерировал новый. Вы можете добавить его, если хотите. После этого шага все работает, теперь вы должны использовать обычные опции резервного копирования и восстановления.
PS. Убедитесь, что вы установили ту же версию SQL Server, что и старая. Если вы получаете 661 665 ошибку. Перейдите сюда: Ошибка версии SQL Server. У меня была установлена R2 и на веб-платформе установлена R1 (ошибка).
Файлы, которые вы ищете, - это файлы.ldf и.mdf.
По умолчанию, если ваша база данных называется foobar, у вас будет файл foobar.mdf и файл foobar_log.ldf.
Вы можете скопировать их в новую установку и использовать sp_attach_db из управления SQL для повторного присоединения файлов. sp_attach_db устарел в SQL 2005, но я считаю, что он все еще работает в SQL 2008.