NSVacuum (Transact-SQL)
以手動方式執行移除處理,從應用程式資料庫中移除已棄用的資料。如果依照應用程式定義檔案 (ADF) 所定義,目前的移除排程並不適用,您最好修改排程,再更新應用程式。建議您只在絕對必要時,才以手動方式執行移除作業 (例如,資料庫磁碟空間即將用完)。
重要事項: |
---|
當移除處理在執行中或已排程執行,請勿以手動方式來執行移除處理。否則,可能會發生應用程式錯誤,結果並不會移除任何資料。 |
語法
[ 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 效能物件來監視移除作業。
權限
執行權限預設會授與 NSRunService 和 NSVacuum 資料庫角色、db_owner 固定資料庫角色以及系統管理員 (sysadmin) 固定伺服器角色的成員。
範例
下列範例會執行五分鐘的移除處理。依照 ADF 的 SchemaName 元素所指定,這個預存程序 (如同這個應用程式的所有其他物件) 在 Stock 結構描述中。
EXEC dbo.NSVacuum
@SecondsToRun = 300;
請參閱
參考
NSSnapshotApplications (Transact-SQL)
其他資源
NS$instance_name: Vacuumer 物件
移除過時的應用程式資料
Vacuum Element (ADF)
SchemaName Element (ADF)