Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 восстановление БД без Filestream  [new]
erleug
Member

Откуда:
Сообщений: 41
Есть База данных с файловой группой FILESTREAM. Нужно забэкапить бд без filestream'a и разбэкапить на другом сервере.

Бэкап делаю:

BACKUP DATABASE [IspolkomPermitProc]
FILEGROUP = 'PRIMARY'
TO DISK = 'D:\BackupSQL\IspolkomPermitProc\IspolkomPermitProc.bak' WITH INIT


На другом серве восстанавливаю:

restore database IspolkomPermitProc from disk = 'C:\BackupSQL\IspolkomPermitProc\IspolkomPermitProc.bak'
with move 'IspolkomPermitProc' to 'C:\BackupSQL\IspolkomPermitProc\IspolkomPermitProc.mdf',
move 'IspolkomPermitProc_log' to 'C:\BackupSQL\IspolkomPermitProc\IspolkomPermitProc_log.ldf',
replace


вылетает ошибка:
Msg 3234, Level 16, State 2, Line 1
Logical file 'IspolkomPermitProc' is not part of database 'IspolkomPermitProc'. Use RESTORE FILELISTONLY to list the logical file names.
Msg 3013, Level 16, State 1, Line 1
RESTORE DATABASE is terminating abnormally.

Пробовал разбэкапить так:

restore FILELISTONLY from disk = 'C:\BackupSQL\IspolkomPermitProc\IspolkomPermitProc.bak'
with move 'IspolkomPermitProc' to 'C:\BackupSQL\IspolkomPermitProc\IspolkomPermitProc.mdf',
move 'IspolkomPermitProc_log' to 'C:\BackupSQL\IspolkomPermitProc\IspolkomPermitProc_log.ldf',
replace


Вылетает другая ошибка:
Msg 3032, Level 16, State 2, Line 1
One or more of the options (replace, move) are not supported for this statement. Review the documentation for supported options.


Подскажите, что делаю не правильно. Я так понимаю, если нужно перенести БД без хранилища FILESTREAM нужно делать бэкам частичный. Вроде как указал при бэкапе только файловою группу PRIMARY. Как правильно теперь разбэкапить ее, подскажите
10 фев 20, 13:36    [22076777]     Ответить | Цитировать Сообщить модератору
 Re: восстановление БД без Filestream  [new]
erleug
Member

Откуда:
Сообщений: 41
Так же сделал бэкап логов:

BACKUP LOG [IspolkomPermitProc] TO DISK = 'D:\BackupSQL\IspolkomPermitProc\Log.bak' WITH NORECOVERY


И так восстанавливать:

RESTORE DATABASE IspolkomPermitProc FILEGROUP='Primary' FROM disk = 'C:\BackupSQL\IspolkomPermitProc\IspolkomPermitProc.bak' 
with move 'IspolkomPermitProc' to 'C:\BackupSQL\IspolkomPermitProc\IspolkomPermitProc.mdf',
move 'IspolkomPermitProc_log' to 'C:\BackupSQL\IspolkomPermitProc\IspolkomPermitProc_log.ldf',
PARTIAL, NORECOVERY  
RESTORE LOG IspolkomPermitProc FROM disk = 'C:\BackupSQL\IspolkomPermitProc\Log.bak'  WITH NORECOVERY 


И вылетает такая ошибка:
Msg 3154, Level 16, State 4, Line 1
The backup set holds a backup of a database other than the existing 'IspolkomPermitProc' database.
Msg 3013, Level 16, State 1, Line 1
RESTORE DATABASE is terminating abnormally.
Msg 3154, Level 16, State 4, Line 5
The backup set holds a backup of a database other than the existing 'IspolkomPermitProc' database.
Msg 3013, Level 16, State 1, Line 5
RESTORE LOG is terminating abnormally.
10 фев 20, 13:53    [22076793]     Ответить | Цитировать Сообщить модератору
 Re: восстановление БД без Filestream  [new]
Yasha123
Member

Откуда:
Сообщений: 1823
erleug

restore FILELISTONLY from disk = 'C:\BackupSQL\IspolkomPermitProc\IspolkomPermitProc.bak'
with move 'IspolkomPermitProc' to 'C:\BackupSQL\IspolkomPermitProc\IspolkomPermitProc.mdf',
move 'IspolkomPermitProc_log' to 'C:\BackupSQL\IspolkomPermitProc\IspolkomPermitProc_log.ldf',
replace


Вылетает другая ошибка:
Msg 3032, Level 16, State 2, Line 1
One or more of the options (replace, move) are not supported for this statement. Review the documentation for supported options.


все же написано в ошибке.
нет у restore FILELISTONLY опций replace, move.
делайте
restore FILELISTONLY from disk = 'C:\BackupSQL\IspolkomPermitProc\IspolkomPermitProc.bak'
10 фев 20, 15:04    [22076858]     Ответить | Цитировать Сообщить модератору
 Re: восстановление БД без Filestream  [new]
erleug
Member

Откуда:
Сообщений: 41
Yasha123,

на другом серве база уже должна быть создана или оно по идее должно создать ее?
10 фев 20, 15:13    [22076862]     Ответить | Цитировать Сообщить модератору
 Re: восстановление БД без Filestream  [new]
Yasha123
Member

Откуда:
Сообщений: 1823
erleug
Yasha123,

на другом серве база уже должна быть создана или оно по идее должно создать ее?

лучше чтобы не было
10 фев 20, 15:15    [22076864]     Ответить | Цитировать Сообщить модератору
 Re: восстановление БД без Filestream  [new]
erleug
Member

Откуда:
Сообщений: 41
Yasha123,

кстати, так когда-то делал. Скрипт отрабатывает, но не пойму куда оно его восстанавливает
результат скрипта приложил в скрине

К сообщению приложен файл. Размер - 136Kb


Сообщение было отредактировано: 10 фев 20, 15:17
10 фев 20, 15:18    [22076867]     Ответить | Цитировать Сообщить модератору
 Re: восстановление БД без Filestream  [new]
Yasha123
Member

Откуда:
Сообщений: 1823
restore FILELISTONLY ничего никуда не складывает.
он перечисляет правильные логические имена файлов, которые надо использовать в команде restore
10 фев 20, 15:27    [22076875]     Ответить | Цитировать Сообщить модератору
 Re: восстановление БД без Filestream  [new]
erleug
Member

Откуда:
Сообщений: 41
Yasha123,

понял, то есть запрос должен быть:

restore DATABASE IspolkomPermitProc from disk = 'C:\BackupSQL\IspolkomPermitProc\IspolkomPermitProc.bak'
with move 'IspolkomPermitProc_Data' to 'C:\BackupSQL\IspolkomPermitProc\IspolkomPermitProc.mdf',
move 'IspolkomPermitProc_Log' to 'C:\BackupSQL\IspolkomPermitProc\IspolkomPermitProc_log.ldf',
replace 



спасибо за помощь!
10 фев 20, 15:44    [22076888]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить