Собственно сам бэкап базы данных Trade1
BACKUP DATABASE Trade1
TO DISK = '\\sqlsrv\Backup\201507140039.Bak';
GO
Проверка бэкапа:
restore verifyonly DATABASE Trade1
FROM DISK = '\\main\Backup\201507140039.Bak';
GO
Восстановление:
restore DATABASE Trade1
FROM DISK = 'e:\Backup\201507140039.Bak';
GO
или так, если восстановить нужно в другое место:
restore DATABASE Trade1
FROM DISK = 'e:\Backup\201507140039.Bak'
WITH RECOVERY,
MOVE 'Trade1' TO 'e:\SQLBase\Trade1\Trade1.mdf',
MOVE 'Trade1_log' TO 'e:\SQLBase\Trade1\Trade1_log.ldf'
GO
Но как обычно есть, блядь, грабли. Если MSSQL сервер запущен под пользователем "NT Service\MSSQLSERVER", то это естественно не работает.
Вышел из положения так:
- Создал на машине, на которую делал бэкап, пользователя SQLGlobalUser с правами только на папку куда производится бэкап;
- На машине на которой крутится SQL сервер создал такого же пользователя и внес его группу администраторов;
- Службу SQL сервера запускаю от имени этого пользователя;
- Пароли и пользователя SQLGlobalUser одинаковые на двух машинах.
После перезагрузки службы SQL сервера все заработало.
Лучший поставщик комплектующих
Комментариев нет:
Отправить комментарий