Yanıtlar:
Günlük sevkiyatı bir yedekleme senaryosu değildir. Yarı yüksek kullanılabilirlik senaryosu.
Yedeklemeler için tam, diferansiyel ve işlem günlüğü yedeklemeleri vardır. Hepsi birlikte kullanılmalıdır. SLA'nız bunları nasıl kullandığınızı belirler. Çoğu tipik senaryo gece yarısı tam yedekleme, öğle saatlerinde farklı yedekleme ve her 30 veya 15 dakikada bir işlem günlüğü yedeklemesidir.
Ve unutmayın: Tamam olup olmadığını test etmek için geri yükleyene kadar geçerli bir yedeklemeniz yok.
Muhtemelen bir yedekleme stratejisi diye bir kavram yoktur: bir geri yükleme stratejiniz vardır, çünkü bu, tekrar faaliyete geçmenizin ne kadar süreceğini belirler *.
Tüm stratejiler, sonraki diferansiyel ve / veya günlük yedeklemelerini geri yüklemek için tam bir yedekleme gerektirir.
Pratikte, 6 ay öncesinden 15 dakikalık günlük yedeklemeleri ile tam bir yedeklemeye sahip olabilirsiniz; ancak her günlük yedeklemesini son doludan uygulamanız gerekir.
Rastgele bir örnek olarak, bir senaryo haftalık, günlük diferansiyel 15 günlük olabilir.
Yedekleme aralığı en kötü durumda ne kadar veri kaybedeceğinizi belirler: 15 dakikalık günlük yedeklemeleri size 1 saniye ile 14 dakika 59 saniye arasında, ortalama 7,5 dakika arasında veri kaybı sağlar. Bu kabul edilebilir mi?
Günlük nakliyesi, manuel yük devretme ile sıcak beklemede: yedek değil, yüksek kullanılabilirlik seçeneğidir.
Her duruma uyan tek bir strateji yoktur. Ancak, elinizde neler olduğunu anlamak önemlidir. Tam yedeklemeler tam olarak göründükleri gibidir: Veritabanınızın tam bir yedeği, işlem günlüğü eksi. Diferansiyel yedeklemeler, son tam yedeklemeden bu yana veri dosyalarındaki değişikliklerin yedekleridir. İşlem Günlüğü yedeklemeleri, son İşlem Günlüğü yedeklemesinden bu yana işlem günlüğünde depolanan tüm işlemleri yedekler. İşlem Günlüğü yedeklemeleri zaman içinde bir noktaya geri yüklemenizi sağlar. Bu bir gereksinimse, kurtarma modunuzu "Tam" olarak ayarlamanız gerekir ve bir kurtarma durumunda ne kadar veri kaybetmek istediğinize bağlı olarak düzenli İşlem Günlüğü yedeklemeleri almanız gerekir.
İşlem Günlüğü yedekleriyle uğraşırken, bir günlük zincirinin ne olduğunu anlamak önemlidir. Benim sözlerime göre, bir günlük zinciri, veritabanınızı belirli bir zamana geri yüklemek için geri yüklenmesi gereken yedekleme serisidir. İşlem günlüklerini geri yüklemeye başlamak için öncelikle WITH NORECOVERY seçeneğini kullanarak tam bir yedeklemeyi geri yüklemelisiniz. Ayrıca diferansiyel yedeklemeleri gerçekleştirirseniz, aynı NORECOVERY İLE seçeneğini kullanarak geri yüklemek istediğiniz noktadan önce en son diferansiyel yedeklemeyi geri yüklemek istersiniz. Bu noktada, son yedekleme hariç tüm yedeklemelerde WITH NORECOVERY seçeneğini kullanarak İşlem Günlüğü yedeklemelerini sırayla geri yüklemeniz gerekecektir. Zamanında geri yükleme hakkında daha fazla bilgi için bu bağlantıya göz atın. http://msdn.microsoft.com/en-us/library/ms175093.aspx
Belirtildiği gibi, Log Shipping bir yedekleme stratejisi değildir, ancak bir olağanüstü durum kurtarma durumunda geri yükleme sürelerini önemli ölçüde azaltabilir. Dikkat edilmesi gereken bir nokta da, çoğaltmanın felaketten önceki gibi çalışması için herhangi bir çoğaltma yayınının Günlük Gönderim sunucusuna yazılması ve başlatılması gerektiğidir. Daha büyük yayınlarda bu, üretim seviyesine geri dönme süresinde önemli bir artışa neden olabilir.
Bu yardımcı olur umarım,
Mat
bunlar SQL Server için yedekleme stratejileri değildir. Tam ve diferansiyel yedeklemeler, bir SQL Server veritabanında yapabileceğiniz yedekleme türleridir; Günlük Gönderme ise Yüksek Kullanılabilirlik stratejisidir (günlük yedeklemelerini planlanan bir zamanda bir sunucudan diğerine taşıyarak ve bu 2 veritabanını yedeklerinizin sınırı).
Felaket Kurtarma hakkında güzel bilgiler (yedekleme ve geri yükleme :-)) MSDN'de bulabilirsiniz: burada ve burada . Kısacası, bir arıza durumunda yedeklemelerden ne kadar veri kurtarabileceğinizi seçmeniz gerekir. Yedekleme stratejisinin aklı başında bir örnek, her gün tam bir yedekleme ve her saat yedekleme (bu sizin ihtiyaçlarınıza bağlıdır) olacaktır, bu nedenle bu durumda veritabanını tam yedeklemeden + tüm günlük günlük yedeklemesinden geri yükleyebilirsiniz.
DR hakkında başka bir hoş referans Simple_Talk'ta bulabilirsiniz .
Tabii ki, sadece veritabanınızı geri yüklemeniz gerekmiyor, veritabanının bir parçası olduğu sunucu ve uygulama bağlamında kurtarma var. Henüz kendim kullanmadım, ancak Veri Koruma Yöneticisi ihtiyacınız varsa daha kapsamlı bir iş yapıyor gibi görünüyor.
En iyi yol, üç yedekleme türünün tümünü birlikte kullanmaktır. Tabii ki, işlem günlüğü yedeklemesinin diferansiyel yedeklemesini yoksayabilirsiniz. Her şey veritabanınıza, ne kadar hızlı büyüdüğüne, veritabanınızda ve diğerlerinde ne sıklıkta değişiklik yaptığınıza bağlıdır. Yedekleme planınızı seçmeden önce, ne kadar veri kaybetmek istediğinizi düşünün? Veritabanınızı kurtarmak için ne kadar zaman harcamaya hazırsınız?
Örneğin, veritabanı büyümeniz hızlıysa, aşağıdaki SQL Server yedekleme stratejisini kullanabilirsiniz: tam yedekleme - günde bir kez, farklı yedeklemeler - iki saatte bir ve işlem günlüğü yedeklemeleri - 20 dakikada bir. Bu durumda, arıza meydana gelirse, çalışmanızı 19 dakikadan fazla kaybetmezsiniz. Başka bir örnek, veritabanı büyümeniz yavaşsa, günde bir kez tam yedekleme, altı saatte bir diferansiyel yedekleme ve her saat işlem günlüğü yedeklemesi yapabilirsiniz.
Bir ipucu daha - veritabanınızın güvenli olduğundan emin olmak için, zaman zaman bir test sunucusunda yedeklerinizi geri yükleyin.