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

Откуда:
Сообщений: 23
Есть база, в Enterprise Manager делаю ей полный бакап, восстанавливаю ее на другом сервере - все нормально, дальше делаю differential backup на исходном сервере и пытаюсь его поднять на другом - выходит ошибка-

The precedind restore operation did not specifi WITH NORECOVERY or WITH STANDBY. Restart the restore sequence, specifyng WITH NORECOVERY or WITH STANDBY for all but the final step. RRESTORE DATABASE is terminating abnoma

Помогите , пожалуйста, ссылкой или советом.
4 апр 03, 10:29    [164592]     Ответить | Цитировать Сообщить модератору
 Re: Как правильно поднимать ??? differential backup ???  [new]
SkyN
Guest
Для востоновления differential backup необходимо иметь два backup'а полный и последний differential
посмотри напротив каких backup стоит галка при востоновлении из Enterprise Manager на исходном сервере

но я на самом деле ламер и никогда этим не занимался, но попробуй
4 апр 03, 10:50    [164628]     Ответить | Цитировать Сообщить модератору
 Re: Как правильно поднимать ??? differential backup ???  [new]
KANDed
Member

Откуда: Сибирь-Матушка
Сообщений: 1716
BOLTo restore a differential database backup
Expand a server group, and then expand a server.
Expand Databases, right-click the database, point to All Tasks, and then click Restore Database.
In the Restore as database box, type or select the name of the database to restore, if different from the default.
Click Database.
In the First backup to restore list, click the backup set to restore.
In the Restore list, click the differential backup to restore.
Optionally, click the Options tab, and then do one of the following:
Click Leave database operational. No additional transaction logs can be restored if no further transaction log backups are to be applied.
Click Leave database nonoperational, but able to restore additional transaction logs if another transaction log backup is to be applied.
4 апр 03, 10:50    [164630]     Ответить | Цитировать Сообщить модератору
 Re: Как правильно поднимать ??? differential backup ???  [new]
KANDed
Member

Откуда: Сибирь-Матушка
Сообщений: 1716
How to restore a differential database backup (Transact-SQL)
To restore a differential database backup
Execute the RESTORE DATABASE statement, specifying the NORECOVERY clause, to restore the database backup preceding the differential database backup. For more information, see How to restore a database backup.
Execute the RESTORE DATABASE statement to restore the differential database backup, specifying:
The name of the database to which the differential database backup will be applied.
The backup device where the differential database backup will be restored from.
The NORECOVERY clause if you have transaction log backups to apply after the differential database backup is restored, otherwise specify the RECOVERY clause.

Examples
A. Restoring a database and differential database backup
This example restores a database and differential database backup of the MyNwind database.

-- Assume the database is lost at this point. Now restore the full
-- database. Specify the original full backup and NORECOVERY.
-- NORECOVERY allows subsequent restore operations to proceed.
RESTORE DATABASE MyNwind
FROM MyNwind_1
WITH NORECOVERY
GO
-- Now restore the differential database backup, the second backup on
-- the MyNwind_1 backup device.
RESTORE DATABASE MyNwind
FROM MyNwind_1
WITH FILE = 2,
RECOVERY
GO
4 апр 03, 10:53    [164634]     Ответить | Цитировать Сообщить модератору
 Re: Как правильно поднимать ??? differential backup ???  [new]
doubting
Member

Откуда:
Сообщений: 23
СПАСИБО - РАЗОБРАЛСЯ
7 апр 03, 09:29    [166078]     Ответить | Цитировать Сообщить модератору
Между сообщениями интервал более 1 года.
 Re: Как правильно поднимать ??? differential backup ???  [new]
нуб987
Guest
т.е. нужно сначала восстановить полный бекап с NORECOVERY, а затем накатить диф.бекап.

А что если база УЖЕ восстановлена и сейчас требуется накатить диф? Правильно я понимаю, что в таком случае у СКЛя нет гарантий, что база не была изменена, и поэтому он запрещает запускать диф?
27 мар 17, 13:47    [20336894]     Ответить | Цитировать Сообщить модератору
 Re: Как правильно поднимать ??? differential backup ???  [new]
aleksrov
Member

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

Вы ерунду пишете. Как на рабочую база можно накатить Diff Backup?!
К примеру вы восстановили из полного с recovery, а потом через час такой, ой! блин! надо ж еще Diff, а диф это разница изменений которые произошли с момента полного Backup, и к примеру данные которые в Diff были изменены у вас за этот час уже удалены или вы за час успели изменить данные которых на момент восстановления вообще не должно быть и много чего еще... о каких принципах ACID можно тогда говорить?
Я думаю технически такое реализовать можно, но инженерам Microsoft надо будет потратить кучу времени чтобы дать криворуким админам еще одну возможность стрельнуть себе в ногу, поэтому такой функции нет.
27 мар 17, 13:54    [20336923]     Ответить | Цитировать Сообщить модератору
 Re: Как правильно поднимать ??? differential backup ???  [new]
нуб987
Guest
aleksrov
К примеру вы восстановили из полного с recovery, а потом через час такой, ой! блин! надо ж еще Diff, а диф это разница изменений которые произошли с момента полного Backup, и к примеру данные которые в Diff были изменены у вас за этот час уже удалены или вы за час успели изменить данные которых на момент восстановления вообще не должно быть и много чего еще...

да, именно об этом я и писал.

А нет ли возможности подсунуть серверу бекап для быстрого сравнения (по контрольной сумме, например). И, если он увидит, что изменений с последнего бекапа нет, тогда бы он разрешил накатить диф.
27 мар 17, 14:05    [20336977]     Ответить | Цитировать Сообщить модератору
 Re: Как правильно поднимать ??? differential backup ???  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31957
нуб987
А нет ли возможности подсунуть серверу бекап для быстрого сравнения (по контрольной сумме, например). И, если он увидит, что изменений с последнего бекапа нет, тогда бы он разрешил накатить диф.
Такого нет. Видимо, считается маловероятным, что ни одного сектора файла данных не было изменено при работе.
27 мар 17, 15:01    [20337285]     Ответить | Цитировать Сообщить модератору
 Re: Как правильно поднимать ??? differential backup ???  [new]
правильный проходящий.
Guest
нуб987
А нет ли возможности подсунуть серверу бекап для быстрого сравнения (по контрольной сумме, например).
Как думаете, сколько времени может длиться подсчет контрольной суммы для, например, 10-терабайтной базы?
27 мар 17, 15:13    [20337336]     Ответить | Цитировать Сообщить модератору
 Re: Как правильно поднимать ??? differential backup ???  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
Ну, чисто теоретически, можно забэкапить log tail с переводом базы в norecovery, но маловероятно, что после этого dif-бэкап захочет ресториться на эту базу.
27 мар 17, 15:14    [20337343]     Ответить | Цитировать Сообщить модератору
 Re: Как правильно поднимать ??? differential backup ???  [new]
o-o
Guest
Гавриленко Сергей Алексеевич
Ну, чисто теоретически, можно забэкапить log tail с переводом базы в norecovery, но маловероятно, что после этого dif-бэкап захочет ресториться на эту базу.

нет, отказывается.
выдает вот такое:
автор
Msg 4330, Level 16, State 3, Line 1
This backup set cannot be applied because it is on a recovery path that is inconsistent with the database.
The recovery path is the sequence of data and log backups that have brought the database to a particular recovery point.
Find a compatible backup to restore, or restore the rest of the database to match a recovery point within this backup set,
which will restore the database to a different point in time. For more information about recovery paths, see SQL Server Books Online.
Msg 3013, Level 16, State 1, Line 1
RESTORE DATABASE is terminating abnormally.

т.е. его не столько интересует, могут сейчас юзеры вносить изменения или нет,
сколько нынешний recovery path
27 мар 17, 16:45    [20337846]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить