sys.dm_qn_subscriptions (Transact-sql)
Etkin sorgu hakkında bilgi, sunucu için bildirim abonelikleri döndürür. Sunucu veya veritabanı etkin abonelikleri denetlemek için veya belirtilen sunucu asıl adı için denetlemek için bu görünümü kullanabilirsiniz.
Sütun adı |
Veri türü |
Açıklama |
---|---|---|
ID |
int |
Bir abonelik Kımlığı. |
database_id |
int |
İçinde bildirim sorgu yürütüldü veritabanı Kımlığı. Bu veritabanı, bu abonelik için ilgili bilgileri depolar. |
SID |
varbinary(85) |
Güvenlik kimliği oluşturulur ve bu abonelik sahibi olan sunucu asıl adı. |
object_id |
int |
Abonelik parametreleri hakkında bilgi depolayan iç tablo Kımlığı. |
oluşturulan |
datetime |
Tarih ve abonelik oluşturulduğu saat. |
zaman aşımı |
int |
Abonelik saniye cinsinden zaman aşımı. Bildirim, bu süre geçtikten sonra yangın için işaretlenir.
Not
Gerçek atış süresi belirtilen zaman aşımı büyük olabilir.Ancak, geçersiz kılar bir değişiklik abonelik belirtilen zaman aşımı, ama sonra abonelik pişirilir önce oluşur SQL Serverateş değişikliğin yapıldığı zaman ortaya sağlar.
|
durumu |
int |
Abonelik durumunu gösterir. Masanın altında açıklamalar kodları listesi için bkz. |
Ilişki Cardinalities
Kaynak |
Amacı |
Tarih |
Tür |
---|---|---|---|
sys.dm_qn_subscriptions |
sys.Databases |
database_id |
Çoktan bire |
sys.dm_qn_subscriptions |
sys.internal_tables |
object_id |
Çoktan bire |
Açıklamalar
Durum kodu 0 tanımlanmamış bir durumu gösterir.
Aşağıdaki durum kodları, bir abonelik bir değişiklik nedeniyle ateş belirtin:
Kodu |
Küçük durumu |
Bilgi: |
---|---|---|
65798 |
Abonelik veri değişti çünkü ateş |
Abonelik Ekle tarafından tetiklenen |
65799 |
Abonelik veri değişti çünkü ateş |
Sil |
65800 |
Abonelik veri değişti çünkü ateş |
Güncelleştirme |
65801 |
Abonelik veri değişti çünkü ateş |
Birleştirme |
65802 |
Abonelik veri değişti çünkü ateş |
TRUNCATE table |
66048 |
Zaman aşımı süresi için ateş abonelik |
Tanımsız bilgi modu |
66315 |
Abonelik nesnesi değişti çünkü ateş |
nesnenin veya kullanıcının çıkarıldı |
66316 |
Abonelik nesnesi değişti çünkü ateş |
Nesne değiştirilmiş |
66565 |
Abonelik veritabanı ilişkisi kesildi veya bırakılan çünkü ateş |
Sunucu ya da yeniden db |
66571 |
Abonelik veritabanı ilişkisi kesildi veya bırakılan çünkü ateş |
nesnenin veya kullanıcının çıkarıldı |
66572 |
Abonelik veritabanı ilişkisi kesildi veya bırakılan çünkü ateş |
Nesne değiştirilmiş |
67341 |
Abonelik tetiklenen yetersizliği nedeniyle od sunucudaki kaynakları |
Abonelik tetiklenen yetersizliği nedeniyle od sunucudaki kaynakları |
Aşağıdaki durum kodları, bir abonelik oluşturulan başarısız olduğunu belirten:
Kodu |
Küçük durumu |
Bilgi: |
---|---|---|
132609 |
Deyim desteklenmediğinden abonelik oluşturulamadı |
Sorgu çok karmaşık |
132610 |
Deyim desteklenmediğinden abonelik oluşturulamadı |
Geçersiz deyimi abonelik |
132611 |
Deyim desteklenmediğinden abonelik oluşturulamadı |
Geçersiz abonelik seçeneklerini ayarlama |
132612 |
Deyim desteklenmediğinden abonelik oluşturulamadı |
Geçersiz yalıtım düzeyi |
132622 |
Deyim desteklenmediğinden abonelik oluşturulamadı |
dahili olarak kullanılır |
132623 |
Deyim desteklenmediğinden abonelik oluşturulamadı |
her tablo şablonu sınırı |
Aşağıdaki durum kodları, dahili olarak kullanılır ve öldürmek ve init modları kontrol olarak sınıflandırılır:
Kodu |
Küçük durumu |
Bilgi: |
---|---|---|
198656 |
Dahili olarak kullanılan: öldürmek ve init modlarını denetle |
Tanımsız bilgi modu |
198928 |
Abonelik yok |
DB ekli oldu çünkü ateş abonelik |
198929 |
Abonelik yok |
Abonelik kullanıcı bırakıldı çünkü ateş |
198930 |
Abonelik yok |
Abonelik bir resubscription nedeniyle bırakıldı |
198931 |
Abonelik yok |
Abonelik Öldürüldü |
199168 |
Abonelik etkin |
Tanımsız bilgi modu |
199424 |
Abonelik başlatıldı ancak henüz aktif |
Tanımsız bilgi modu |
İzinler
Sunucu üzerindeki VIEW server state izni gerektirir.
[!NOT]
Kullanıcı VIEW server state izni varsa, bu görünüm, geçerli kullanıcıya ait Abonelikleri hakkında bilgi verir.
Örnekler
A.Geçerli kullanıcı için etkin sorguyu bildirimi abonelikleri döndürür
Aşağıdaki örnek, geçerli kullanıcı bildirimi abonelikleri için etkin sorgu döndürür. Kullanıcı VIEW server state izni varsa, sunucu tüm etkin abonelikleri döndürür.
SELECT id, database_id, sid, object_id, created, timeout, status
FROM sys.dm_qn_subscriptions;
GO
SELECT id, database_id, sid, object_id, created, timeout, status
FROM sys.dm_qn_subscriptions;
GO
B.Belirtilen kullanıcı için etkin sorguyu bildirimi abonelikleri döndürme
Aşağıdaki örnek verir etkin sorguyu bildirimi abonelikleri abone oturum açma tarafından Ruth0.
SELECT id, database_id, sid, object_id, created, timeout, status
FROM sys.dm_qn_subscriptions
WHERE sid = SUSER_SID('Ruth0');
GO
SELECT id, database_id, sid, object_id, created, timeout, status
FROM sys.dm_qn_subscriptions
WHERE sid = SUSER_SID('Ruth0');
GO
C.Sorgu bildirimi abonelikleri için iç tablo meta veri döndürme
Aşağıdaki örnek, sorgu bildirimi abonelikleri için iç tablo meta verileri verir.
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
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
Ayrıca bkz.
Başvuru
Dinamik yönetimi görünümler ve işlevler (Transact-sql)
Sorgu bildirimleri ilgili dinamik yönetim görünümleri (Transact-sql)
Sorgu bildirim aboneliği (Transact-sql) ÖLDÜRMEK