sys.dm_qn_subscriptions
Изменения: 12 декабря 2006 г.
Возвращает сведения об активных подписках на уведомления о запросах на сервере. Можно использовать данное представление для проверки активных подписок на сервере или в указанной базе данных, или проверки указанного сервера-участника.
Имя столбца
Тип данных
Описание
id
int
Идентификатор подписки.
database_id
int
Идентификатор базы данных, для которой был выполнен запрос уведомлений. Эта база данных хранит информацию, относящуюся к данной подписке.
sid
varbinary(85)
Идентификатор безопасности сервера-участника, который создал подписку и которому она принадлежит.
object_id
int
Идентификатор внутренней таблицы, в которой хранятся данные о параметрах подписки.
created
datetime
Дата и время создания подписки.
timeout
int
Время ожидания для подписки. Уведомление будет снабжено меткой, указывающей на то, что оно должно сработать по истечении этого времени.
Примечание.
Срабатывание может произойти позже, чем истечет указанное время ожидания. Однако если изменение, делающее подписку недействительной, произойдет после указанного времени ожидания, но до срабатывания подписки, 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, это представление возвращает данные о принадлежащих текущему пользователю подписках. |
Примеры
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 г. |
|