Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
29.01.2020, 17:56
|
|||
---|---|---|---|
Обновление тестовой базы данных |
|||
#18+
Привет, сам не местный, всю жизнь с Oracle, но с некоторых пор появился и SQL Server. Есть задача обновления тестовой БД с продуктивной на конкретное время. Резервное копирование на продуктивной выполняется по следущему расписанию: 1. Full - воскресенье вечер 2. Differential - каждый вечер, кроме воскресенья 3. Logs - каждые 15 минут (TRN файлы) Для примера возьмём сегодня, 14:00 как время, на которое должно быть обновлена тестовая БД. В целом есть понимание, что надо восстановить ближайший Full, потом Differential понедельника и вторника, а потом уже все необходимые логи. Нет понимания по двум вопросам: 1. Как востанавливать Differential бэкапы - какие команды? Для восстановления FULL использовалась такая команда: Код: sql 1. 2. 3. 4. 5. 6. 7.
Соответственно, в папке \\BACKUPS\PRODUCTION\PROD\DIFF\ лежит несколько файлов Differential бэкапов. 2. Как правильно востанавливать логи. Точнее как программно (запрос или какая-нибудь команда) узнать при восстановлении какого лога надо будет использовать WITH NORECOVERY, STOPAT = 'Jan 29, 2020 2:00 PM' . Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
29.01.2020, 18:20
|
|||
---|---|---|---|
Обновление тестовой базы данных |
|||
#18+
Chitago В целом есть понимание, что надо восстановить ближайший Full, потом Differential понедельника и вторника, а потом уже все необходимые логи. Неверное понимание. Diff всегда делается относительно последнего FULL, а значит восстанавливать два Diff-а не нужно (да и не получится). Цепочка полного восстановления такая FULL - DIFF (его может и не быть) - Log[N]...Log[N+M] Chitago Соответственно, в папке \\BACKUPS\PRODUCTION\PROD\DIFF\ лежит несколько файлов Differential бэкапов. 2. Как правильно востанавливать логи. Точнее как программно (запрос или какая-нибудь команда) узнать при восстановлении какого лога надо будет использовать WITH NORECOVERY, STOPAT = 'Jan 29, 2020 2:00 PM' . Спасибо. Если нужно генерить программно, то анализируйте инфу, полученную через RESTORE HEADERONLY по каждому файлу бекапа (full/diff/log) Если достаточно ручного, то при restore через SSMS можно выбирать все файлы, указать на какой момент времени восстановить данные, и он (SSMS) сам сгенерить правильный скрипт ... |
|||
:
Нравится:
Не нравится:
|
|||
|
29.01.2020, 18:22
|
|||
---|---|---|---|
Обновление тестовой базы данных |
|||
#18+
Chitago, Здесь полно примеров https://docs.microsoft.com/en-us/sql/t-sql/statements/restore-statements-transact-sql?view=sql-server-ver15#restoring_full_n_differential_db_backups ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=46&mobile=1&tid=1686584]: |
0ms |
get settings: |
11ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
37ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 143ms |
0 / 0 |