Це мій перший пост DBA.SE, тому, будь ласка, повідомте мене про будь-які помилки, дякую!
Я новий DBA (не ІТ-професіонал, просто ніхто інший в компанії цього не робить), тому чим основніше пояснення, тим краще. Я читав про стратегії резервного копіювання бази даних (або, як я навчився їх називати, "стратегії відновлення"). Я розумію, що роблять резервні копії повного, диференціального та транзакційного журналу, але я хочу знати, чому диференціальне резервне копіювання може базуватися лише на останніх повних резервних копіях.
Якщо диференціальне резервне копіювання - це все, що змінилося з моменту останнього повного резервного копіювання, то чому я не можу базуватись на диференціальній резервній копії мого вибору? Для того, щоб бути більш зрозумілим, я прошу вказати базу під час прийняття резервної копії , а не під час відновлення. Я припускаю, що під час відновлення ви б обрали правильну базу та відповідний диференціал, щоб виконати відновлення (не використовуючи диференціала, виготовленого з бази Б для відновлення з бази А).
Яка причина, яка заважає цій функціональності бути можливою? Я вважаю, що повинна бути причина, я просто не знаю, що це.
Примітка. Я розумію, що основу не можна вказати, але моє питання: чому ні ? (Мені також не цікаво обговорювати питання "нащо б ти?")
Аналогія
Ось аналогія того, як я розумію диференціальне резервне копіювання:
У мене є файл Excel з деякими даними в клітинках.
У перший день я роблю копію цього файлу і зберігаю його десь в іншому місці ("повна резервна копія").
2-го дня я переглядаю файл і порівнюю його з резервною копією, яку я зробив в 1-й день, і відзначаю всі комірки, які змінилися, і які їх нові значення ("диференційна резервна копія"). Я не відзначаю кожну зміну, внесену до комірки, лише те, яке її кінцеве значення. Якщо клітинка А1 починалася як "Альфред", змінюється на "Бетті", "Чарлі", то "Дейв", я зазначу лише, що "А1 зараз Дейв".
На 3 день я знову порівнюю поточний файл із файлом резервної копії та відмічаю зміни (інша "диференціальна резервна копія" з тією ж базою, що й день 2). Знову ж таки, відзначаючи лише кінцеві значення на осередок у спостережуваний час, а не всі значення, які осередок був протягом дня.
4-го дня я знову порівнюю і знову зазначу зміни. Продовжуючи клітинку А1, тепер вона говорить "Сара", навіть якщо це було 10 інших імен протягом дня, і все, що я зазначаю, - "Зараз А1 - Сара".
5-го дня мій файл зіпсується; Отже, я дивлюся на резервну копію, яку я зробив 1-го дня, потім остаточні стани відзначали 4-го дня, і я застосовую зміни, відмічені до резервної копії, і тепер у мене файл "відновлений", як це було в 4-й день Отже, я дивлюсь на резервну копію, зроблену в 1-й день, бачу, що 4-го дня клітинка А1 закінчилася як "Сара", і я змінюю комірку резервної копії А1 на "Сару".
Чому це було б важливо, якщо я зробив ще одну резервну копію ("повну") файлу на 2 день? Чому б все-таки не вдалося порівняти (прочитати, "взяти диференціальне резервне копіювання") файлу на 3 або 4 день з копією, зробленою в перший день? Як я це розумію, SQL Server вимагає від мене порівняння (коли знімається інша диференціальна резервна копія) з повною резервною копією, зробленою на 2 день (якщо така була зроблена) - іншого варіанту немає.
COPY_ONLY
- Якщо ОП повинна була взяти звичайну повну резервну копію в перший день, аCOPY_ONLY
повну резервну копію - на 2 день, то які проблеми будуть викликані застосуванням пізнішого диференціалу від тієї самої бази до дня 2 резервного копіювання?