sys.dm_qn_subscriptions (Transact-SQL)
Etkin sorgu hakkında bilgi Server'da bildirimleri abonelikleri döndürür.Sunucu veya belirtilen bir veritabanında etkin abonelikleri denetlemek için veya belirtilen sunucu sorumlusu için denetlemek için bu görünümü kullanabilirsiniz.
Sütun adı |
Veri türü |
Açıklama |
---|---|---|
Kimliği |
int |
abonelikkimliği. |
database_id |
int |
bildirim sorgusu içinde yürütüldü veritabanı kimliği.Bu veritabanı için bu abonelikilişkili bilgileri depolar. |
SID |
varbinary(85) |
Güvenlik Kimliğini oluşturulan ve bu aboneliksahibi olan sunucu asıl adı. |
object_id |
int |
abonelik parametreleri hakkında bilgi depolayan iç tablo kodu. |
oluşturulan |
datetime |
Tarih ve abonelik oluşturulduğu saat . |
zaman aşımı |
int |
Zaman aşımı saniye cinsinden abonelik için.bildirim , bu saat geçtikten sonra yangın için işaretlenir.
Not
Gerçek Açmadığınızda saat belirtilen saatdaha büyük olabilir-out.Ancak, geçersiz kılar bir değişiklik abonelik belirtilen saatsonra ortaya çıkar-Çıkış, ancak abonelik harekete geçirilmeden önce SQL Server Açmadığınızda, değişikliğin yapıldığı saat ortaya sağlar.
|
Durum |
int |
abonelikdurumunu gösterir.' % S'tablosunu tablo kodları listesi için açıklamalar altında bakın. |
İlişki Cardinalities
Dan |
Amacı |
Üzerinde |
Tür |
---|---|---|---|
sys.dm_qn_subscriptions |
sys.Databases |
database_id |
Çok bir |
sys.dm_qn_subscriptions |
sys.internal_tables |
object_id |
Çok bir |
Açıklamalar
Durum kodu 0 tanımlanmamış bir durumu gösterir.
Aşağıdaki durum kodları, bir abonelik bir değişiklik nedeniyle harekete belirtin:
Kod |
Küçük durumu |
Info |
---|---|---|
65798 |
Abonelik veri değiştiği için harekete |
Abonelik Ekle tarafından tetiklendi |
65799 |
Abonelik veri değiştiği için harekete |
Sil |
65800 |
Abonelik veri değiştiği için harekete |
Güncelleştirme |
65801 |
Abonelik veri değiştiği için harekete |
Birleştirme |
65802 |
Abonelik veri değiştiği için harekete |
tabloKes |
66048 |
Zaman aşımı süresi için harekete abonelik |
Tanımsız bilgi modu |
66315 |
Abonelik nesnesi değiştiği için harekete |
nesnenin veya kullanıcının bırakıldı |
66316 |
Abonelik nesnesi değiştiği için harekete |
Nesne değiştirilmiş |
66565 |
Abonelik veritabanı ilişkisi kesildi veya bırakılan çünkü harekete |
Sunucu ya da yeniden db |
66571 |
Abonelik veritabanı ilişkisi kesildi veya bırakılan çünkü harekete |
nesnenin veya kullanıcının bırakıldı |
66572 |
Abonelik veritabanı ilişkisi kesildi veya bırakılan çünkü harekete |
Nesne değiştirilmiş |
67341 |
abonelik yetersizliği nedeniyle tetiklendi od sunucudaki kaynakları |
abonelik yetersizliği nedeniyle tetiklendi od sunucudaki kaynakları |
Aşağıdaki durum kodları, bir abonelik oluşturulacağı başarısız olduğunu gösteriyor:
Kod |
Küçük durumu |
Info |
---|---|---|
132609 |
deyim desteklenmediği için abonelik oluşturulamadı |
Sorgu çok karmaşık |
132610 |
deyim desteklenmediği için abonelik oluşturulamadı |
abonelikiçin geçersiz deyim |
132611 |
deyim desteklenmediği için abonelik oluşturulamadı |
abonelikseçenekleri geçersiz küme |
132612 |
deyim desteklenmediği için abonelik oluşturulamadı |
Geçersiz yalıtım düzeyi |
132622 |
deyim desteklenmediği için abonelik oluşturulamadı |
dahili olarak kullanılır |
132623 |
deyim desteklenmediği için abonelik oluşturulamadı |
tablobaşına şablon sınırı |
Aşağıdaki durum kodları, dahili olarak kullanılır ve kill ve init modlarını denetle gibi classed:
Kod |
Küçük durumu |
Info |
---|---|---|
198656 |
Dahili olarak kullanılır: Kill ve init modlarını denetle |
Tanımsız bilgi modu |
198928 |
Abonelik yok |
DB iliştirildiği için abonelik harekete geçirdi. |
198929 |
Abonelik yok |
Kullanıcı kesildiğinden abonelik harekete geçirdi. |
198930 |
Abonelik yok |
Abonelik resubscription nedeniyle bırakıldı |
198931 |
Abonelik yok |
abonelik da öldürülüyor |
199168 |
Abonelik |
Tanımsız bilgi modu |
199424 |
Abonelik başlatıldı ancak henüz etkin |
Tanımsız bilgi modu |
İzinler
Sunucu üzerindeki görünüm server state izni gerektirir.
Not
Kullanıcı görünüm server state iznine sahip değildir, 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 bildirim abonelikleri dönmek
Aşağıdaki örnek, etkin sorguyu bildirim abonelikleri geçerli kullanıcının döndürür.Kullanıcı görünüm server state izni varsa sunucudaki tüm etkin abonelikleri döndürür.
SELECT id, database_id, sid, object_id, created, timeout, status
FROM sys.dm_qn_subscriptions;
GO
B.Belirtilen kullanıcı için etkin sorguyu bildirim abonelikleri döndürme
Aşağıdaki örnek, etkin sorguyu bildirim abonelikleri abone oturum açma tarafından verir Ruth0.
SELECT id, database_id, sid, object_id, created, timeout, status
FROM sys.dm_qn_subscriptions
WHERE sid = SUSER_SID('Ruth0');
GO
C.Sorgu bildirim abonelikleri için iç tablometa veriler döndürme
Aşağıdaki örnek sorgu bildirim abonelikleri için iç tablometa veriler döndürür.
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