2008-11-17 21 views
7

this question için bir takip numarası olarak SQL Server yedekleme/bakım planınızın ne olduğunu ve nasıl daha iyi bir hale getirebileceğimi merak ediyorum. SQL Server Yedekleme/Bakım Planınız nedir?

Şu anda planın sihirbazından iki düz-jane bakım planları koşuyorum.

gece ilk çalışmasını ve hemen her şeyi yapar ...

  • Tam veritabanı ve işlem günlük yedekleme
  • bütünlük denetimi, yeniden vb indeksi, Yeniden Hesapla istatistikleri, (Ben artımlı yedekleme dışında her şeyi kontrol)

Diğer üç saatte bir çalışır ve artımlı bir yedekleme yapar (paranoyak olduğumu, bunun muhtemelen aşırı olduğunu biliyorum).

Yedekler diske, tam yedeklemeler SAN gönderilir edilir, bir hafta boyunca korudu.

Ne düşünüyorsun, bu mantıklı bir plan mı? Baska öneri?

DÜZENLEME: Bu SQL Server 2005 DB, 5 GB ise 1GB/ay yaklaşık büyür olduğunu.

cevap

7

Kulağa hoş geliyor. Ben daha çok paranoyakım. İki günlük tam yedekleme ve saatlik işlem kaydı yedekleri yapıyorum. Veri tabanının veya kursun büyüklüğüne göre değişir. Yedeklemeler doğrudan diske yapılır ve daha sonra her gece kasete yedeklenir.

Muhtemelen her gün bakım görevleri yapmak gerekmez. Sadece haftasonlarında yapıyorum, her akşam yeniden dizilen bu masa hariç. Yine bu, veritabanının büyüklüğüne ve etkinliğine bağlıdır. Yeterli cpu ve disk alanı var ise

yer kazanmak ve bant veya başka bir yerde daha hızlı transfer yapmak için, disk yedekleme zip olabilir.

2

ben dont yedekleri her 3 saatte çalıştırarak paraniod düşünüyorum. Temel olarak, yedekleme planınız geri yükleme gereksinimleriniz tarafından ölçülmelidir. Düşürken ne kadar veri kaybettiğinize karşı, ne kadar uzun bir süre kaybetme gücüne sahip olabilirsiniz. SQL Server için, yedekleme planınıza işlem günlüğü yedeklemeleri ekleyerek önemli ölçüde kaybetmek istediğiniz veri miktarını daraltabilirsiniz. Birçok kişi, sistemden geçen işlemlerin miktarına bağlı olarak bunu birkaç dakikada bir yapıyor. Bir geri yükleme yapmak için, son dolu, son artışı ve sonra artan işlemden sonra tüm işlem günlüğü yedeklerini geri yüklersiniz. Bu size minimum veri kaybı sağlayabilir, ancak tüm işlem kaydı yedeklerini uygulamak biraz zaman alabilir. Ben oldukça düzenli takip bkz: - Haftalık Artan yedekleri - Gecelik Log yedekleri - Tam yedeklemeler gereksinimlere bağlı birkaç dakikada (bir saat vb kez iyi olabilir)

3

Eğer kullanıcılar/müşterilerle konuşan olmalıdır/veri muhafızları - ne diyorsanız onu arayın. Ne kadar iş kaybedebileceklerini net olarak anlamaları gerekir. Eğer yoksa bir SLA yaz. Kötü haber söz konusu olduğunda sürpriz istemezsin.

Ayrıca, geri yükleme işleminin zaman aldığını da anlamaları gerekir. Kabul edilebilir bir geri yükleme süresi oluşturmak için kurtarma planınızı planlamanız gerekir. Bu, her 5 dakikada bir Günlük tam yedekleme, 4 fark ve günlük yedeklemesi anlamına gelebilir. Bu, Marcus Erickson'un söylediği gibi deli ya da paranoyak değildir - her şey sizin bilginize ve kuruluşunuzun üzerine koyduğu dolar değerine düşer.

1

Oluşturduğunuz yedeklemelerden (bir sınama sistemine) geri yüklemeye çalıştığınız ateş birimleri oluşturmayı unutmayın. Bu belki ayda bir kez yapılmalıdır.

1

Müşterilerime önerdiğim en düşük miktar, veritabanının gece tam yedeklemesi ve ardından her 3 saatte bir işlem yedeklemesi yapmaktır. Beni her zaman kaç kişinin bir yedeği kurmadığı beni şaşırtıyor. Bunlar her zaman kötü çağrılardır. Bence

1

iyi yoludur:

o geri kolaylaştırır arıza durumunda,

BACKUP DATABASE database TO DISK = 'd:/full.bak'

bir değişiklik yedeği her altı saatte tam veritabanı yedeği 12 saatte olun süreç

BACKUP DATABASE database TO DISK = 'd:/diff.bak' WITH DIFFERENTIAL

ve tabii ki, işlem günlüğü yedeklerini yüklenebileceğini h saatte bir yapmak daha iyidir.

BACKUP LOG database TO DISK = 'log.bak'

arızası durumunda iyileşme sürecinin önümüzdeki olacaksa:

  • son tam yedekleme
  • son değişiklik yedeği
  • son işlem günlük

Tam kurtarma modelini kullanmanın daha iyi olduğu kabul edilmelidir. zamanında iyileşmeyi sağlamak.