Задачи сервера
Только для SQL серверов. Не применимо для Postgre.
Пункт в контекстном меню (правая кнопка мыши) на имени SQL сервера в режиме "Управления базами данных". Этот пункт меню доступен только для SQL сервера, на котором развернута текущая база (выбранная при входе в комплекс "Бюджет-СМАРТ").
Здесь можно создать автоматически выполняемые по расписанию задачи по обслуживанию баз данных SQL сервера . Созданные задачи прописываются в заданиях SQL сервера (см. SQL сервер - Агент SQL сервер - Задания) и выполняются самим SQL сервером, без участия ПО "Бюджет-СМАРТ", по заданному расписанию.
Режим недоступен на базах данных, развернутых на SQL серверах редакции "Express" - из-за ограничений разработчика СУБД (Microsoft).
Создание задачи
По кнопке "Создать" следует задать:
- Наименование - произвольное понятное пользователю наименование выполняемой задачи.
- Разрешена - должно быть включено для выполнения задания.
- База данных - имя базы данных, на (для) которой выполняется задача. Для общесерверной задачи выбирается база master.
- Выполняемая команда - собственно, сама задача: команда на языке Transact-SQL, реализующая задание. По кнопке "Справочник" можно выбрать готовую задачу.
-
Раздел "Триггеры (Планировщик)" - расписание выполнения задачи.
После сохранения задача начнет исполняться согласно расписания.
Рекомендуемые задачи
1. Резервное копирование баз данных.
Выбирается из готовых поставляемых с ПО задач "Резервное копирование БД , архивирование и перемещение файла архива ".
Особенности:
- предполагается наличие на SQL сервере папки c:\backup\ - для временных файлов резервных копий.
- предполагается наличие на SQL сервере папки c:\backup\arh\ - сюда складываются архивированные резервные копии, причем в имени архивного файла содержатся дата и время создания архива.
-
предполагается наличие RAR.exe архиватора в c:\backup\.
Команду резервного копирования можно изменить по своему усмотрению, например, использовать команду резервного копирования с перемещением архива, приведенную в теме "Автоматическое резервное копирование (планировщик SQL)".
2. Закрытие дней
Выбирается из готовых поставляемых с ПО задач "Закрытие периода (всех счетов бюджета)".
Особенности:
- закрываются все открытые дни с 01 января по заданный день, по всем доступным пользователю, от имени которого будет выполнятся задача, счетам бюджета.
- для применения задачи её требуется отредактировать (после выбора): в области "Выполняемая команда" указать логин вместо угловых скобок, а так же , при необходимости, день закрытия.
Если закрывает не все промежуточные дни, то это означает:
- у пользователя нет доступа к некоторым счетам бюджета.
- в незакрытый день есть документы, в которых дата документа позже даты проводки (такие дни не закрываются).
Задача состоит из одной команды SQL:
execute ('execute dbo.locked_day_close_timer @DayBack = -5, @nLevel = 1, @CloseEmpty = 0') as user = '<имя пользователя>'
где @DayBack - количество дней назад от системной даты SQL сервера для определения закрываемого дня. По умолчанию минус 5 дней.
@nLevel = 1 - уровень закрытия , по умолчанию 1.
@CloseEmpty - при отсутствии параметра либо 0 закрываются только документы по доступным пользователю счетам бюджета, при значении 1 дополнительно закрываются дни для документов без счета бюджета (Исполнительный документ, Решение налогового органа, Нормативно-правовой акт, Перечень целевых субсидий, Запрос на выяснение принадлежности платежа, Расшифровка реестра по АИП и т.п.).
<имя пользователя> - логин пользователя, от имени которого будет выполнятся задача.
Пример корректной команды задачи без закрытия документов без счета бюджета:
execute ('execute dbo.locked_day_close_timer @DayBack = -2, @nLevel = 1') as user = 'buh_01'
Пример корректной команды задачи с закрытием документов без счета бюджета:
execute ('execute dbo.locked_day_close_timer @DayBack = -2, @nLevel = 1, @CloseEmpty = 1') as user = 'buh_01'
Если необходимо закрывать дни для документов без счета бюджета, то следует использовать дополнительный параметр @CloseEmpty = 1.
3. Дефрагментация базы данных и обновление статистики
Задача проводит оптимизацию структуры базы данных, что увеличивает производительность SQL сервера (и как следствие - производительность комплекса "Бюджет-СМАРТ").
Рекомендуемая периодичность выполнения 1 раз в сутки, выполнять на рабочей базе данных в период минимальной активности пользователей (ночью).
Выполняемая команда:
exec dbo.sp_defrag_index
В ручном режиме операцию можно выполнить в меню "Управление базами данных", контекстные меню: "Обновление статистики", "Дефрагментация индексов".
4. Удаление временных записей.
Задача удаляет неактуальные временные записи в таблицах базы данных, что увеличивает быстродействие ПК "Бюджет-СМАРТ" и уменьшает размер базы данных (точнее, уменьшается скорость ее увеличения).
Рекомендуемая периодичность выполнения 1 раз в сутки, выполнять на рабочей базе данных в период минимальной активности пользователей (ночью).
exec dbo.xp_SysTablesTruncate
5. Переиндексация базы данных
Рекомендуемая периодичность выполнения - раз в неделю, выполнять на базе данных комплекса.
Выполняемая команда:
exec sp_dbReindex
В ручном режиме операцию можно выполнить в меню "Управление базами данных", контекстное меню "Переиндексация".
Задача "Центр контроля" выбирается из справочника. Рекомендуемое расписание - выполнение каждые 3-10 минут в рабочий период (например с 7:00 по 21:00).