Поделиться через


NSVacuum (Transact-SQL)

Вручную запускает процесс очистки, удаляя устаревшие данные из базы данных приложения. Если текущее расписание очистки, определенное в файле определения приложения (ADF-файл), неадекватно, необходимо изменить расписание и обновить приложение. Запуск процесса очистки вручную рекомендуется только в случае крайней необходимости (например, если базе данных недостаточно места на диске)

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

Синтаксис

[ schema_name . ] NSVacuum
    [@SecondsToRun = ] max_vacuuming_time

Аргументы

  • [ @SecondsToRun =] max_vacuuming_time
    Максимальное время, в секундах, в течение которого может работать хранимая процедура NSVacuum. Если процесс очистки удаляет все данные до истечения указанного времени, то очистка останавливается. Если процесс очистки не завершается до истечения указанного времени, то процесс останавливается, удалив не все устаревшие данные. При следующем запуске данной хранимой процедуры процесс очистки начинается с места последней остановки. Аргумент max_vacuuming_time имеет тип int и не имеет значения по умолчанию.

Замечания

Microsoft SQL Server Службы Notification Services создают в базе данных приложения хранимую процедуру NSVacuum при создании экземпляра. При обновлении приложения службы Notification Services перекомпилируют хранимую процедуру.

Эта хранимая процедура находится в схеме приложения, которая указывается элементом SchemaName файла определения приложения (ADF). Если имя схемы не указано, по умолчанию используется схема dbo.

Используйте хранимую процедуру NSSnapshotApplications или **NS$**instance_name: объект производительности Vacuumer для мониторинга очистки.

Разрешения

По умолчанию разрешения на выполнение предоставлены членам роли базы данных NSRunService и NSVacuum, фиксированной роли базы данных db_owner и фиксированной серверной роли sysadmin.

Результирующий набор

Имя столбца Тип данных Описание

Status

int

Текущее состояние очистки. Допустимые значения: 0 (работает), 2 (завершена) и 3 (превышено ограничение по времени). При ручном запуске процедуры очистки статус не принимает значение 0.

QuantumsVacuumed

int

Объем данных, успешно удаленных из базы данных в течение текущего периода очистки.

QuantumsRemaining

int

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

Примеры

В ходе следующего примера процесс очистки работает 5 минут. В этом примере хранимая процедура (как и все остальные объекты данного приложения) находится в схеме Stock, как указано в элементе SchemaName файла ADF.

EXEC dbo.NSVacuum 
    @SecondsToRun = 300;

См. также

Справочник

NSSnapshotApplications (Transact-SQL)

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

Объект NS$имя_экземпляра: Vacuumer, объект
Удаление устаревших данных приложения
Vacuum Element (ADF)
SchemaName Element (ADF)

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

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