Değişiklik izleme yönetme

Değişiklik izleme yönetme yöntemi açıklanmıştır. Ayrıca, güvenlik yapılandırma ve izleme kullanıldığında depolama ve performans etkileri belirlemek açıklanır.

Değişiklik izleme yönetme

Katalog görünümleri, izinleri ve değişiklik izleme yönetme için geçerli olan ayarları aşağıdaki bölümlerde listelenmiştir.

Katalog görünümleri

Hangi tablolar ve veritabanları değişiklik izleme etkinleştirilmiş olduğunu belirlemek için aşağıdaki katalog görünümler kullanabilirsiniz:

Ayrıca, sys.internal_tables Katalog görünümü kullanıcı tablo için değişiklik izleme etkinleştirildiğinde oluşturulan iç tabloları listeler.

Güvenlik

İzleme bilgilerini kullanarak erişim değiştirmek için izleme işlevlerini değiştirmek, anapara aşağıdaki izinlere sahip olmalıdır:

  • En azından seçin izin sorgulanmakta tablo değişiklik izlenen tabloya birincil anahtar sütunlar.

  • Hangi değişiklikleri elde edilen tablo GÖRÜNÜMÜNDE değişiklik izleme izni. Aşağıdaki nedenlerle GÖRÜNÜMÜNDE değişiklik izleme izni gereklidir:

    • Değişiklik izleme kayıtları silinmiş olan satırları silinmiş satırları özellikle birincil anahtar değerleri hakkında bilgi içerir. Bazı hassas veriler silindi sonra asıl adı değişikliği izlenen tablo select izni verilmiş. Bu durumda, eğer bu değişiklik izleme kullanılarak silinen bu bilgilere erişmek için asıl istemem.

    • Izleme bilgilerini, hangi sütunları güncelleştirme işlemleri tarafından değiştirilmiş bilgilerini depolayabilir. Bir sorumlusunun izni için önemli bilgileri içeren bir sütun. Ancak, izleme bilgilerini mevcut olduğu için bir asıl bir sütun değeri güncelleştirildi, ancak asıl sütun değeri belirlenemiyor belirleyebilirsiniz.

Yükü izleme anlama

Bir tablo için değişiklik izleme etkinleştirildiğinde, bazı yönetim işlemleri etkilenir. Aşağıdaki tabloda işlemleri ve düşünmelisiniz efektlerini listeler.

İşlem

Değişiklik izleme etkinleştirildiğinde

DROP TABLE

Tüm değişiklik izleme bilgilerini bırakılan tablo kaldırılır.

ALTER TABLE DROP CONSTRAINT

PRIMARY key kısıtlaması bırakma girişimi başarısız olur. PRIMARY key kısıtlaması bırakılan önce değişiklik izlemeyi devre dışı bırakılması gerekir.

ALTER TABLO BIRAKMA SÜTUNU

Bırakılıyor sütunu birincil anahtar sütunu bırakarak parçasıysa, değişiklik izleme ne olursa olsun izin verilmez.

Bırakılıyor sütunu birincil anahtar bir parçası değilse, sütunu bırakarak başarılı olur. Ancak, bu veri eşitleme herhangi bir uygulama etkisi ilk anlaşılmalıdır. Bırakılan sütun, hala tablo için sütun değişiklik izleme etkinleştirilirse, izleme bilgilerini değişikliğin bir parçası döndü. Bırakılan sütun işlemek için uygulamanın sorumluluğundadır.

ALTER TABLO BIRAKMA SÜTUNU

Değişiklik izlenen tabloya eklenen yeni bir sütun varsa, sütun eklenmesi izlenmez. Yalnızca güncelleştirmeleri ve yeni sütuna yapılan değişiklikler izlenir.

ALTER TABLE ALTER COLUMN

Birincil olmayan anahtar sütunlarının veri türü değişiklikler izlenmez.

ALTER TABLE SWITCH

Bir bölüm geçiş başarısız olduğunda veya değişiklik izleme etkinleştirilmiş tabloların her ikisi de vardır.

drop INDEX veya alter INDEX DISABLE

Birincil anahtar zorlar dizin bırakılan veya devre dışı.

TRUNCATE TABLE

Tablo kesiliyor, değişiklik izleme etkinleştirilmiş olan bir tablo üzerinde gerçekleştirilebilir. Ancak, işlem tarafından silinmiş satırları izlenmez ve en az geçerli sürümü güncelleştirilir. Uygulamanın sürümünü denetler, onay sürümü çok eski olduğundan ve bir reinitialization gerekli olduğunu gösterir. Bu varlık izleme devre dışı ve tablo için reenabled değiştirme aynıdır.

Değişiklik izleme kullanarak dml işlemleri için değişiklik izleme işleminin bir parçası olarak depolanan bilgileri nedeniyle eklemek bazı ek yük.

dml üzerindeki etkileri

Değişiklik izleme, performans yükü dml işlemleri en aza indirmek için en iyi duruma getirilmiş. Değişiklik izleme tablo üzerinde kullanımıyla ilişkili artımlı performans ek yükünü bir dizin için bir tablo oluşturulduğunda ve saklanması gerekiyor sonucunda yükü benzer.

Bir dml işlemi tarafından değiştirilen her satır için iç değişiklik izleme tablo için bir satır eklenir. Bu etkisi göreceli olarak dml işlemi aşağıdaki gibi çeşitli faktörlere bağlıdır:

  • Birincil anahtar sütun sayısı

  • Kullanıcı tabloya satır değiştiriliyor veri miktarı

  • Bir hareket içinde gerçekleştirilen işlem sayısı

Değişiklik izleme etkin olup olmadığını anlık yalıtım, kullandıysanız, ayrıca tüm dml işlemleri için performans üzerinde bir etkisi vardır.

Depolama üzerindeki etkileri

Değişiklik izleme verilerini aşağıdaki türlerde iç tablolar içinde saklanır:

  • İç değişim tablosu

    Orada bir iç değişikliği tablo için değişiklik izleme etkinleştirilmiş olan her kullanıcı tablo.

  • İç işlem tablosu

    Veritabanı için bir iç işlem tablo yoktur.

Bu iç tablolar depolama gereksinimleri aşağıdaki yollarla etkiler:

  • Kullanıcı tablosundaki her satır için her değişiklik için bir satır iç değişim tablosuna eklenir. Bu satır, tepegöz artı yük birincil anahtar sütunlarını büyüklüğüne eşit bir değişken sabit küçük vardır. Satır, bir uygulama tarafından ayarlanan isteğe bağlı bağlam bilgileri içerebilir. Ve sütun izleme etkinleştirilmişse, her değişen sütun izleme tablo 4 bayt gerektirir.

  • Taahhüt edilen her hareket için bir iç işlem tablosuna bir satır eklenir.

İç diğer tablolarla izleme tabloları kullanarak değiştirmek için kullanılan alanı belirlemek için gibi sp_spaceused saklı yordamı. İç tabloların adlarını kullanarak elde edilebilir sys.internal_tables katalog görünümünde, aşağıdaki örnekte gösterildiği gibi.

sp_spaceused 'sys.change_tracking_309576141'
sp_spaceused 'sys.syscommittab'

Ayrıca bkz.

Başvuru

ALTER TABLE (Transact-SQL)

Veritabanı Özellikler (sayfa ChangeTracking)

alter database set seçenekleri (Transact-sql)

sys.change_tracking_databases (Transact-sql)

sys.change_tracking_tables (Transact-sql)

Kavramlar

Veri değişiklikleri izle

Veri değişiklikleri izle

Değişiklik izleme hakkında

Değişiklik veri ile çalışmak

Değişiklik izleme yönetme