Настройка архивации баз MS SQL Server и мониторинг с помощью OneScript

20.05.20

База данных - Архивирование (backup)

Схемы архивации баз и мониторинга. Скрипт для архивации журналов транзакций с записью лога в текстовый файл. Скрипты для мониторинга состояния архивации с отправкой статуса на почту.

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование SM По подписке [?] Купить один файл
BackupAndMonitoring
.zip 9,07Kb
5
5
2 SM
Скачать Купить за 2 150 руб.

Задача

Настроить архивацию баз следующим образом.

1. Недельный бэкап с возможностью восстановления на любой момент времени. Срок хранения: 7 дней.

2) Месячный бэкап на 01 число месяца. Срок хранения: 12 месяцев.

3) Годовой бэкап на 01 января. Срок хранения: бессрочно.

У баз модель восстановления Полная (FULL).

 

Предисловие

На протяжении времени выходили разные версии MS SQL Server.

Я давно настраиваю архивацию баз на разных версиях MS SQL Server и могу сказать, что в каждой версии, в каждой среде возникают свои нюансы, разные причины, из-за которых то один компонент сбоит, то другой, то третий и т.д.

На сегодняшний день информация на разных сайтах показывает, что не только я один, а до меня не один специалист пришел к выводу: нормальную архивацию и мониторинг нужно делать скриптами и желательно своими.

Некоторые примеры, из которых можно сделать тот же вывод:

1) 1131561

2) helpme1c.ru

3) Forum MS

5) alta.ru-support-51

6) 126513

7) 85254

8) 63466

 

Тема резервного копирования баз данных описана во многих источниках, однако мониторинг до сих пор является узким местом.

 

Проблемы.

1) Многие источники описывают работу специальных программ, но часто бывает, что какие-либо программы нельзя устанавливать.

2) Движок MS SQL Server сбоит, поэтому нет уверенности, что бэкапы делаются. Нужен мониторинг, причем ежедневный.

3) Мониторинг тоже сбоит. Поэтому нужен такой мониторинг или такие правила, которые дадут знать, что случилось исключение. В идеале — это сторонний сервис мониторинга, но если такого сервиса нет, если у заказчика отсутствует возможность развернуть такой сервис, тогда приходится обходиться простыми и дешевыми инструментами, но не менее эффективными. На основе данной проблемы происходит другая проблема — необходимость в человеческом дежурстве, ведь мониторинг тоже может сбоить. Вообще, автоматизация — это человеческая надежда на стабильность автомата, но так как любой автомат может сбоить, то либо другой автомат проверяет работу своего брата (хотя оба могут сбоить), либо проверяет сам человек.

 

Исходя из описанных проблем, составляем дополнительные требования.

1) Инструменты архивации и мониторинга должны быть либо встроенными в среду MS SQL Server или в систему, либо должны быть портативными, не требующими установки. Таким образом мы не нагружаем реестр системы лишним «мусором».

2) Должен быть скрипт, проверяющий состояние архивации и сообщающий статус человеку.

3) Так как скрипт может сбоить, статус может не отправиться, и это тоже ошибка, так как в случае сбоя архивации мы не узнаем об отсутствии бэкапов. Поэтому скрипт должен отправлять статус ежедневно, и проверять этот статус нужно ежедневно: либо другой автомат, либо дежурный. Так как отсутствовала возможность создания другого автомата по проверке статусных сообщений, то пришлось разработать простую отправку письма на почту, в письме несколько получателей.

 

Выбранные инструменты.

1) Transact-SQL

2) Планировщик заданий Windows

3) OneScript.

Нужно сказать, что есть достаточно инструментов других, которые либо встроенные, либо не требуют установки, но когда открываешь их раз в год и некогда тратить драгоценное время, то приходится использовать то, на чем быстро решается задача. В данном случае таковыми инструментами для меня являются Transact-SQL, OneScript, Планировщик заданий Windows. Кстати, я собирался вместо OneScript использовать PowerShell, но оказалось, что с ним гораздо больше «подводных камней», а значит и вариантов сбоя (например, форматы дат, использование библиотек, в одной среде скрипт работает, в другой нет).

 

Схемы архивации и мониторинга

 

Как все это настроить?

1) Подготовка библиотек.

1.1) Правим файл Bases.os.

1.2) В каталоге «..\OneScript\lib» создаем каталог «bases» и добавляем в него файл Bases.os.

1.3) В командной строке устанавливаем библиотеку работы с почтой: E:\OneScript\bin\opm.bat install InternetMail.

 

2) Настройка еженедельной архивации баз и мониторинга.

2.1) В среде MS SQL Server настраиваем план обслуживания: раз в неделю создавать бэкапы в папке «F:\WEEK», с опцией «Создавать вложенный каталог для каждой базы данных».

2.2) Правим скрипт BackupWeekly.os.

2.3) Правим скрипт BackupWeekly.bat и добавляем его в планировщик заданий. По расписанию этот скрипт должен запуститься после завершения работы плана обслуживания (2.1) в этот же день.

 

3) Настройка ежемесячной архивации баз и мониторинга.

3.1) В среде MS SQL Server настраиваем план обслуживания: раз в месяц создавать бэкапы в папке «F:\MONTH», с опцией «Создавать вложенный каталог для каждой базы данных».

3.2) Правим скрипт BackupMonthly.os.

3.3) Правим скрипт BackupMonthly.bat и добавляем его в планировщик заданий. По расписанию этот скрипт должен запуститься после завершения работы плана обслуживания (3.1) в этот же день.

 

4) Настройка ежедневной архивации журналов транзакций и мониторинга.

4.1) В MS SQL Server включаем расширенные процедуры:

EXEC sp_configure 'show advanced options', 1
RECONFIGURE
GO
-- Enable the xp_cmdshell procedure
EXEC sp_configure 'xp_cmdshell', 1
RECONFIGURE

4.2) Правим скрипт BackupLOG.SQL и в среде MS SQL Server в агенте добавляем новое задание, вставляем данный скрипт. Расписание, например, каждые 3 часа.

4.3) Правим скрипт BackupDaily.os.

4.4) Правим скрипт BackupDaily.bat и добавляем его в планировщик заданий. По расписанию этот скрипт должен запуститься после завершения работы задания (4.2).

 

Уязвимости

1) Человек может забыть, что письмо должно поступить, особенно, когда много разных писем.

2) Бэкапы хранятся только на одном диске. Исчез диск — исчезло все. Но возможно дописать копирование бэкапов в несколько мест.

 

Проверкаа бэкапов контроль надежная архивация архивации T-SQL Transact-SQL MS SQL Server OneScript скрипт баз копирование запись в файл текстовый почта

См. также

Журнал регистрации Мониторинг Системный администратор Программист Бизнес-аналитик Руководитель проекта Платформа 1С v8.3 Платные (руб)

В сферу обязанностей при работе с клиентами входит контроль работы баз данных и серверов 1С. Нужно понимать что происходит в базах, есть ли ошибки, зависания у пользователей и фоновых задач, блокировки или какое-то необычное поведение системы, получение информации о причинах возникновения проблем и их оперативное устранение и т.д. В качестве источников информации использую консоль кластеров 1С, технологический журнал 1С, журналы регистрации базы 1С. Для автоматизации части операций мониторинга и анализа создал инструмент на основе 1С.

9000 руб.

28.08.2019    32140    17    21    

69

Архивирование (backup) Журнал регистрации Поиск данных Системный администратор Программист Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 1С:Управление торговлей 11 Платные (руб)

База данных «сама» меняет данные в документах/справочниках? Тогда данный журнал регистрации изменений документов в 1С для Вас! Практически не влияет на скорость записи объектов за счет быстрого алгоритма! Скорость работы почти в 2 раза выше типового механизма «История изменений». Позволяет следить за изменениями и удалением в любых ссылочных объектах конфигурации, с возможностью архивации по HTTP(!) или COM, и сверткой данных. А так же, может восстановить состояние реквизитов (значения) до момента изменения или удаления объекта из базы. Есть ДЕМО-база где можно самостоятельно протестировать часть функционала! Работает на любых платформах выше 8.3.14+ и любых конфигурациях! Версия 3.1 от 24.08.2023!

21600 руб.

15.05.2017    43061    11    24    

39

Мониторинг Инструменты администратора БД Системный администратор Платформа 1С v8.3 Россия Платные (руб)

Конфигурация Session Monitor предназначена для мониторинга сервера 1С с целью отслеживания чрезмерной нагрузки от конкретных сеансов и скорости реакции рабочих процессов.

1500 руб.

01.12.2020    15063    37    0    

54

Архивирование (backup) Инструменты администратора БД Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Платные (руб)

Данная разработка позволит решить вопрос с резервным копированием Ваших баз в автоматическом режиме, расположенных на сервере 1С. Система умеет ставить блокировки на вход, блокировать фоновые задания, принудительно отключать сеансы пользователей. И все это система делает в автоматически при создании бэкапа (или через команду). Выгрузка происходит в родной формат 1С - .dt. Так же система умеет архивировать данные выгрузки с установкой пароля. Умеет менять расширение файла zip или dt на любое указанное вами, что позволит сохранить выгрузки от шифровальщика. Может удалять старые копии выгрузок, оставляя указанное количество резервных копий, начиная с самой поздней.

6000 руб.

06.11.2012    71232    623    45    

82

Архивирование (backup) Системный администратор Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Программа позволяет выполнять автоматическое создание копий файловых и серверных информационных баз 1С Предприятие 8 и размещение копий в облаке Яндекс.Диск, локальном или сетевом ресурсе.

1200 руб.

03.09.2014    15146    15    6    

21

DevOps и автоматизация разработки OneScript Системный администратор Программист Стажер Бесплатно (free)

Рассмотрим создание самоформирующейся документации через комментарии и соглашения: как это сделать и зачем, с описанием полного цикла от исходников конфигурации до странички в интернете

17.06.2024    3659    bayselonarrend    2    

60

Мониторинг Системный администратор Программист Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Решение для автоматического отслеживания нагрузки на кластеры 1С различных версий, автоматического удаления сеансов по показателям кластера, удаления сеансов по показателям через телеграм бота, мониторинга журнала регистрации с возможностью блокирования входов и сброса сеансов для пользователей инициаторов событий, получение анализа ошибок журнала регистрации в телеграм.

1 стартмани

13.06.2024    4022    21    Garilia    3    

31

Мониторинг Системный администратор Бесплатно (free)

Возникновение нештатных ситуаций при эксплуатации высоконагруженных и распределенных систем неизбежно. Для снижения рисков, связанных с простоем системы, используется мониторинг. В статье речь пойдет о том, какие в Почте России ставятся задачи мониторинга, каким образом они решаются, и какие инструменты для этого используются.

24.05.2024    3434    AdepTcs    2    

19
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. duhin 03.05.20 08:29 Сейчас в теме
>У баз модель восстановления Полная (Simple).
о_О
2. info1i 230 03.05.20 11:37 Сейчас в теме
(1) Спасибо за замечание! Ошибку исправил. Конечно, же FULL.
Оставьте свое сообщение