Задачи сервера

Пред.  Начало  След.

  Только для 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 

 

  В ручном режиме операцию можно выполнить в меню "Управление базами данных", контекстное меню "Переиндексация".

 

6. Отложенный контроль

   Задача "Центр контроля" выбирается из справочника. Рекомендуемое расписание - выполнение каждые 3-10 минут в рабочий период (например с 7:00 по 21:00).