вторник, 18 октября 2016 г.

MSSQL резервная копия системных баз (базы мастер)

Преподаватель Кирилл Панов

master – требуется резервное копирование , дополнительно рекомендую холодную копию
msdb – требуется резервное копирования ,как и пользовательская база
model - рекомендую холодную копию
tempdb – не требуется резервное копирование

Для быстрого восстановления MSSQL сервера необходимо делать резервные копии системных баз master и model.

Если системная база данных разрушена (отсутствует) запустить MSSQL сервер невозможно.
Поэтому рекомендуется сделать "холодную" копию баз master и model. (master.mdf, mastlog.ldf, model.mdf, modellog.ldf). Делать часто их не нужно, а только после установки сервера, сервиспаков, патчей. Другими словами база должна быть от той версии сервера, на которой восстанавливается.
Регулярный backup баз master и model делается обычным образом.

Восстановление. Копируем на место поврежденных базу master. Убеждаемся что никто не подключится к MSSQL среверу раньше нас, например уже запущенная Management Studio. Запускаем сервер с ключем -m
> cd "C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Binn"
> sqlserv -m 

Как вариант из графики, без командной строки

 

Запускаем cmd с правами администратора
Запускаем sqlcmd с правами администратора
Подключаемся к серверу
C:\Windows\system32>sqlcmd -E
1> RESTORE DATABASE MASTER FROM DISK='D:\db\backup\master.bak' WITH REPLACE;
2> go

После выполнения этой команды MSSQL остановится, надо запустить вручную без параметра -m
Аналогично восстанавливается база model.


Если нет холодной копии master.
(Смотреть документацию) Нужен дистрибутив.
Запустите перестройку системных баз данных
setup.exe /INSTANCENAME=MSSQLSERVER /ACTION=REBUILDDATABASE /SQLSYSADMINACCOUNTS="BUILTIN\ADMINISTRATORS"

  • Недостаток относительно предыдущего метода - Очень долго
  • Можно попробовать взять master с другого сервера (not supported)








Комментариев нет:

Отправить комментарий