Літній час


9

У моєму середовищі є сервери, які працюють на власних резервних копіях та планах Ola Hallengren. Наші сервери - це комбінація 2008, 2012 та 2014 рр. Усі повні резервні копії робляться о 12 ранку, а резервні копії журналу здійснюються кожні 15 хвилин.

Я ніколи раніше не враховував літній час, тому, будь ласка, скажіть, які коригування я повинен зробити.

Чи вплине повне резервне копіювання 12 ранку і що станеться з резервними копіями журналу?


6
Відверто кажучи, я запустив би свої сервери в UTC.
Аарон Бертран

На жаль, CST на жаль
SqlNovice

1
Звичайно, але якщо бути справедливим, це не жорстко закодовано на материнській платі.
Аарон Бертран

Відповіді:


12

Експерт SQL Server Пол Рандаль розглядає цю саму тему в розділі Як впливає літній час на відновлення після аварій? . Це порівняно короткий пост, тому я цитую його в повному обсязі. Оскільки вас турбували резервні копії журналу транзакцій, я також виділив трохи публікації, щоб звернути це на вашу увагу.

Загальновідомо, що SQL Server правильно справляється з літнім літнім часом (DST), тож навіщо вам турбуватися?

Ну, це не так загальновідомі відомості, що наприкінці DST, коли годинник повертається на годину (завжди о 02:00 в США), SQL агент по суті робить паузу на годину (принаймні SS2000 далі). Це означає, що якщо у вас є робота, яка щось робить кожні 15 хвилин, між виконанням завдання о 01:45 та виконанням роботи о 02:00 буде розрив у 75 хвилин. Це відбувається тому, що о 02:00, час повертається до 01:00, але наступний час виконання всіх завдань залишається тим самим - тому ваша робота не може виконатись до наступного запланованого часу 02:00. Так, у північній півкулі кожної осені, а в південній півкулі кожної весни ви втрачаєте годину вакансій агента SQL. І все-таки, чому ти повинен дбати?

Ну, це залежить від того, які робочі місця затримуються на годину. Якщо у вас є робота, яка займає резервне копіювання журналу кожні 15 хвилин, то в день закінчення DST , між резервними копіями журналу фактично існує розрив у 75 хвилин. Якщо у вас є Угода про рівень обслуговування (SLA), яка обмежує максимальний обсяг втраченої роботи до 15 хвилин у разі катастрофи, то за ці 75 хвилин ви, можливо, не зможете виконати цю угоду про угоду!

Це може бути досить великою справою, особливо, якщо щось піде не так протягом цієї години (не більше чи менш ймовірно, ніж щось піде не так у будь-який інший час, але все-таки можливо). У такому випадку потрібно придумати альтернативне рішення. Я можу придумати кілька способів подолати проблему:

  • Нехай хтось затримається пізно протягом цієї години та зробить резервні копії журналу вручну.
  • Перейдіть до дзеркального відображення бази даних, яке постійно передає журнал на надлишковий сервер, і це не впливає на проблему DST.

Обидва ці рішення є життєздатними рішеннями, але я вважаю, що найкращим є створення завдання SQL Agent, яке запускається о 01:59 і створює додаткові завдання резервного копіювання для запуску о 01:00, 01:15, 01:30 та 01:45. Я не бачу, чому це не може бути можливим. Сьогодні вранці о 10:36 я створив просту роботу агента, щоб надрукувати дату до файлу і призначив її виконати о 09:40 - раніше. Потім я встановив системний час назад на одну годину, і завдання виконано ідеально. Єдиним недоліком цього рішення є те, що вам потрібно створити та запланувати додаткові завдання, використовуючи SP-агенти T-SQL, вбудовані в етапи роботи, для вашої роботи 01:59 - втомлива, але не важка. Можливо, хтось міг би надіслати мені сценарій, і я буду його в блозі як продовження?

Тож, коли DST закінчується 4 листопада, це, безумовно, щось, про що вам слід знати, навіть якщо ви не хочете вирішувати проблеми, що справляються із додатковими годинами витримки. Як осторонь - у цьому році змінилися дати початку та закінчення DST. Стаття KB 931975 розповідає про те, які частини SQL Server не знають про змінені дати та що з цим можна зробити.


Тож я міг бачити потенційну втрату даних протягом 75 хвилин ... Якщо я з цим все в порядку, мені потрібно змінити будь-яку настройку, я можу залишити це так, як є
SqlNovice

Якщо ви все гаразд з можливістю втратити 75 хвилин до чергового регулярного резервного копіювання журналу, то я не думаю, що вам потрібно вносити будь-які зміни.
Скотт Ходгін

Більше того, сервер, про який я переживаю, завжди в групі доступності, тому я здогадуюсь, якщо щось піде не так, я можу переключитися.
SqlNovice

@SqlNovice припускаючи, що ваша група доступності знаходиться на двох серверах, на які не впливає одна і та ж подія, і що всі події вчинили інший екземпляр = Істинно. Ви можете брати більше як належне, що можна припустити. PS-сервери не входять у групи доступності, бази даних є. (тобто "" сервер, який мене хвилює - це завжди в наявності група)
Джеймс Дженкінс

Вибачте за мою помилку, в базах даних у групі доступності одна репліка - це синхронний режим, а інша - в режимі asyn
SqlNovice
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.