Veri tabanı yedekleri


2

10GB RDBMS (SQL Server) var.Olabildiğince sık olarak yedeklemek istiyorum, ancak bunun günde birkaç kez yapılmasını sağlamak için çok fazla alana ihtiyacım olacak gibi görünüyor.

Bu boyutta bir DB'yi yedeklemek ne sıklıkta makul olur?Yedekler normalde nasıl saklanır?

Amazon S3'e baktım ve insanların DB yedeklemelerini yapmak için böyle bir hizmeti kullanmasının ne kadar yaygın olduğunu merak ediyorum.

  0

Thoreau ile aynı fikirdeyim, ancak mümkün olduğu kadar çok yedekleme yapmak istediğinizi söylediğinizden, ihtiyaçlarınız doğrultusunda her 2-6 saat gibi bir daha sık/artımlı yedekleme yapmak isteyebilirsiniz. 14 eyl. 112011-09-14 15:22:23

1

Hangi SQL sürümü ile çalışıyorsunuz?"Mümkün olduğunca sık" ne demek?Bunu neden yapmak istiyorsun?

Tam yedekleme almak zorunda değilsiniz.Haftada bir kez tam ve her gece bir diferansiyel yapabilirsiniz.T-sql veya SSMS ile n birkaç günden sonra yedeklerin otomatik olarak silinmesini sağlayarak yedeklerinizi düzenli ve düzenli tutarsınız.

Mümkün olduğu kadar sık?İşlem günlüğü yedeklemeleri neden her 5 dakikada bir, ardından 5 günde bir silinmiyor?

:: Daha fazla soru ekledim ::


4

Bence asıl soru, diğer kişilerin veritabanlarını ne kadar sıklıkla yedekledikleri değil - işinizin ne düzeyde bir kaybı kabul edeceğidir.Eğer sunucunuz ölürse, 24 saat öncesinden bir yedekleme dosyasına geri dönmekten mutlu olacaklar mı yoksa bir saat öncesinden bir taneye mi ihtiyaç duyacaklar?

Tüm üretim veritabanlarımız günde bir kez tam bir yedekleme yapar, ardından her saat başı işlem günlüğü yedekleri çalıştırır.Tam bir başarısızlık durumunda, en kötü durum senaryomuz bir saatlik veriyi kaybetmemizdir (gerçekte kendimizi buna karşı korumak için veritabanı yansıtma kullanmamıza rağmen).İşlem günlüğü yedekleri de size zamanında geri http://msdn.microsoft.com/en-us/library/ms179451.aspx yapma seçeneği sunar: http://msdn.microsoft.com/en-us/library/ms179451.aspx

Diğer bir faktör ise veritabanının kurtarma modelidir - tam kurtarma modundaysanız, işlem günlüğünün yönetilemez hale gelmesini durdurmak için işlem günlüğü yedeklemelerine ihtiyacınız olacaktır.Buna karşılık, basit bir kurtarma kullanıyorsanız işlem günlüğü yedeklemeleri bir seçenek değildir.

Bu iyi bir başlangıç ​​noktasıdır: http://msdn.microsoft.com/en-us/library/ms191239.aspx

Umarım yardımcı olur...


1

Diyelim ki yoğun bir zaman geçirmeniz için ortak bir iş senaryosu var: Pazartesi-Cuma -15.00 arası.Sonra şunu öneririm: Pazar gecesi tam yedekleme.Saat 8:00, 18:00 ve 01:00 arasında farklı yedeklemeler (kurtarma süresini azaltmak için).Her saat başı veya işletmenizin gerektirdiği şeye bağlı olarak günlükleri yedekleyin.

Saklama süresine bağlı olarak, eski yedekleme dosyalarını silmek için otomatik temizleme işiniz olmalıdır.

Yedeklerinizi bir çeşit yedek diskte (yansıtılmış) saklamalısınız.

Amazon S3 kullanıyorsanız, bant genişliği, depolama ve alma/koyma istekleri için ödeme yapmanız gerekir.O zaman DB'niz hassas verileri depolarsa, başka bir komplikasyon daha vardır.Bunun yerine harici bir sürücü veya NAS cihazı alıp yedeklerinizi bunlarda saklayabilirsiniz.Diskin ucuz olması nedeniyle fiyat bir sorun olmamalıdır.


5

SQL Server'daki yedeklemelerin nasıl çalıştığını anlamadığınız anlaşılıyor.SQL Server'da üç farklı yedekleme türü vardır.

FULL - Tam veritabanı yedeklemeleri, tüm veritabanını ve etkin işlem günlüğünü tek bir (veya şeritli, ancak şimdilik bu özelliği görmezden gelir) diskine atıyor.

FARKLI - Diferansiyel veri tabanı yedeklemeleri, son yedeklemeden sonra değiştirilen tüm verileri bir yedekleme dosyasına yedekler.Diferansiyel yedeklemeden geri yüklemek için, diferansiyel yedeklemeden önce alınmış tam yedeklemeye sahip olmalısınız.

LOG - Günlük yedekleri, yalnızca işlem günlüğünde bulunan verileri yedekler.Günlük yedeklemeleri, veritabanını o zaman belirli bir noktaya geri yükleme yeteneği verir (örneğin, bir kişi bir masayı düşürdüyse, masanın bırakıldığı bir noktaya geri döndürebilirseniz, o tablodaki tüm verileri geri alabilir).LOG yedekleri, veritabanınızın TAM veya BULK_LOGGED kurtarma modunda olmasını gerektirir.Günlük yedeklemelerini geri yüklemek için, geri yüklemek istediğiniz günlük yedeklemesinden önce en son tam yedeklemeye sahip olmak zorundasınız, isteğe bağlı olarak tam yedeklemeyle günlük yedeklemesi arasında alınan diferansiyel yedeklemeyi ve tam yedeklemeli veya diferansiyel yedeklemeyle tüm günlük yedeklemeleri arasında geri yüklemek istediğiniz son günlük dosyası.

Tanımladığınızdan, olabildiğince az veri kaybetmeniz gerekiyor gibi geliyor.Kurtarma modunu FULL veya BULK_LOGGED olarak değiştirmelisiniz (çoğu kişinin seçtiği TAM'dir) ve ardından her birkaç dakikada bir günlük tam yedekleme ve işlem günlüğü yedeklemelerini ayarlamanız gerekir.Günlük yedeklemelerini çalıştırma sıklığı, ne kadar veri kaybedebileceğinize bağlı olacaktır.İş bu sayıyı belirleyen sen olmalı, sen değil.Gereksinimlere bağlı olarak her 10-15 dakikada bir günlük yedeklemesi yapmak nadir değildir.

Yedeklemeler ayarlandıktan sonra, birkaç gün sonra dosyaları silmek üzere bir şeyler yapılandırmak istersiniz (iş gereksinimlerine ve ne kadar paraya mal kalacağınıza bağlı olarak).

Veritabanlarını başka bir EC2 kullanılabilirlik bölgesindeki bir sunucuya yedeklemek isteyeceksiniz, böylece Amazon kesintisinin bu yılın başından itibaren tekrarlanması durumunda yedekleme verileriniz hala güvende olacak.

Yedeklerinizin doğru yapıldığından emin olmak için bir veya iki saat içinde bir danışman getirmeniz faydalı olabilir.Doğru yapılmazlarsa, şimdi sistem arızasında değil, bunu çözmenin zamanı geldi.