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

Откуда:
Сообщений: 19
Подскажите!
Делается полный бэкап базы. Затем делаются ежедневно разностные (пусть в хронологическом возрастающем порядке - 1,2,3 и тд)
Если я восстанавливаю полный бэкап, затем разностный 2 это равносильно тому, что восстанавливаю полный, потом 1, потом 2?
Во втором случае данные будут корректны?
15 сен 15, 14:44    [18151498]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление базы  [new]
Glory
Member

Откуда:
Сообщений: 104751
Success333
Если я восстанавливаю полный бэкап, затем разностный 2 это равносильно тому, что восстанавливаю полный, потом 1, потом 2?

Разностный бэкап - это изменения с момента последнего полного бэкапа. А не любого полного бэкапа

Success333
Во втором случае данные будут корректны?

Что для вас есть "корректные данные" ?
15 сен 15, 14:47    [18151510]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление базы  [new]
o-o
Guest
Success333,
разностный бэкап собирает изменившиеся со времен полного бэкапа страницы.
ваша ситуация:
(1) изменили страницы 1,2,3, сделали дифф1 (он собрал изменения 1,2,3)
(2) изменили еще 4,5,6, сделали дифф2 (он собрал изменения 1,2,3,4,5,6)

при восстановлении полный -- дифф2 получите состояние (2)
при восстановлении полный -- дифф1 -- дифф2 получите снова состояние (2)

в первом случае напишет (после восстановления дифференциального):
RESTORE DATABASE successfully processed 6 pages
во втором сперва
RESTORE DATABASE successfully processed 3 pages
потом
RESTORE DATABASE successfully processed 6 pages
перезапишете страницы 1,2,3 2 раза, вся разница.
а состояние данных на конец рестора всегда консистентное, т.к. и в дифф тоже идет кусок лога:
незакоммиченное откатится, закоммиченное и не отраженное на захваченных бэкапом страницах -- накатится
15 сен 15, 15:44    [18151817]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление базы  [new]
Success333
Member

Откуда:
Сообщений: 19
o-o
Success333,
разностный бэкап собирает изменившиеся со времен полного бэкапа страницы.
ваша ситуация:
(1) изменили страницы 1,2,3, сделали дифф1 (он собрал изменения 1,2,3)
(2) изменили еще 4,5,6, сделали дифф2 (он собрал изменения 1,2,3,4,5,6)

при восстановлении полный -- дифф2 получите состояние (2)
при восстановлении полный -- дифф1 -- дифф2 получите снова состояние (2)

в первом случае напишет (после восстановления дифференциального):
RESTORE DATABASE successfully processed 6 pages
во втором сперва
RESTORE DATABASE successfully processed 3 pages
потом
RESTORE DATABASE successfully processed 6 pages
перезапишете страницы 1,2,3 2 раза, вся разница.
а состояние данных на конец рестора всегда консистентное, т.к. и в дифф тоже идет кусок лога:
незакоммиченное откатится, закоммиченное и не отраженное на захваченных бэкапом страницах -- накатится


вот именно то что меня интересовало) значит способ восстановления бэкапа с наложением нескольких последовательных разностных бэкапов на полный правильный получается)
просто ставится задача. делаются бэкапы допустим в понедельник - полный, в остальные дни - разностные.
параллельно на резервном сервере в автоматическом режиме идет восстановление с параметром NO RECOVERY таким же образом, в понедельник восстанавливается с наложением данных полный бэкап, затем разностные, которые получается будут частично затирать данные предыдущих разностных.
Затем в случае аварии рабочего сервера, на резервном база восстанавливается в любое время командой
RESTORE DATABASE database_name WITH RECOVERY
и получаем копию рабочей базы с потерей некоторых данных с момента между последним бэкапом и аварией
все верно?
16 сен 15, 06:51    [18154250]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление базы  [new]
o-o
Guest
Так-то верно.
Просто в какой-то момент размер дифференциального может сравняться с размером полного. Тогда невыгодно базу парить в resroring, проще полные восстанавливать с recovery, и база всегда доступна, и на исходном потом достаточно только последний полный восстановить.
Хотя не знаю, может, у вас 999 статичных справочников и всего 1 меняющаяся таблица, тогда наверное диффы небольшие будут
16 сен 15, 07:51    [18154290]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление базы  [new]
Glory
Member

Откуда:
Сообщений: 104751
Success333
Затем в случае аварии рабочего сервера, на резервном база восстанавливается в любое время командой
RESTORE DATABASE database_name WITH RECOVERY
и получаем копию рабочей базы с потерей некоторых данных с момента между последним бэкапом и аварией
все верно?

Только все это уже реализовано
В различных вариантах - log shipping, mirroring, alwayson, cluster
16 сен 15, 07:56    [18154294]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление базы  [new]
o-o
Guest
Может, у них база в simple, тогда почему бы и нет
16 сен 15, 08:26    [18154324]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление базы  [new]
Success333
Member

Откуда:
Сообщений: 19
o-o
Так-то верно.
Просто в какой-то момент размер дифференциального может сравняться с размером полного. Тогда невыгодно базу парить в resroring, проще полные восстанавливать с recovery, и база всегда доступна, и на исходном потом достаточно только последний полный восстановить.
Хотя не знаю, может, у вас 999 статичных справочников и всего 1 меняющаяся таблица, тогда наверное диффы небольшие будут

Нет дифы относительного полного очень маленькие, и за неделю сильно не увеличиваются, а полные очень большие, поэтому наоборот ушли от схемы с ежедневным полным бэкапом на разностные.
Спасибо за разъяснения)
16 сен 15, 08:33    [18154338]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление базы  [new]
Success333
Member

Откуда:
Сообщений: 19
Glory
Success333
Затем в случае аварии рабочего сервера, на резервном база восстанавливается в любое время командой
RESTORE DATABASE database_name WITH RECOVERY
и получаем копию рабочей базы с потерей некоторых данных с момента между последним бэкапом и аварией
все верно?

Только все это уже реализовано
В различных вариантах - log shipping, mirroring, alwayson, cluster

Надо поизучать это)
16 сен 15, 08:34    [18154340]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление базы  [new]
Success333
Member

Откуда:
Сообщений: 19
o-o
Может, у них база в simple, тогда почему бы и нет

Да, база в simple
16 сен 15, 08:35    [18154342]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление базы  [new]
o-o
Guest
Success333
Glory
пропущено...

Только все это уже реализовано
В различных вариантах - log shipping, mirroring, alwayson, cluster

Надо поизучать это)

Поизучайте, это правильно.
Только если редакция Экспресс, не светит ни одно из перечисленного. Еще они не настроятся, если база в simple (там на второй сервер засылается лог или его бэкапы, и за все удовольствие придется платить полным логированием ) ну и кластер с always on хотят виндовый кластер, т. е. не только SQL Server должен быть Enterprise, но и windows server.
Да, пардон, кластеру все равно, какая модель, он инстанс целиком переключает.
16 сен 15, 09:12    [18154433]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление базы  [new]
Success333
Member

Откуда:
Сообщений: 19
Настраиваю доставку журналов, обнаружилось что имена файла базы данных и журнала соответственно имеют имена TYPE_Data.mdf и TYPE_Data.ldf. В настройках можно задать только путь для базы и журнала, где задать имя файла не увидел.
Имена файлов TYPE_Data нельзя изменить?
13 окт 15, 10:20    [18271045]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление базы  [new]
Glory
Member

Откуда:
Сообщений: 104751
Success333
Имена файлов TYPE_Data нельзя изменить?

Для чего ? Logshipping работает без вашего вмешательства в именование файлов
13 окт 15, 10:21    [18271055]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление базы  [new]
Success333
Member

Откуда:
Сообщений: 19
Glory
Success333
Имена файлов TYPE_Data нельзя изменить?

Для чего ? Logshipping работает без вашего вмешательства в именование файлов

ну хотя бы потому что в данной папке будут находиться три базы, у файлов будут одни и то же имена?
Да и вообще хотелось бы аналогичную логическую структуру (с именами файлов) как на первичном сервере.
13 окт 15, 10:31    [18271099]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление базы  [new]
Glory
Member

Откуда:
Сообщений: 104751
Success333
ну хотя бы потому что в данной папке будут находиться три базы, у файлов будут одни и то же имена?

Еще раз - не вмешевайтесь в именование файлов
И не храните базы и их бэкапы в одном каталоге
13 окт 15, 10:45    [18271177]     Ответить | Цитировать Сообщить модератору
 Re: Восстановление базы  [new]
Success333
Member

Откуда:
Сообщений: 19
Немного запутал неточно задал вопрос. Разумеется я не про переименование бэкапов журналов.
Я про настройку вторичного сервера и закладку "Инициализация вторичной базы данных".
Там три варианта
1. сделать бэкап и восстановить на вторичном
2. восстановить из уже имеющегося бэкапа
3. не восстанавливать, база уже инициализирована
Вот если выбрать первый вариант то предлагается указать папки на вторичном сервере для файла базы данных и файла журнала но имя файлам присваивается как писал выше и изменить его нельзя. По крайне мере не нашел как.
Уже подумал что в моем случает если я хочу сделать идентичные имена файлов базы мне надо воспользоваться третьим вариантом, предварительно восстановив из полного бэкапа базу и затем включить логшиппинг.
13 окт 15, 12:09    [18271837]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить