다음을 통해 공유


sys.dm_qn_subscriptions

업데이트: 2006년 12월 12일

서버에서 활성 쿼리 알림 구독에 관한 정보를 반환합니다. 이 뷰를 사용하여 서버 또는 지정된 데이터베이스의 활성 구독을 확인하거나 지정된 서버 보안 주체를 확인할 수 있습니다.

열 이름

데이터 형식

설명

id

int

구독의 ID입니다.

database_id

int

알림 쿼리가 실행된 데이터베이스의 ID입니다. 이 데이터베이스에 이 구독과 관련된 정보가 저장됩니다.

sid

varbinary(85)

이 구독을 만들고 소유하는 서버 보안 주체의 보안 ID입니다.

object_id

int

구독 매개 변수에 관한 정보를 저장하는 내부 테이블의 ID입니다.

created

datetime

구독을 만든 날짜와 시간입니다.

timeout

int

구독의 제한 시간입니다. 이 시간이 경과하면 알림이 발생하도록 플래그가 지정됩니다.

ms187793.note(ko-kr,SQL.90).gif참고:

실제 발생 시간은 지정된 제한 시간보다 늦어질 수 있습니다. 그러나 지정된 제한 시간이 경과한 후 구독이 발생되기 전에 구독을 무효화하는 변경이 나타나면 SQL Server에서는 변경이 수행된 시간에 구독이 발생하게 됩니다.

status

int

구독의 상태를 나타냅니다.

관계 카디널리티

원본 대상 열 이름 유형

sys.dm_qn_subscriptions

sys.databases

database_id

다대일

sys.dm_qn_subscriptions

sys.internal_tables

object_id

다대일

사용 권한

서버에 대한 VIEW SERVER STATE 권한이 필요합니다.

[!참고] 사용자에게 VIEW SERVER STATE 권한이 없다면 이 뷰는 현재 사용자가 소유한 구독에 관한 정보를 반환합니다.

1. 현재 사용자에 대한 활성 쿼리 알림 구독 반환

다음 예에서는 현재 사용자의 활성 쿼리 알림 구독을 반환합니다. 사용자에게 VIEW SERVER STATE 권한이 있을 경우 서버의 모든 활성 구독이 반환됩니다.

SELECT id, database_id, sid, object_id, created, timeout, status
FROM sys.dm_qn_subscriptions;
GO

2. 지정된 사용자에 대한 활성 쿼리 알림 구독 반환

다음 예에서는 로그인 Ruth0으로 구독된 활성 쿼리 알림 구독을 반환합니다.

SELECT id, database_id, sid, object_id, created, timeout, status
FROM sys.dm_qn_subscriptions
WHERE sid = SUSER_SID('Ruth0');
GO

3. 쿼리 알림 구독에 대한 내부 테이블 메타데이터 반환

다음 예에서는 쿼리 알림 구독에 대한 내부 테이블 메타데이터를 반환합니다.

SELECT qn.id AS query_subscription_id
    ,it.name AS internal_table_name
    ,it.object_id AS internal_table_id
FROM sys.internal_tables AS it
JOIN sys.dm_qn_subscriptions AS qn ON it.object_id = qn.object_id
WHERE it.internal_type_desc = 'QUERY_NOTIFICATION';
GO

참고 항목

참조

동적 관리 뷰 및 함수
쿼리 알림 관련 동적 관리 뷰
KILL QUERY NOTIFICATION SUBSCRIPTION(Transact-SQL)

관련 자료

쿼리 알림 사용
내부 테이블

도움말 및 정보

SQL Server 2005 지원 받기

변경 내역

릴리스 내역

2006년 12월 12일

새로운 내용
  • 관계 카디널리티 및 예 섹션을 추가했습니다.