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
订阅超时。在经过该时间之后,通知将被标记为激发。
注意:
实际的激发时间可能比指定的超时时间长。但是,如果在指定的超时之后、激发订阅之前发生了使订阅无效的更改,则 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
B. 返回指定用户的活动查询通知订阅
以下示例返回通过登录 Ruth0
进行的活动查询通知订阅。
SELECT id, database_id, sid, object_id, created, timeout, status
FROM sys.dm_qn_subscriptions
WHERE sid = SUSER_SID('Ruth0');
GO
C. 返回查询通知订阅的内部表元数据
以下示例返回查询通知订阅的内部表元数据。
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)
其他资源
帮助和信息
更改历史记录
发布日期 | 历史记录 |
---|---|
2006 年 12 月 12 日 |
|