sys.dm_qn_subscriptions

Изменения: 12 декабря 2006 г.

Возвращает сведения об активных подписках на уведомления о запросах на сервере. Можно использовать данное представление для проверки активных подписок на сервере или в указанной базе данных, или проверки указанного сервера-участника.

Имя столбца

Тип данных

Описание

id

int

Идентификатор подписки.

database_id

int

Идентификатор базы данных, для которой был выполнен запрос уведомлений. Эта база данных хранит информацию, относящуюся к данной подписке.

sid

varbinary(85)

Идентификатор безопасности сервера-участника, который создал подписку и которому она принадлежит.

object_id

int

Идентификатор внутренней таблицы, в которой хранятся данные о параметрах подписки.

created

datetime

Дата и время создания подписки.

timeout

int

Время ожидания для подписки. Уведомление будет снабжено меткой, указывающей на то, что оно должно сработать по истечении этого времени.

ms187793.note(ru-ru,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 на сервере.

ms187793.note(ru-ru,SQL.90).gifПримечание.
Если у пользователя нет разрешения VIEW SERVER STATE, это представление возвращает данные о принадлежащих текущему пользователю подписках.

Примеры

A. Возвращение активных подписок на уведомления о запросах для текущего пользователя

Следующий пример возвращает активные подписки на уведомления о запросах текущего пользователя. Если пользователь имеет разрешения VIEW SERVER STATE, то возвращаются все активные подписки на сервере.

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

Б. Возвращение активных подписок на уведомления о запросах для указанного пользователя

Следующий пример возвращает активные подписки на уведомления о запросах для подписчика с именем входа Ruth0.

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

В. Возвращение метаданных внутренней таблицы для подписок на уведомления о запросах

Следующий пример возвращает метаданные внутренней таблицы для подписок на уведомления о запросах.

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

Журнал изменений

Версия Журнал

12 декабря 2006 г.

Новое содержимое
  • Добавлен раздел «Количество элементов связи» и «Примеры».