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

Откуда: Ростов-на-Дону
Сообщений: 315
Добрый день,

SQL Server 2000. Windows 2003 Server. База 140 Гб. HP DL380.

Система безопасности данных настроена таким образом, что ежедневно в обед снимается полный бэкап базы, а далее каждые 15 минут снимаются разностные бэкапы.
Каждый день срабатывает джоб, который восстанавливает на резервном сервере в режим Loading полный бэкап и вручную администратор накатывает на него произвольный разностный бэкап. Глазками смотрит чтобы все было хорошо.

Проблема: Боюсь того, что разностный бэкап чисто гипотетически может быть поврежден (а проверка их получается идет только раз в сутки). Т.е. он снялся, но был поврежден и при попытке накатить его на базу в режиме Loading - вызовет ошибку. Как проверить то, что разностный бэкап является корректным? Логи SQL сервера не сильно подходят, т.к. гипотетически разностный бэкап может получить дырку в момент перекачки его на устройство хранения разностных бэкапов.

Я так понимаю что идеальный вариант - это написать скрипт, который делает копию полного бэкапа, восстанавливает его в режим Loading, накатывает на него последний разностный бэкап и если не обнаружено ошибок - удаляет эту базу. И так каждые 15 минут. Но это не реально всвязи с тем, что база достаточно весомая.

Может быть у кого-то есть варианты?

Вообще как бэкапить в другое помещение на резервный сервер базу такого объема, которая работает в круглосуточном режиме? Потеря в данных не должна превышать 15 минут.
7 авг 13, 16:34    [14676902]     Ответить | Цитировать Сообщить модератору
 Re: Как проверить корректность разностного бэкапа  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
Есть единственное средство проверки целостности базы - dbcc checkdb.
7 авг 13, 16:35    [14676916]     Ответить | Цитировать Сообщить модератору
 Re: Как проверить корректность разностного бэкапа  [new]
Glory
Member

Откуда:
Сообщений: 104751
Kaktus_
Я так понимаю что идеальный вариант - это написать скрипт, который делает копию полного бэкапа, восстанавливает его в режим Loading, накатывает на него последний разностный бэкап и если не обнаружено ошибок - удаляет эту базу. И так каждые 15 минут. Но это не реально всвязи с тем, что база достаточно весомая.

А в SQL2000 нет других средств проверки бэкапов. Только через его восстановление

Kaktus_
Вообще как бэкапить в другое помещение на резервный сервер базу такого объема, которая работает в круглосуточном режиме? Потеря в данных не должна превышать 15 минут.

Log shipping/Failover cluster
7 авг 13, 16:43    [14676968]     Ответить | Цитировать Сообщить модератору
 Re: Как проверить корректность разностного бэкапа  [new]
Kaktus_
Member

Откуда: Ростов-на-Дону
Сообщений: 315
Log Shipping - это я так понимаю перевести базу в режим Full Recovery Model и кусками резать лог - как-то это страшновато. Разностные бэкапы мне кажутся более простым и прозрачным средством. Да и как проверять что лог корректен, а не повредился также как разностные бэкапы.
По поводу кластеризации - тоже ситуация неоднозначная. Далеко не от всех возможных сбоев спасает.

Самый классный вариант - это бэкапить разностными бэкапами, проверять их корректность каждые 15 минут, да еще и dbcc checkdb делать каждые 15 минут.
7 авг 13, 16:59    [14677047]     Ответить | Цитировать Сообщить модератору
 Re: Как проверить корректность разностного бэкапа  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
Kaktus_
Log Shipping - это я так понимаю перевести базу в режим Full Recovery Model и кусками резать лог - как-то это страшновато. Разностные бэкапы мне кажутся более простым и прозрачным средством. Да и как проверять что лог корректен, а не повредился также как разностные бэкапы.
По поводу кластеризации - тоже ситуация неоднозначная. Далеко не от всех возможных сбоев спасает.

Самый классный вариант - это бэкапить разностными бэкапами, проверять их корректность каждые 15 минут, да еще и dbcc checkdb делать каждые 15 минут.
Если вы в состоянии раз в 15 минут восстанавливать полный бэкап, потом разностный, а еще потом checkdb делать, то флаг вам в руки.
7 авг 13, 17:02    [14677061]     Ответить | Цитировать Сообщить модератору
 Re: Как проверить корректность разностного бэкапа  [new]
Glory
Member

Откуда:
Сообщений: 104751
Kaktus_
Log Shipping - это я так понимаю перевести базу в режим Full Recovery Model и кусками резать лог - как-то это страшновато.

Тогда может не стоит заниматься администрированием ?

Kaktus_
По поводу кластеризации - тоже ситуация неоднозначная. Далеко не от всех возможных сбоев спасает.

Тогда вообще не стоит ничего делать.
Разве что оформить старховой полис. Потому что только он "спасет от всех возможных сбоев"
7 авг 13, 17:05    [14677083]     Ответить | Цитировать Сообщить модератору
 Re: Как проверить корректность разностного бэкапа  [new]
edyaN
Member

Откуда: Berlin
Сообщений: 185
Kaktus_,

то что вы делаете, это почти то же самое что и Logshipping, только, простите, через задницу. Настройте Logshipping и вы увидите, насколько это более надёжное решение, чем ваше.
Kaktus_
Log Shipping - это я так понимаю перевести базу в режим Full Recovery Model и кусками резать лог - как-то это страшновато.
да, базу надо перевести в Full Recovery, но "кусками резать лог" не надо. Бекапите транслог в новый файл и восстанавливаете его на другом сервере with norecovery. Для более поздних версий настраивается достаточно просто, для 2000 загляните в гугл, наверняка есть описание настойки.
7 авг 13, 17:56    [14677422]     Ответить | Цитировать Сообщить модератору
 Re: Как проверить корректность разностного бэкапа  [new]
Kaktus_
Member

Откуда: Ростов-на-Дону
Сообщений: 315
Дело в том, что Full Recovery достаточно серьезно тормозил систему, когда в последний раз три-четыре года назад я проводил тесты. Это у меня что-то с руками и все с радостью используют это Recovery Model или она действительно рекоммендуется только на мало нагруженных системах?
Моя нагрузка упрощенно - 24 диска SAS15K в RAID10 на трех контроллерах.
В среднем база получает 2 тыс запросов в секунду. Из них тяжелых (3-100 секунд) в среднем 5 в минуту. Легких (0.5 – 2 секунд) порядка 150 в минуту.
8 авг 13, 08:40    [14679103]     Ответить | Цитировать Сообщить модератору
 Re: Как проверить корректность разностного бэкапа  [new]
Kaktus_
Member

Откуда: Ростов-на-Дону
Сообщений: 315
Кстати вот что еще подумалось.
Наверняка есть такие продукты, которые позволяют работают аналогично разностным бэкапам SQL, но на уровне файловой системы.
Т.е. вот например лежит у меня база на четырех логических дисках. Продукт делает полный образ файлов этих дисков (именно файлов дисков, а не дисков целиком). Вот получили мы 140 Гбный образ файлов. Дальше продукт делает разностные копии файлов и хранит их для того, чтобы в случае сбоя можно было бы восстановиться на любую точку. Проблема (возможно нерешаемая) думаю будет только в том, что файлы БД то открыты на запись.
8 авг 13, 09:00    [14679169]     Ответить | Цитировать Сообщить модератору
 Re: Как проверить корректность разностного бэкапа  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31984
Kaktus_
Наверняка есть такие продукты, которые позволяют работают аналогично разностным бэкапам SQL, но на уровне файловой системы.
Т.е. вот например лежит у меня база на четырех логических дисках. Продукт делает полный образ файлов этих дисков (именно файлов дисков, а не дисков целиком). Вот получили мы 140 Гбный образ файлов. Дальше продукт делает разностные копии файлов и хранит их для того, чтобы в случае сбоя можно было бы восстановиться на любую точку. Проблема (возможно нерешаемая) думаю будет только в том, что файлы БД то открыты на запись.
Да, есть, но придётся останавливать базу. Там проблема не в том, что файлы недоступны, а в том, что данные в файлах нецелостные, до сбрасывания кешей, буферов, накатывания из логов файл данных не содержит все данные.
Kaktus_
Дело в том, что Full Recovery достаточно серьезно тормозил систему, когда в последний раз три-четыре года назад я проводил тесты. Это у меня что-то с руками и все с радостью используют это Recovery Model или она действительно рекоммендуется только на мало нагруженных системах?
Full Recovery не создаёт никакой дополнительной нагрузки сам по себе. Работает сиквел всегда одинаково, независимо от модели восстановления.

Тормоза могут быть например из за увлечения шринком лога.

Kaktus_
В среднем база получает 2 тыс запросов в секунду. Из них тяжелых (3-100 секунд) в среднем 5 в минуту. Легких (0.5 – 2 секунд) порядка 150 в минуту.
С цифрами непонятно.

Всего 120000 зпросов в минуту, из них тяжелых 5 в минуту, легких 150 в минуту. А остальные запросы какие?
Kaktus_
Log Shipping - это я так понимаю перевести базу в режим Full Recovery Model и кусками резать лог - как-то это страшновато.
Что страшного??? Log Shipping - это когда на втором сервере восстановили полный бакап, потом на первом постоянно делают бакап лога и восстанавливают на второй, то есть постоянно накатывают изменения данных.
8 авг 13, 09:13    [14679205]     Ответить | Цитировать Сообщить модератору
 Re: Как проверить корректность разностного бэкапа  [new]
Spartakich
Member

Откуда: Riga
Сообщений: 380
Kaktus_,

еще,
полный или дифф бэкап несет нагрузку на CPU , Лог бэкап нет.
Лог бэкап можно делать хоть каждые 5 секунд, на перформанс это не повлияет.
8 авг 13, 09:17    [14679222]     Ответить | Цитировать Сообщить модератору
 Re: Как проверить корректность разностного бэкапа  [new]
Spartakich
Member

Откуда: Riga
Сообщений: 380
+1 к Logshipping
8 авг 13, 09:17    [14679223]     Ответить | Цитировать Сообщить модератору
 Re: Как проверить корректность разностного бэкапа  [new]
HandKot
Member

Откуда: Sergiev Posad
Сообщений: 3058
учитывая только это
Kaktus_
Добрый день,
Проблема: Боюсь того, что разностный бэкап чисто гипотетически может быть поврежден (а проверка их получается идет только раз в сутки). Т.е. он снялся, но был поврежден ... . Как проверить то, что разностный бэкап является корректным? Логи SQL сервера не сильно подходят, т.к. гипотетически разностный бэкап может получить дырку в момент перекачки его на устройство хранения разностных бэкапов.

RESTORE VERIFYONLY 


если это
Kaktus_
Вообще как бэкапить в другое помещение на резервный сервер базу такого объема, которая работает в круглосуточном режиме? Потеря в данных не должна превышать 15 минут.

+1 Logshipping
8 авг 13, 09:24    [14679242]     Ответить | Цитировать Сообщить модератору
 Re: Как проверить корректность разностного бэкапа  [new]
Сергей Викт.
Member

Откуда: Москва
Сообщений: 888
Уважаемый ТС, конечно Log Shipping!!

Вы планируете гонять Diff Backup хз куда. Это ж бред.

Переведите main в full и настройте доставку журналов до нужного вам резервного сервера.

на случай падения сервера, время запуска резервного экземпляра измеряется временем "накатывания" последнего лога на резерв и запуск базы.
8 авг 13, 10:39    [14679643]     Ответить | Цитировать Сообщить модератору
 Re: Как проверить корректность разностного бэкапа  [new]
Kaktus_
Member

Откуда: Ростов-на-Дону
Сообщений: 315
Всем спасибо за советы! Прочитал описание процесса установки и настройки Log Shippinga - картина впринципе вырисовывается понятная.
Пока небольшая засада в том, что сейчас два сервера находятся в разных доменах без доверительных отношений. Но буду думать.
8 авг 13, 14:42    [14681432]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить