SORU
1 AĞUSTOS 2008, Cuma


SQL Server bir tablo için değişiklikleri kontrol ediyorum.

Nasıl tetikler kullanarak veya herhangi bir şekilde veritabanı yapısı değiştirmeden bir tablo için değişiklikleri için SQL Server bir veritabanı izleyebilir miyim? Tercih benim programlama ortamı .NET ve C#.

* SP4 *7 veya daha yeni herhangi bir destek olmak istiyorum. Benim uygulama başka bir şirketin ürün için cıvata-veri görselleştirilmesi. Müşteri tabanımızı binlerce, biz her yükleme sırasında üçüncü taraf satıcı tabloyu değiştirmek gereksinimleri koymak istemiyorum.

Tarafından< . em ^"bir tablo için değişiklikleri"Tablo veri sayfası tablo yapısında değişiklik değil yani.

Sonuçta, değişim aralığı değişim için onay yerine benim uygulamada bir olayı tetiklemek için istiyorum.


Eylem benim gereksinimleri (hayır tetikler veya şema değiştirme, SQL Server 2000 ve 2005) verilen en iyi kursu T-SQL BINARY_CHECKSUM işlevi kullanmak gibi görünüyor. Uygulamak için plan yoludur bu

Her X saniye aşağıdaki sorguyu çalıştırın:

SELECT CHECKSUM_AGG(BINARY_CHECKSUM(*)) FROM sample_table WITH (NOLOCK);

ve saklı değer karşı karşılaştırın. Eğer değeri değişirse, satır tablo satırı üzerinden sorgu kullanarak git

select row_id,BINARY_CHECKSUM(*) from sample_table WITH (NOLOCK);

ve saklı değerlere karşı döndü sağlaması karşılaştırın.

CEVAP
2 AĞUSTOS 2008, CUMARTESİ


SAĞLAMA komut bir göz atın:

SELECT CHECKSUM_AGG(BINARY_CHECKSUM(*)) FROM sample_table WITH (NOLOCK);

Bu içeriği değişmedi bu tablo her zaman olduğu gibi uzun dönemde de aynı sayıda döner. Daha fazla bilgi için: bu benim yazı bakın

CHECKSUM

Bu tablo değişti önbellek bağımlılıkları yeniden inşa etmek için kullanılır:
ASP.NET 1.1 database cache dependency (without triggers)

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • CMTelly

    CMTelly

    2 Mayıs 2007
  • Creavite

    Creavite

    8 Mart 2009
  • metal571

    metal571

    30 Mayıs 2006