Bir yedekleme dosyasının CDC içerip içermediğini nasıl anlarım?


9

SQL Server 2008'den 2014'e kadar, Veri Yakalama etkinken (CDC) bir veritabanının nasıl yedekleneceğini ve geri yükleneceğini biliyorum, ancak aradığım şey, CDC verileri içerip içermediğini belirlemek için tam bir yedekleme dosyasını sorgulamanın bir yoludur.

RESTORE FILELISTONLYDosya listesini veritabanından alır, ancak bunun yerine geri yüklemenin KEEP_CDC bayrağını kullanması gerekip gerekmediğini belirlemek için CDC durumunu alır gibi bir yol ne olurdu ?

Yedeklemenin CDC verileri içerip içermediğini belirlemenin bir yolu var mı?

Teşekkürler!

Yanıtlar:


7

(birisi bir yol bulursa - var olduğunu düşünmüyorum, cevabımı sileceğim :-))

Yedeklemenin CDC verileri içerip içermediğini belirlemenin bir yolu var mı?

CDC'nin etkin olup olmadığı, bir yedeklemeden bilmenin herhangi bir yolu olduğunu düşünmüyorum.

En çok veritabanının çoğaltma işlemine dahil olup olmadığını (kaputun altında, İşlem günlüğünü tarayan günlük okuyucu aracısı kullanıyorsa) veya DatabaseBackupLSN'nin sonucunu RESTORE HEADERONLY, yedekleme sırasında tetiklenen “denetim noktasının başlangıcı” gibi DatabaseBackupLSN kullanarak kullanıp kullanmadığını anlayabilirsiniz . başlar. FirstLSNVeritabanı boştayken ve hiçbir çoğaltma yapılandırılmadığında yedekleme alınırsa, bu LSN çakışır .

Microsoft'un CDC'nin etkinleştirilip etkinleştirilmediğini yansıtmamasının da bir güvenlik sorunu olabileceğini varsayıyorum. CDC, değişikliklerin sütun düzeyine kadar izlenmesini sağlayan kurumsal düzeyde bir teknolojidir. Bu, HIPAA, FISMA vb.Gibi düzenlemeler tarafından gereklidir.

Gönderen Geri Yükleme veya Bağlama Veritabanı Değişim veri yakalama için etkin

SQL Server, bir veritabanı geri yüklendikten veya eklendikten sonra değişiklik veri yakalamanın etkin olup olmadığını belirlemek için aşağıdaki mantığı kullanır:

  • Bir veritabanı aynı veritabanı adına sahip aynı sunucuya geri yüklenirse, veri yakalamayı değiştir etkin kalır.
  • Bir veritabanı başka bir sunucuya geri yüklenirse, varsayılan olarak değişiklik veri yakalama devre dışı bırakılır ve ilgili tüm meta veriler silinir.
  • Değişiklik verileri yakalamayı korumak için, veritabanını geri yüklerken KEEP_CDC seçeneğini kullanın. Bu seçenek hakkında daha fazla bilgi için, bkz. GERİ YÜKLEME.
  • Bir veritabanı ayrılır ve aynı sunucuya veya başka bir sunucuya bağlanırsa, değişiklik yakalama özelliği etkin kalır.
  • KEEP_CDC seçeneği ile Enterprise dışında herhangi bir sürüme bir veritabanı eklenir veya geri yüklenirse, veri yakalama değişikliği SQL Server Enterprise gerektirdiğinden işlem engellenir. Hata mesajı 932 görüntülendi:

SQL Server veritabanı yükleyemiyor '%. * Ls' değişiklik veri yakalama etkin olduğundan. Şu anda yüklü olan SQL Server sürümü değişiklik verisi yakalamayı desteklemez. Desteklenen bir SQL Server sürümünü kullanarak veritabanındaki değişiklik verisi yakalamayı devre dışı bırakın veya örneği değişiklik verisi yakalamayı destekleyen bir sürüme yükseltin.


Kin - Her zamanki gibi, bir rock yıldızı DBA'sın. Ayrıntılar için teşekkürler. Ben aynı sonuca gelmişti düşünüyorum ve gerçekten sadece bir yedek CDC içerip içermediğini kontrol etmenin bir yolu olmadığını doğrulamak için birini arıyordum. İyi günler. Teşekkürler!
Steve Stedman

@SteveStedman Nazik sözler için teşekkürler. Sorunuz cevaplanırsa lütfen cevabı yükseltin / kabul edin. Bu, gelecekteki okuyuculara da yardımcı olacaktır :-)
Kin Shah

Yazı için teşekkürler Steve ve teşekkürler @Kin, bugün yeni bir şey öğrendim.
SQLBoy

Not: CDC artık 2016SP1 Standard veya üzeri sürümlerde de mevcuttur ve daha yaygın hale gelmektedir.
SSMS'deki
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.