Назад | Перейти на главную страницу

Аварийное восстановление MS SQL 2008 R2

Мне нужно восстановить сервер MS SQL 2008 R2. Оригинальный сервер был полностью разрушен, спасать нечего. Тем не менее, есть резервная копия всех данных, плюс системные базы данных, мастер, msdb, модель; .bak файлы.

Я установил новую машину, точно такую ​​же версию sql, 2008R2 SP2, и сначала попытался восстановить master db. Восстановление выполнено успешно, но служба sql не может запуститься с использованием восстановленного мастера. Кажется, что каждый путь на старом разрушенном сервере был индивидуальным: базы данных данных, системные базы данных и даже исполняемые файлы sql.

Есть ли способ выяснить пути, используемые на старом сервере, даже для исполняемых файлов sql?
Я полагаю, мне придется снова удалить-установить sql-сервер, чтобы установить все настраиваемые пути, в случае, если мы найдем настраиваемые пути к исполняемым файлам, это правильно?
Кроме того, для справки в будущем, на сервере MS SQL, есть ли способ экспортировать все эти пути?

Не рекомендуется восстанавливать системные базы данных. Просто восстановите данные, содержащие файлы, и, надеюсь, кто-то был достаточно умен, чтобы сделать их включенными (чтобы они содержали пользователей).

Я выполнил эту процедуру, чтобы выяснить, какие пути использовались на уничтоженном сервере:

Более старая резервная копия состояния системы разрушенного сервера была обнаружена локальным администратором. Поэтому я использовал эту резервную копию, чтобы извлечь реестр и найти исполняемый файл MS SQL и путь к экземпляру. HKEY_LOCAL_MACHINE\Software\Microsoft\MSSQLServer\Setup
HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft SQL Server\MSSQL10.MyInstance

На другом, лабораторном сервере SQL, я создал новую базу данных, а затем импортировал резервную копию masterdb разрушенного сервера.

Используя этот запрос на импортированном старом главном БД, были обнаружены пути к данным старого сервера sql:
SELECT name, physical_name FROM destroyed_master

(изменен этот запрос, который выводит пути к данным на живом сервере sql)
SELECT name, physical_name AS current_file_location FROM sys.master_files

Восстановив пути, я сделал новую чистую установку Windows и SQL, использовал восстановленные пути при установке, а затем мастер был успешно восстановлен. Служба SQL заработала, за ней последовало восстановление данных, и сервер вернулся.