Это мой первый пост DBA.SE, поэтому, пожалуйста, сообщите мне о любых ошибках, спасибо!
Я новый администратор (не ИТ-специалист, просто никто другой в компании не занимается этим), поэтому чем более простое объяснение, тем лучше. Я читал о стратегиях резервного копирования базы данных (или, как я научился их называть, «стратегии восстановления»). Я понимаю, что делают полные, разностные и журналы транзакций, но я хочу знать, почему разностное резервное копирование может быть основано только на самом последнем полном резервном копировании.
Если разностная резервная копия - это все, что изменилось со времени последней полной резервной копии, то почему разностная резервная копия не может быть основана на любой резервной копии по моему выбору? Чтобы быть более понятным, я спрашиваю об указании базы при резервном копировании , а не при восстановлении. Я предполагаю, что при восстановлении вы выбрали бы правильную базу и соответствующий дифференциал для выполнения восстановления (не используя дифференциал, изготовленный из базы B, для восстановления из базы A).
Какова причина, которая препятствует тому, чтобы эта функциональность была возможна? Я полагаю, что должна быть причина, я просто не знаю, что это.
Примечание: я понимаю, что база не может быть указана, но мой вопрос, почему нет ? (Я также не заинтересован в обсуждении "почему бы вам?")
аналогия
Вот аналогия с тем, как я понимаю дифференциальную резервную копию:
У меня есть файл Excel с некоторыми данными в ячейках.
В первый день я делаю копию этого файла и сохраняю его где-то еще («полная резервная копия»).
Во второй день я смотрю на файл и сравниваю его с резервной копией, которую я сделал в первый день, и отмечаю все изменившиеся ячейки и их новые значения («дифференциальная резервная копия»). Я не отмечаю каждое изменение, внесенное в ячейку, только то, каково его окончательное значение. Если бы ячейка А1 начиналась как «Альфред», изменилась на «Бетти», «Чарли», затем «Дейв», я бы только отметил, что «А1 теперь Дейв».
На третий день я снова сравниваю текущий файл с файлом резервной копии и отмечаю изменения (еще одна «дифференциальная резервная копия» с той же базой, что и на второй день). Опять же, отмечая только конечные значения для каждой ячейки за наблюдаемое время, а не все значения, которые были для ячейки в течение дня.
На четвертый день я снова сравниваю и снова замечаю изменения. Продолжая с ячейки A1, теперь она говорит «Сара», даже если в течение дня было 10 других имен, и все, что я отмечаю, это «Теперь А1 - Сара».
На 5-й день мой файл испортился; Итак, я смотрю на резервную копию, которую я сделал в 1-й день, затем окончательные состояния, отмеченные на 4-й день, и применяю изменения, отмеченные к резервной копии, и теперь у меня есть файл, "восстановленный", как это было в 4-й день. Итак, я смотрю на резервную копию, сделанную в 1-й день, вижу, что на 4-й день ячейка A1 завершилась как «Сара», и изменяю резервную ячейку А1 на «Сара».
Почему это имеет значение, если я сделал другую резервную копию («полную») файла на второй день? Почему все еще невозможно сравнить (читай, «сделать разностное резервное копирование») файл в день 3 или 4 с копией, сделанной в день 1? Насколько я понимаю, SQL Server потребовал бы, чтобы я сравнил (при создании другой дифференциальной резервной копии) с полной резервной копией, сделанной на второй день (если она была сделана), - другого варианта нет.
COPY_ONLY
Если операционная система должна была выполнять регулярное полное резервное копирование в 1-й день иCOPY_ONLY
полное резервное копирование в 2-й день, то какие проблемы могут быть вызваны применением более позднего дифференциала из той же базы? на второй день бекап?