共用方式為


NSSetQuantumClock (Transact-SQL)

將 Microsoft SQL Server Notification Services 應用程式配量時鐘重設為上一個配量的開始時間。新配量是利用預存程序所指定之配量的相同 UTC (國際標準時間或格林威治標準時間) 開始時間來建立的。這可讓您重新執行先前的配量。

下列兩個狀況顯示如何使用這個預存程序:

  • 當測試應用程式時,您可以加入一個已排程的訂閱,再依照需要重設配量時鐘來測試這項訂閱。
  • 當診斷系統問題時,您可以重設配量時鐘,再重新產生先前的系統行為。只要 NS$instance_name 服務在執行中,且已啟用執行個體,就會完全依照真正時間來重新執行所有處理程序 (如事件批次和定時訂閱)。

語法

[ schema_name . ] NSSetQuantumClock 
    [ @QuantumId = ] quantum_ID

引數

[ @QuantumId = ] quantum_ID

這是已過去之配量的唯一識別碼。quantum_idint,沒有預設值。

傳回碼值

0 (成功) 或 1 (失敗)

結果集

備註

當您建立執行個體時,Notification Services 會在應用程式資料庫中,建立 NSSetQuantumClock 預存程序。當您更新應用程式時,Notification Services 會重新編譯預存程序。

這個預存程序在應用程式定義檔案 (ADF) 的 SchemaName 元素所指定的應用程式結構描述中。如果未提供結構描述名稱,預設結構描述便是 dbo

您必須先停用產生器,才能執行 NSSetQuantumClock

在應用程式定義檔案 (ADF) 中,請確定 ChronicleQuantumLimitSubscriptionQuantumLimit 值都是零,這表示您可以往回處理配量到多遠,並沒有限制。如果指定了非零限制,產生器可能會略過您想要的配量。

移除處理會從系統中移除資料。如果您已移除想要的資料,便無法重新執行這項資料的處理程序。

當 Notification Services 嘗試追上先前的配量時,配量愈舊,優先順序愈高,會首先處理。當您初始化配量時鐘時,請注意,新配量的處理可能會晚於排程時間。

權限

執行權限預設會授與 NSGeneratorNSRunService 資料庫角色、db_owner 固定資料庫角色以及系統管理員 (sysadmin) 固定伺服器角色的成員。

範例

下列範例會顯示如何重設配量時鐘,從配量號碼 1 開始來重新執行先前的配量。新配量會以新的配量號碼來進入 NSQuantum1 資料表中,但 StartTime 值等於配量 1 的 StartTime 值。

應用程式使用預設的 SchemaName 設定,這項設定會將所有應用程式物件放在 dbo 結構描述中。

EXEC dbo.NSSetQuantumClock 
    @QuantumId = 1;

例如,如果 NSQuantum1 資料表中目前有四個配量,配量 1 的開始時間是 2002-05-23 17:23:37.640,當您執行這個範例時,開始進入配量 5 的時間是 2002-05-23 17:23:37.640。當您啟用產生器時,產生器會從配量 1 開始,重新執行所有配量。

請參閱

參考

Notification Services 預存程序 (Transact-SQL)
NSSetQuantumClockDate (Transact-SQL)

其他資源

Notification Services 效能報告
SchemaName Element (ADF)

說明及資訊

取得 SQL Server 2005 協助