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


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. Аргумент 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 перекомпилируют хранимую процедуру.

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

Чтобы определить текущую дату и время в формате UTC, выполните инструкцию SELECT GETUTCDATE() в среде SQL Server Management Studio. Текущее время в формате UTC получается из текущего местного времени и настройки часового пояса в операционной системе компьютера, на котором запущен SQL Server.

Разрешения

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

Примеры

A. Получение подписок, запланированных на определенную дату

В следующем примере показывается, как можно сформировать отчет обо всех подписках, запланированных на 24 мая 2004 г. для подписчика «karen».

Приложение использует настройки по умолчанию SchemaName, которые помещают все объекты приложения в схему dbo.

EXEC dbo.NSScheduledSubscriptionList 
    @SubscriberId = N'karen', 
    @StartDate = '2004-05-24', 
    @EndDate = '2004-05-24 23:59:59';

Б. Получение подписок, запланированных на определенный период времени

В следующем примере показывается, как можно сформировать отчет обо всех подписках, запланированных на два последних прошедших дня для подписчика «karen».

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

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
Включение и отключение экземпляров, приложений или компонентов

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

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