Я використовую SQL Server 2014, і це така ситуація:
- У мене є сервер A і сервер B.
- За ніч ETL обробляється на сервері А.
- Після завантаження завершення процесу, бази даних X отримує резервні копії (з
CHECKSUM
іRESTORE VERIFYONLY
для забезпечення надійності) , а потім відправляють на сервер B. - Сервер B отримує
bak
файл, а потім відновлює там базу даних.
Я хочу використовувати диференціальну стратегію резервного копіювання, щоб:
Повне резервне копіювання робиться лише в суботу,
тобто повне резервне копіювання на сервері A в суботу -> відправка на сервер B -> Відновлення повної резервної копії на сервері BРешту днів буде диференційоване резервне копіювання,
тобто диференціальне резервне копіювання на сервері A -> передача на сервер B -> Відновлення диференціальної резервної копії на сервері B
Я спробував, але у мене з’явилася помилка, сказавши:
журнал або диференціальне резервне копіювання не можна відновити, оскільки жоден файл не готовий до прокрутки.
Не знаю чому. Я перевірив sys.database_files
на сервері A і сервері B, і я бачу, що і differential_Base_LSN
і differential_base_GUID
те саме. Кудись / що-небудь ще перевірити?
До речі, на кроці 2 вище, коли я відновлюю резервну копію diff на сервері B, мені завжди потрібно щоразу відновлювати і повне резервне копіювання + диференціальне резервне копіювання?
Я відновив диференціальне резервне копіювання WITH RECOVERY
(і отримав це повідомлення про помилку), оскільки повне резервне копіювання було відновлено вже напередодні.
Для уточнення: Так, я хочу, щоб db на сервері B читався між різностями. Як я можу обійти це? Я є єдиним варіантом RESTORE FULL (WITH NORECOVERY)
+ RESTORE DIFF (WITH RECOVERY)
комбо послідовність щовечора?
Будь-які вказівки будуть дуже вдячні.