Yayınlanmış çoğaltılmış DB'nin DB uyumluluk düzeyini 90'dan 100'e değiştirmenin etkisi


11

Şu anda uyumluluk düzeyi 90 (2005) altında çalışan bir sürü yayımlanmış veritabanına sahip bir SQL Server 2008 R2 sunucum var.

Abonelik veritabanları da SQL Server 2008 R2'dir, ancak hedef veritabanları uyumluluk düzeyi 100'e ayarlanmıştır ve çoğaltma iyi çalışır.

Yayınlanan veritabanlarının uyumluluk düzeyini değiştirirsem, çoğaltmayı herhangi bir şekilde etkiler mi yoksa tüm abonelikleri yeniden başlatmanız ve çoğaltmayı yeniden başlatmanız mı olur?

Yayınlanan veritabanı uyumluluk düzeyini değiştirmenin çoğaltma depolanan yordamların nasıl çalışacağını değiştirebileceğinden şüpheleniyorum, ancak% 100 emin değilim.

Durum böyle mi?


İlginç bir soru, ancak bu veritabanlarının uyumluluk düzeylerini değiştirmelerinin bir nedeni var mı? İşler yolunda
giderse

Onları değiştirmek istememizin temel nedeni, DB ve oturdukları sunucuların tek düğümlü 2005 kutusundan çok düğümlü 2008R2 kümesine yükseltilmiş olmasıdır. Ayrıca, kullanmaya başlayabileceğim birkaç başka işlevsellik parçası (MERGE gibi) vardır.
Bob

1
Uyumluluk seviyesinin ne yaptığına dair bu soruyu okumak isteyebilirsiniz: dba.stackexchange.com/questions/5166/…
Jon

Uygarlığın sonu. Birlikte yaşayan kediler ve köpekler. Toplu histeri. Ayrıca hükümetin kapanmasına neden olabileceğini de belirtmeliyim. Ancak, bu konuda net görünüyorsunuz.
swasheck

Yanıtlar:


4

Aşağıdaki adımları takip edebilirsiniz:

  • Günlük için Log Reader Agent'ın çalıştığından emin olun. Varsayılan olarak, aracı sürekli olarak çalışır.
  • Yayınlanan tablolarda kullanıcı etkinliğini durdurun.
  • Günlük Okuyucu Aracısı'nın işlemleri dağıtım veritabanına kopyalaması için zaman tanıyın ve aracıyı durdurun.
  • Tüm işlemlerin işlendiğini doğrulamak için sp_replcmds yürütün. Bu prosedürden elde edilen sonuç boş olmalıdır.
  • Sp_replcmds ile bağlantıyı kapatmak için sp_replflush yürütün.
  • Veritabanının uyumluluk seviyesini değiştirin .
  • Günlük Okuyucu Aracısını başlatın.

Çok benzer bir kurulum var ve aynı şeyi yapmak istiyorum ama benim dağıtım veritabanı da 90 uyumluluk modunda. Anladığım kadarıyla, dağıtımcı yayıncı olarak daha düşük bir uyumluluk modunda çalışamaz. İşlemlerin sırası basitçe "(yayımlanmış) veritabanının uyumluluk düzeyini değiştir" den önce - günlük okuyucusu kapatıldıktan sonra "Distribütörün uyumluluk düzeyini değiştir" i eklemektir.
Sıra Mann

@QueueMann "Change compatibility level of distributor" before "Change the compatibility level of the (published) database"doğru. Dağıtım veritabanı, Publisher ile aynı veya daha yüksek uyumluluk düzeyinde olmalıdır. Bir yayıncı, bir dağıtımcı ile aynı veya daha düşük düzeyde olabilir.
Kin Shah

2

Bunu yaptık, sadece güvenli olmak için bu veritabanını çoğaltmayı bıraktık, uyumluluk seviyesini değiştirdik, sonra yeniden başlattık. Hiçbir sorun yaşamadık. Oldukça küçük bir yayındı ve sadece bir veritabanı abone oldu. Çoğaltma senaryolarınız daha karmaşık hale geldikçe bunun daha zor olabileceğini düşünüyorum. (ör. birçok dbs'den yayın almak için db'ye abone olmak vb.)

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.