Değişiklik izleme hakkında
Değişiklik izleme etkin bir değişiklik izleme uygulamaları için bir mekanizma sağlayan basit bir çözümdür. Genellikle, uygulamaları değişiklikler için veri değişiklikleri ile ilgili bir veritabanı ve erişim bilgileri sorgulamak için etkinleştirmek için özel değişiklik izleme mekanizmaları uygulamaya uygulama geliştiricileri vardı. Genellikle bir sürü iş yer mekanizmaların oluşturma ve Tetikleyiciler kullanarak sık sık yer timestampsütunlar, izleme bilgilerini ve özel temizleme işlemleri depolamak için yeni tablo.
Farklı tür uygulama değişiklikleri hakkında ne kadar bilgi ihtiyaçları için farklı gereksinimleri vardır. Uygulamalar kullanıcı tabloya yapılan değişiklikler hakkında aşağıdaki soruları yanıtlamak için değişiklik izlemeyi kullanabilirsiniz:
Ne kullanıcı tablo için satır değişti?
Sadece bir satır değişti aslında gereklidir, satır değişti değil kaç kez ya da herhangi bir değer değişiklikleri orta.
En yeni verileri doğrudan izleniyor tablosundan alınabilir.
Bir satır değişti mi?
- Aslında bu bir satır değişti ve değişiklik hakkında bilgi değişikliği aynı işlem yapıldığı anda kayıtlı ve kullanılabilir olmalıdır.
[!NOT]
Uygulama yapılan tüm değişiklikler ve değiştirilen verilerin ara değerleri hakkında bilgi gerektiriyorsa, değişiklik veri yakalama, izleme, değişiklik yerine kullanmak uygun olabilir. Daha fazla bilgi için, bkz. Değişiklik veri yakalama hakkında.
Tek yönlü ve iki yönlü eşitleme uygulamaları
Verileri bir örneğiyle eşitlemek zorunda uygulamaları SQL Server Veritabanı Altyapısıdeğişiklikleri sorgulayabilmesi gerekir. Değişiklik izleme, hem tek yönlü ve iki yönlü eşitleme uygulamaları için temel olarak kullanılabilir.
Tek yönlü eşitleme uygulamaları
Tek yönlü eşitleme gibi uygulamalar, istemci veya mid-tier önbelleğe alma uygulaması, değişiklik izleme kullanan inşa edilebilir. Aşağıdaki resimde gösterildiği gibi bir önbelleğe alma uygulaması veri depolanmasını gerektirir Veritabanı Altyapısıve diğer veri depolarını önbelleğe alınacak. Uygulama Önbelleği veritabanında tablolara yaptığınız değişiklikler ile güncel tutmak gerekir. Geri geçirmek için bir değişiklik yok Veritabanı Altyapısı.
İki yönlü eşitleme uygulamaları
İki yönlü senkronizasyon uygulamalarından da bu kullanım değişiklik izleme inşa edilebilir. Bu senaryoda, örneği veri Veritabanı Altyapısıbir veya daha fazla veri depoları ile eşitlenir. Bu mağazalarda veriler güncelleştirilir ve değişiklikleri geri eşitlenmelidir Veritabanı Altyapısı.
İki yönlü eşitleme uygulama iyi bir örnektir, bazen bağlı bir uygulamadır. Bu tür bir uygulama, bir istemci uygulaması sorgular ve yerel deposunu güncelleştirir. İstemci ve sunucu arasında bir bağlantı sağlandığında uygulama sunucusu ile eşitler ve değiştirilen veriler her iki yönde akar.
İki yönlü senkronizasyon uygulamalarından çakışmalarını algılayan gerekir. Aynı veri eşitlemeler arasındaki sürede hem veri depolarını değiştirilmişse çakışma oluşacak. Çakışma algılama yeteneği ile bir uygulamayı değişiklikler kaybolmaz emin olabilirsiniz.
Nasıl çalışır izleme değiştirme
Değişiklik izlemeyi yapılandırmak için ddl deyimleri kullanabilirsiniz ya da SQL Server Management Studio. Daha fazla bilgi için, bkz. Değişiklik izlemeyi devre. Değişiklikleri izlemek için değişiklik izlemeyi ilk olmanız için veritabanı etkin ve sonra bu veritabanı içinde izlemek istediğiniz tablolar için etkinleştirilir. Tablo tanımını herhangi bir şekilde değiştirilmesi gerekmez ve hiçbir Tetikleyiciler oluşturulabilir.
Değişiklik izleme tablo için yapılandırıldıktan sonra herhangi bir dml deyimi tablodaki satırların etkileyen izleme bilgilerini kaydedilecek değişiklik yapılan her satır için neden olur. Değiştirilen satırları sorgulamak ve değişiklikler hakkında bilgi edinmek için kullanabileceğiniz işlevleri izleme,.
Birincil anahtar sütunu değerleri yalnızca kaydedilen izlenen tablosundaki bilgileri değişikliği bilgileri var. Bu değerler değiştirilmiş satırları tanımlamak. Bu satırların en son verileri elde etmek için bir uygulama kaynak tablo ile izlenen tabloyu birleştirmek için birincil anahtar sütun değerlerini kullanabilirsiniz.
Her satır için yapılan değişiklik hakkında bilgi de değişiklik izleme kullanılarak elde edilebilir. Örneğin, (INSERT, update veya delete) değişiklik veya güncelleştirme işleminin bir parçası değiştirilen sütunları neden dml işlemi türü.