NSVacuum (Transact-SQL)

手动运行数据删除进程,从应用程序数据库中删除过时数据。如果在应用程序定义文件 (ADF) 中定义的当前数据删除计划不合适,最好修改该计划并更新应用程序。建议您仅当确实需要时(例如,数据库运行耗尽了所有磁盘空间),才手动运行数据删除进程。

ms179860.note(zh-cn,SQL.90).gif重要提示:
当数据删除进程正在运行或计划要运行时,请勿手动运行该进程。否则,可能会出现应用程序错误,从而导致无法删除任何数据。

语法

[ schema_name . ] NSVacuum
    [@SecondsToRun = ] max_vacuuming_time

参数

[ @SecondsToRun =] max_vacuuming_time

NSVacuum 存储过程可以运行的最大秒数。如果数据删除进程在此时间之前删除了所有数据,则该进程将在删除完成后停止。如果数据删除进程未在该时间内完成,则它将停止,但不会删除全部过时数据。下次运行该存储过程时,数据删除进程将在上次停止的位置继续进行。max_vacuuming_time 的数据类型是 int,无默认值。

结果集

列名 数据类型 说明

Status

int

数据删除进程的当前状态。可能的值为 0(正在运行),2(完成)和 3(超过了时间限制)。在手动运行数据删除进程时,不会收到值 0

QuantumsVacuumed

int

在当前的数据删除期间,从数据库中成功删除的量程数。

QuantumsRemaining

int

本应删除、但由于超过时间限制而未能删除的量程数。

备注

Microsoft SQL Server 创建实例时,Notification Services 将在应用程序数据库中创建 NSVacuum 存储过程。在更新应用程序时,Notification Services 会重新编译此存储过程。

此存储过程位于应用程序的架构中,该架构由应用程序定义文件 (ADF) 的 SchemaName 元素指定。如果没有提供架构名称,默认架构为 dbo

使用 NSSnapshotApplications 存储过程或 **NS$**instance_name: Vacuumer 性能对象可监视数据删除进程。

权限

执行权限默认授予 NSRunServiceNSVacuum 数据库角色、db_owner 固定数据库角色和 sysadmin 固定服务器角色的成员。

示例

以下示例运行数据删除进程,时间为五分钟。存储过程(像该应用程序的所有其他对象一样)位于 Stock 架构中,该架构在 ADF 的 SchemaName 元素中指定。

EXEC dbo.NSVacuum 
    @SecondsToRun = 300;

请参阅

参考

NSSnapshotApplications (Transact-SQL)

其他资源

NS$instance_name:Vacuumer 对象
删除过时的应用程序数据
Vacuum Element (ADF)
SchemaName Element (ADF)

帮助和信息

获取 SQL Server 2005 帮助