Aracılığıyla paylaş


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.

NotNot
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