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 |
구독자가 현재 설정되어 있는지 여부를 나타냅니다. 0이 아닌 값은 구독자가 설정되어 있으며 알림을 생성할 수 있다는 의미입니다. |
SubscriptionClassName |
nvarchar(255) |
구독자에 대해 예약된 구독을 포함하는 구독 클래스의 이름입니다. |
SubscriptionId |
bigint |
구독자에 대한 구독 ID입니다. |
SubscriptionEnabled |
tinyint |
구독의 설정 여부를 나타냅니다. 0이 아닌 값은 구독이 설정되어 있으며 알림을 생성할 수 있다는 의미입니다. |
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 고정 서버 역할의 멤버로 설정됩니다.
예
1. 특정 날짜에 예약된 구독 가져오기
다음 예에서는 "karen"이라는 구독자에 대해 2004년 5월 24일에 예약된 모든 구독의 보고서를 생성하는 방법을 보여 줍니다.
응용 프로그램은 모든 응용 프로그램 개체를 dbo 스키마에 배치하는 기본 SchemaName 설정을 사용합니다.
EXEC dbo.NSScheduledSubscriptionList
@SubscriberId = N'karen',
@StartDate = '2004-05-24',
@EndDate = '2004-05-24 23:59:59';
2. 특정 기간에 예약된 구독 가져오기
다음 예에서는 "karen"이라는 구독자에 대해 지난 2일 동안 예약된 모든 구독의 보고서를 생성하는 방법을 보여 줍니다.
이 예에서 저장 프로시저는 다른 모든 응용 프로그램 개체와 마찬가지로 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
인스턴스, 응용 프로그램 또는 구성 요소 설정 및 해제