Удаление устаревших данных приложения

Большой объем данных в базе данных служб Microsoft SQL Server Notification Services может привести к снижению производительности по двум причинам. Во-первых, большие таблицы ухудшают производительность запросов. Во-вторых, при большом объеме данных SQL Server может автоматически увеличить размер файла, что приводит к дополнительному потреблению системных ресурсов.

Для удаления устаревших данных из баз данных приложений Notification Services использует процесс очистки. Очистка выполняется автоматически для каждого приложения в соответствии с расписанием, заданным в определении приложения.

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

Данные удаляются по тактам, то есть все события и уведомления, обрабатываемые за один такт, удаляются как единый блок.

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

Проверка выполнения очистки

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

  • Хранимая процедура NSSnapshotApplications возвращает данные о последнем запуске процесса очистки, а также о количестве удаленных строк событий и уведомлений.
  • Экземпляр NS$имя_экземпляра. Чистильщик предоставляет счетчики производительности, относящиеся к процессу очистки. Необходимо контролировать счетчики объекта «Чистильщик», чтобы определить, находится ли компонент чистильщика в состоянии ожидания, и выяснить количество очищенных тактов и количество готовых к очистке.

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

Изменение расписания очистки

Для настройки расписания очистки для приложения служб Notification Services необходимо изменить определение приложения, а затем обновить приложение, чтобы применить изменения к базе данных приложения. Дополнительные сведения об определении расписания очистки см. в разделе Настройка удаления данных.

ms166387.note(ru-ru,SQL.90).gifВажно!
При изменении расписания очистки настройте расписание так, чтобы очистка выполнялась во время низкой активности системы. Чистильщик использует системные ресурсы, поэтому его выполнение может привести к ухудшению производительности приложения.

Запуск чистильщика вручную

Как правило, лучше всего запускать чистильщик по расписанию. Если очистка приводит к ухудшению производительности системы или если удаляется недостаточный объем данных, измените расписание в определении приложения, а затем обновите приложение. Запускайте чистильщик вручную только в том случае, если очистка не выполняется по расписанию, если необходимо удалить данные для освобождения дискового пространства или в связи с проблемами производительности.

ms166387.note(ru-ru,SQL.90).gifВажно!
Не следует запускать процесс очистки вручную, если он уже выполняется или настроен для запуска по расписанию. Возможны ошибки приложения, при которых устаревшие данные остаются неизменными. Проверьте определение приложения, чтобы определить расписание очистки. Если в определении приложения не содержится расписание очистки, то устаревшие данные из приложения не будут удаляться автоматически.

Для запуска процесса очистки вручную используйте хранимую процедуру NSVacuum, расположенную в базе данных приложения. Дополнительные сведения см. в разделе NSVacuum (Transact-SQL).

См. также

Основные понятия

Настройка удаления данных
Обновление приложения

Другие ресурсы

Vacuum Element (ADF)
NSVacuum (Transact-SQL)

Справка и поддержка

Получение помощи по SQL Server 2005