Администрирование
21
Мар
0

CRM JOB’ы и их сопровождение

Инсталлятор CRM в процессе установки создает в SQL несколько JOB-ов, которые поддерживают некоторые периодические работы. Некоторые из этих заданий лучше перенастроить.

Для настройки времени выполнения этих джобов Вы можете воспользоваться утилитой https://crmjobeditor.codeplex.com/«>CRM Maintenance Job Editor.

Deletion Service

Раньше данный джоб занимался удалением записей, помеченных на удаление, т.к. раньше они не удалялись напрямую по кнопке Удалить в CRM, а помечались специальным флагом, чтобы не грузить БД (с т.з. SQL операция удаления дороже операции изменения).

Теперь этот джоб занимается следующим:

  • Если Outlook не будет синхронизирован с CRM в течение 90 дней, задание удалит подписку для него.
  • Очистка записей POA: отмена общего доступа не удаляет записи об этом из таблицы POA – они будут оставаться там в течение 90 дней и Deletion Service удалит их по прошествии этого срока.
  • Очистка завершенных с ошибкой или приостановленных БП для записей, синхронизированных с Outlook.

По умолчанию выполняется каждые 24 часа. Перенастройте его, чтобы выполнялся в не рабочее время.

Indexing Management

Этот джоб проверяет, что управляемые системой индексы существуют для всех объектов и восстанавливает их, если они отсутствуют.

По крайней мере пять новых индексов создаются каждый раз, когда Вы создаете новый объект. Также индекс автоматически создается, например, при добавлении поля в Быстрый поиск. Подробнее см.: https://technet.microsoft.com/en-us/library/mt679036.aspx

По умолчанию выполняется каждые 24 часа. Перенастройте его, чтобы выполнялся в не рабочее время.

Чтобы получить список всех индексов в организационной базе данных выполните следующий запрос:

SELECT
	s.name + '.' + t.name AS 'table_name',
	i.name,
	i.index_id
FROM
	sys.schemas s
		JOIN sys.tables t ON s.schema_id=t.schema_id
		JOIN sys.indexes i ON t.object_id=i.object_id
		LEFT OUTER JOIN sys.objects o ON o.parent_object_id=t.object_id AND i.name=o.name
WHERE
	i.name is not null

Если хотите сравнить их со стандартными индексами, то можете скачать их тут: https://technet.microsoft.com/en-us/library/mt679036.aspx

З.Ы. Полезным будет создавать дополнительные индексы, по наиболее и частым/тяжелым запросам. Более подробно об этом см. тут: https://technet.microsoft.com/en-us/library/ms345417%28v=sql.105%29.aspx

Reindex All

Делает две вещи:

  • Реорганизовывает/перестраивает фрагментированные индексы в зависимости от вылечены фрагментации.
  • Выполняет команду DBCC SHRINKDATABASE, чтобы освободить неиспользуемое физическое место на диске для файлов БД и файлов журнала транзакций.

Данный джоб выполняет хранимую процедуру p_ReindexAll, которая отбирает все индексы в БД с более чем 30% фрагментацией и выполняет ReIndex для каждого из них.

По умолчанию выполняется каждые 24 часа. Чтобы отключить его установите значение следующего запуска в 31.12.2999.

Если в CRM имеется большой объем данных, то лучше данные джоб отключить, поскольку он может падать на больших объемах данных. В логах винды Вы можете встречать такую ошибку по этому случаю:

<MSCRMAsyncService$maintenance. Job Scheduler has executed tasktype=30, organizationid=, starttime=6/08/2013 22:29:22, endtime=6/08/2012 22:40:22 PM, resultcode=1, errormessage=System.Data.SqlClient.SqlException (0x80131904):Timeout expired.  The timeout period elapsed prior to completion of the operation or the server is not responding.

Но обслуживать индексы как-то надо, и тут у Вас два варианта:

  • Создать свое SQL задание, которое будет запускать стандартную процедуру p_ReindexAll. При этом Вам нужно снять ограничение по таймауту ее выполнения. Для этого параметр MaxRunTime задать в 0. Процедура принимает следующие переменные:
    • AllIndexTypes:
      • 0 – только клатеризованые индексы (значение по умолчанию)
      • 1 – кластеризованые и не кластеризованные индексы
    • MaxRunTime: таймаут работы процедуры (в секундах). По умолчанию = null – т.е. работает без ограничений.
    • FragRebuildPct: процент фрагментации индексов, которые подлежат пересборке. По умолчанию – 30.
    • MinPages: процедура пропускает таблицы с количеством страниц меньше чем переданное число. По умолчанию – 25.
    • Verbose: 1 – выводит отчет по ходу работы и детальный результат выполнения. По умолчанию – 0.

    Например: EXEC p_ReindexAll 1,null,1,1,0

  • Использовать другие средства по обслуживанию индексов. Например: http://msdn.microsoft.com/en-us/library/ms191002.aspx.

Cleanup Inactive Workflow Assemblies

Ищет сборки кастомных БП которые больше не используются в определениях БП или незавершенных экземплярах БП. Сборки, на которые никто не ссылается, будут удалены. Например: Вы зарегистрировали сборку кастмоного БП с версией 2.0. Вы обновили свои БП, чтобы использовали новую версию сборки, но некоторые еще выполняющиеся БП используют версию 1.0. Как только эти задания будут завершены, JOB удалит сборку версии 1.0.

Job выполняет хранимую процедуру p_CleanupInactiveWorkflowAssemblies.

По умолчанию выполняется каждые 24 часа. Перенастройте его, чтобы выполнялся в не рабочее время.

Create Audit Partition

Изменяет схему разделов для таблицы auditbase (только для SQL Enterprise).

По умолчанию выполняется каждые 24 часа. Перенастройте его, чтобы выполнялся в не рабочее время.

Check for MUI Updates

Обнаруживает обновления для языковых пакетов (MUI) и создает дополнительные асинхронные системные задания для их индивидуальной настройки.

По умолчанию выполняется каждые 24 часа. Если у Вас не установлены языковые пакеты, Вы можете отключить задание, установив время следующего запуска в 31.12.2999.

Refresh Entity Row Count

Обновляет Record Count в статистике снимка, что в результате улучшает план выполнения запросов.

Это задание важно для высокой производительности Быстрого поиска.

По умолчанию выполняется каждые 24 часа. Перенастройте его, чтобы выполнялся в не рабочее время.

Refresh Sharing Count

Обновляет статистику снимка для чтения таблицы POA, что в результате улучшает план выполнения запросов.

Это задание важно для высокой производительности Быстрого поиска.

По умолчанию выполняется каждые 24 часа. Перенастройте его, чтобы выполнялся в не рабочее время.

Комментарии (0)

*

code