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 日 |
|