Sorgu bildirimleri ortaya çıktığında anlama
Sorgu bildirimleri arkasında bir bildirim iletisi gelene kadar önbelleğe alınan veriler üzerinde uygulama güvenebilir kavramdır.If SQL Server can no longer guarantee that the cached data is reliable, SQL Server sends a notification message.SQL Server sends a query notification for a subscription when one of the following events occurs:
Sorgunun içerdiği satırları sonuçlar değişmiş olabilir.
Abonelik süresi doluyor.
Sunucuyu yeniden başlatır.
Sorgu bildirim abonelik oluşturulamadı (örneğin, deyim içinde belirtilen gereksinimlere uymuyor Bildirim için bir sorgu oluşturma.
Sunucu yoğun olarak yüklenir.
Abonelik bağlıdır nesneleri bırakılan veya değiştirilmiş.
Dikkat SQL Server bir sorgu bildirim, değiştirme veri olaylarına yanıt olarak veya bir değişiklik değil gerçekten etkileyen sonuçlar yanıt oluşturabilirsorgusu. Bir update deyim sorgu tarafından döndürülen satır değiştiğinde satır güncelleştirme sorgusundaki sütun değiştirseniz bile, bildirim ateşlenmesine sonuçlar...Sorgu bildirimleri genel uygulamalar için veri önbelleğe alma performansı artırma amacı desteklemek üzere tasarlanmıştır.Sunucu yoğun olarak yüklendiğinde, SQL Server belirleme işlemi gerçekleştirmek yerine, abonelik için bir sorgu bildirim iletisi üretebilir mi sonuçlar sorgusu değişti.
Bildirim aboneliği oluşur önce Veritabanı Altyapısı her çalışan deyim abonelik isteği.Bu nedenle, hem sorgu hem de sorgu tarafından döndürülen verileri değiştiren deyimleri Komut içeriyorsa, abonelik isteğini içeren komut tamamlamadan önce uygulama bildirim iletisi alabilir.
Her abonelik belirtilen en az yaşam süresi vardır.En az yaşam süresi sonra SQL Server Abonelik kaldırır ve oluşturur bir bildirim iletisi.Bildirim artık etkin olmayan uygulama ileti bilgilendirir ve SQL Server ise artık izleme değişiklikleri sorgu.
Zaman SQL Server başlıyor, sunucu otomatik olarak veritabanı tüm sorgu Bildirimi abonelikleri için sorgu bildirim iletileri oluştururBu uygulamalar hemen önbelleğe alınmış verileri yenilemek ve sağlar SQL Server başlatma olmadan işleme sorgudaki her bildirim.Bir veritabanı düşürdüğünüzde Veritabanı Altyapısı üretir sorgu bildirim iletileri tüm abonelikler kayıtlı bu veritabanı.
Sorgu bildirim gereksinimlerini karşılayan bir sorgu bildirim abonelik isteği gönderdiyseniz, veritabanını hemen bir sorgu bildirim iletisi üretir.Bu ileti uygulama sorgu için bir abonelik gereklerine uymaz olduğunu bildirir.Daha fazla, çünkü SQL Server Değişiklikleri uygulama göz önünde bulundurmanız gerekir sorguyu izleyemez sonuçlar sorgunun hemen yitirmez.
Not
Sorgu bildirim abonelik bağımlılık nesnesi tarafından yönetilen (gibi SqlDependency ADO.Uygulama ve veritabanı arasında bir bağlantı başarısız olursa) net bir olay üretir.Ancak, uygulama yeniden veritabanına ulaşabilirsiniz, uygulama hemen veritabanı erişilemez olduğu sırada oluşturulan herhangi bir bildirim alır.
Bir komut bir bildirim iletisi üretir, oluşturma ve bir uyarı iletisi gönderme işleminin bir parçası oluşur bir deyim, bildirim iletisi üretir hareketin içinde.If the Veritabanı Altyapısı cannot successfully create and send the notification message, the command fails and the failure is logged in the SQL Server error log.Dikkat Veritabanı Altyapısı bildirim kaldırır abonelik ne zaman bir bildirim iletisi üretilen, kullanılıp bakılmaksızın Veritabanı Altyapısı başarıyla üretmek bildirim iletisi.
Not
Abonelikler abonelik oluşturulan veritabanı kullanıcı hesabı bırakılan veya abonelik veritabanı iliştirildiğinde, devre dışı veya sorgu bildirim aboneliği KILL aboneliğini kaldırmak için kullanılan bir bildirim iletisi üretmeden kaldırılır.