NSScheduledSubscriptionList (Transact-SQL)
產生 Microsoft SQL Server Notification Services 應用程式之已排程的訂閱清單報表。這份報表包含給定訂閱者所有已排程之訂閱的相關資訊。
結果會處理本機時間轉換,且會關聯於地區設定,將日光節約時間偏移變更列入考量。當診斷訂閱未在預期時間產生通知的原因時,這些結果非常重要。使用者往往會設定不正確的訂閱資訊,結果會在非預期的時間產生通知。
語法
[ schema_name . ] NSScheduledSubscriptionList
[ @SubscriberId = ] 'subscriber_id',
[ @StartDate = ] 'start_date' ]
[, [ @EndDate = ] 'end_date' ]
[, [ @Language = ] 'language_code' ]
引數
[ @SubscriberId = ] 'subscriber_id'
這是用來代表 Notification Services 執行個體中之訂閱者的唯一識別碼。subscriber_id 是 nvarchar(255),沒有預設值。
[ @StartDate = ] 'start_date'
這是已排程之訂閱的開始日期和時間,以國際標準時間 (UTC) 或格林威治標準時間 (GMT) 表示。start_date 是 datetime,沒有預設值。
[ @EndDate = ] 'end_date'
這是已排程之訂閱的結束日期和時間 (以 UTC 為單位)。如果未指定 (或 NULL),預設值是 start_date 值加一天。end_date 是 datetime。
[ @Language = ] 'language_code'
這是一種 Notification Services 語言,用來指定報表中所包括的語言。language_code 用來從執行個體資料庫的 NSTimeZoneNames 資料表中,傳回部份時區。language_code 是 nvarchar(6),預設值是 'en' (英文)。
如需 language_code 值的完整清單,請參閱<Subscriber Locale Codes>。
傳回碼值
0 (成功) 或 1 (失敗)
結果集
NSScheduledSubscriptionList 結果集是先依 SubscriptionClassName 值,再依 SubscriptionId 值來排序。
資料行名稱 | 資料類型 | 描述 |
---|---|---|
SubscriberEnabled |
tinyint |
指出目前是否已啟用訂閱者。非零值表示已啟用訂閱者,可以產生通知。 |
SubscriptionClassName |
nvarchar(255) |
包含訂閱者已排程之訂閱的訂閱類別名稱。 |
SubscriptionId |
bigint |
訂閱者的訂閱識別碼。 |
SubscriptionEnabled |
tinyint |
指出是否已啟用訂閱。非零值表示已啟用訂閱,可以產生通知。 |
ScheduleText |
nvarchar(2048) |
使用者提供的訂閱排程文字。 |
UtcDateTime |
datetime |
將處理已排程之訂閱的日期和時間 (以 UTC 為單位)。如果值是 NULL,便表示未在指定時間範圍內排程訂閱。 |
LocalTimeZone |
nvarchar(100) |
訂閱的本機時區名稱。 |
Observing |
nvarchar(100) |
指出訂閱是否遵照日光節約時間。傳回的文字字串是特定時區專用字串。 |
LocalDateTime |
datetime |
已排程之訂閱的本機日期和時間。這個日期和時間指出時區採用日光節約時間或標準時間。如果值是 NULL,便表示未在指定時間範圍內排程訂閱。 |
備註
當您建立執行個體時,Notification Services 會在應用程式資料庫中,建立 NSScheduledSubscriptionList 預存程序。當您更新應用程式時,Notification Services 會重新編譯預存程序。
這個預存程序在應用程式定義檔案 (ADF) 的 SchemaName 元素所指定的應用程式結構描述中。如果未提供結構描述名稱,預設結構描述便是 dbo。
若要判斷目前的 UTC 日期和時間,請在 SQL Server Management Studio 中,執行 SELECT GETUTCDATE()。目前 UTC 時間是從目前本機時間和執行 SQL Server 之電腦的作業系統時區設定衍生而來。
權限
執行權限預設會授與 NSAnalysis 和 db_owner 資料庫角色以及系統管理員 (sysadmin) 固定伺服器角色的成員。
範例
A. 取得特定日期已排程的訂閱
下列範例會顯示如何產生訂閱者 "karen" 在 2004 年 5 月 24 日所有已排程之訂閱的報表。
應用程式使用預設的 SchemaName 設定,這項設定會將所有應用程式物件放在 dbo 結構描述中。
EXEC dbo.NSScheduledSubscriptionList
@SubscriberId = N'karen',
@StartDate = '2004-05-24',
@EndDate = '2004-05-24 23:59:59';
B. 取得特定期間已排程的訂閱
下列範例會顯示如何產生訂閱者 "karen" 前兩天所有已排程之訂閱的報表。
在這個範例中,依照 ADF 的 SchemaName 元素所指定,預存程序 (如同所有其他應用程式物件) 是在 Stock 結構描述中。
DECLARE @start datetime;
SET @start = DATEADD(day, -2, GETUTCDATE());
EXEC Stock.NSScheduledSubscriptionList
@SubscriberId = N'karen',
@StartDate = @start;
請參閱
參考
Notification Services 預存程序 (Transact-SQL)
其他資源
Notification Services 效能報告
Subscriber Locale Codes
啟用與停用執行個體、應用程式或元件