Aracılığıyla paylaş


Değişiklik yedeklemeleri (SQL Server)

Şunlar için geçerlidir: SQL Server

Bu yedekleme ve geri yükleme makalesi tüm SQL Server veritabanları için geçerlidir.

Diferansiyel yedekleme, önceki en son tam veri yedeklemesini temel alır. Diferansiyel yedekleme, yalnızca o tam yedeklemeden bu yana değişen verileri alır. Bir farklı yedeklemenin temel aldığı tam yedekleme, farklı yedeklemenin tabanı olarak bilinir. Yalnızca kopya yedeklemeleri dışında tam yedeklemeler, veritabanı yedeklemeleri, kısmi yedeklemeler ve dosya yedeklemeleri de dahil olmak üzere bir dizi değişiklik yedeği için temel görevi görebilir. Dosya değişiklik yedeklemesi için temel yedekleme, tam yedekleme, dosya yedeklemesi veya kısmi yedekleme içinde yer alabilir.

Fayda -ları

Değişiklik yedeği oluşturmak, tam yedekleme oluşturmaktan çok daha hızlı olabilir. Değişiklik yedeklemesi yalnızca değişiklik yedeğinin temel aldığı tam yedeklemeden bu yana değişen verileri kaydeder. Bu, sık veri yedeklemeleri almayı kolaylaştırır ve bu da veri kaybı riskini azaltır. Ancak, artımlı yedeklemeyi geri yüklemeden önce temel yedeğini geri yüklemeniz gerekir. Bu nedenle, iki yedekleme dosyası gerektiğinden, değişiklik yedeğinden geri yükleme işlemi tam yedeklemeden geri yüklemeden daha fazla adım ve zaman alacaktır.

Veritabanının bir alt kümesi, veritabanının geri kalanından daha sık değiştirildiğinde değişiklik veritabanı yedeklemeleri özellikle yararlıdır. Bu gibi durumlarda, değişiklik veritabanı yedeklemeleri, tam veritabanı yedeklemeleri ek yükü olmadan sık sık yedekleme yapmanızı sağlar.

Tam kurtarma modeli kapsamında, diferansiyel yedeklemeler kullanmak, geri yüklemeniz gereken günlük yedeklemelerinin sayısını azaltabilir.

Farklı yedeklemelere genel bakış

Değişiklik yedeği, değişiklik tabanının ne zaman oluşturulduğu ve değişiklik yedeğinin ne zaman oluşturulduğu arasında değişen tüm kapsamların (fiziksel olarak bitişik sekiz sayfalık koleksiyonlar) durumunu yakalar. Bu, belirli bir değişiklik yedeğinin boyutunun temelden bu yana değişen veri miktarına bağlı olduğu anlamına gelir. Genel olarak, temel ne kadar eski olursa, yeni bir değişiklik yedeği o kadar büyük olur. Bir dizi değişiklik yedeklemesinde, sık güncelleştirilen bir kapsam her değişiklik yedeğinde farklı veriler içerebilir.

Aşağıdaki çizimde değişiklik yedeklemesinin nasıl çalıştığı gösterilmektedir. Şekilde, 6'sı değişmiş olan 24 veri uzantısı gösterilmektedir. Diferansiyel yedekleme yalnızca bu altı veri kapsamını içerir. Diferansiyel yedekleme işlemi, her bir uzantı için bir bit içeren bir bitmap sayfasını kullanır. Temelden bu yana güncellenen her kapsam için bit, bitmap içinde 1 olarak ayarlanır.

Diferansiyel bit eşleminin değiştirilen kapsamları nasıl tanımladiğine ilişkin diyagram.

Uyarı

Diferansiyel bit eşlemi, kopya-yedekleme işlemi ile güncellenmez. Bu nedenle, yalnızca kopya yedeklemesi sonraki değişiklik yedeklemelerini etkilemez.

Tabanından oldukça kısa bir süre sonra alınan bir farklılık yedeği, fark yedeğinin tabanından önemli ölçüde daha küçük olabilir. Bu, depolama alanı ve yedekleme süresi tasarrufu sağlar. Ancak veritabanı zaman içinde değiştikçe veritabanı ile belirli bir fark tabanı arasındaki fark artar. Değişiklik yedeklemesi ile tabanı arasındaki süre ne kadar uzun olursa, değişiklik yedeklemesi muhtemelen o kadar büyük olur. Bu, diferansiyel yedeklerin sonunda boyut olarak diferansiyel teme­le yaklaşabileceği anlamına gelir. Büyük bir değişiklik yedeklemesi, daha hızlı ve daha küçük bir yedeklemenin avantajlarını kaybeder.

Değişiklik yedeklemelerinin boyutu arttıkça, değişiklik yedeğinin geri yüklenmesi veritabanını geri yüklemek için gereken süreyi önemli ölçüde artırabilir. Bu nedenle, veriler için yeni bir değişiklik tabanı oluşturmak üzere belirli aralıklarla yeni bir tam yedekleme yapmanızı öneririz. Örneğin, tüm veritabanının haftalık tam yedeklemesini (tam veritabanı yedeklemesi) ve ardından hafta boyunca düzenli bir dizi değişiklik veritabanı yedeklemesi gerçekleştirebilirsiniz.

Geri yükleme zamanında, bir fark yedeğini geri yüklemeden önce temel yedeklemeyi geri yüklemeniz gerekir. Ardından, veritabanını bu değişiklik yedeğinin oluşturulduğu zamana getirmek için yalnızca en son değişiklik yedeklemesini geri yükleyin. Genellikle, en son tam yedeklemeyi ve ardından bu tam yedeklemeyi temel alan en son değişiklik yedeklemesini geri yüklersiniz.

Bellek iyileştirmeli tablolar içeren veritabanlarının diferansiyel yedeklemeleri

Değişiklik yedeklemeleri ve bellek için iyileştirilmiş tablolar içeren veritabanları hakkında bilgi için bkz. veritabanını Memory-Optimized Tablolarla Yedekleme.

Salt okunur veritabanlarının değişiklik yedekleri

Salt okunur veritabanları için, sadece tam yedeklerin kullanımı, farklı yedeklerle birlikte kullanıldıklarında yönetmekten daha kolaydır. Veritabanı salt okunur olduğunda, yedekleme ve diğer işlemler dosyada yer alan meta verileri değiştiremez. Bu nedenle, farklılık yedeği için gerekli olan ve değişiklik yedeğinin başladığı günlük dizisi numarası (fark tabanı LSN) gibi meta veriler master veritabanında depolanır. Veritabanı salt okunur olduğunda fark tabanı alınırsa, değişiklik bit eşlemi temel yedeklemeden bu yana gerçekleşenden daha fazla değişiklik olduğunu gösterir. Yedek küme sistem tablosunda depolanan veriler temelden bu yana değişip değişmediğini belirlemek için kullanıldığından differential_base_lsn , ek veriler yedekleme tarafından okunur, ancak yedeklemeye yazılamaz.

Salt okunur bir veritabanı yeniden oluşturulduğunda, geri yüklendiğinde veya ayrılıp eklendiğinde, değişiklik tabanlı bilgiler kaybolur. Bunun nedeni veritabanının master kullanıcı veritabanıyla eşitlenmemiş olmasıdır. SQL Server Veritabanı Altyapısı bu sorunu algılayamaz veya önleyemez. En son tam yedeklemeden sonra yapılan farklı yedeklemeler en son tam yedeklemeyi temel almaz ve beklenmeyen sonuçlar ortaya çıkarabilir. Yeni bir diferansiyel taban oluşturmak için tam bir veritabanı yedeği oluşturmanızı öneririz.

Salt okunur veritabanıyla değişiklik yedeklemeleri kullanmak için en iyi yöntemler

Salt okunur bir veritabanının tam yedeğini oluşturduktan sonra, farklı bir yedekleme oluşturmayı planlıyorsanız, master veritabanını yedekleyin.

master Veritabanı kaybolursa, kullanıcı veritabanının değişiklik yedeğini geri yüklemeden önce veritabanını geri yükleyin.

Daha sonra artımlı yedeklemelerini kullanmayı planladığınız bir salt okunur veritabanını ayırıp bağlarsanız, bunun mümkün olduğu en kısa sürede hem salt okunur veritabanının hem de master veritabanının tam yedeğini almanız önerilir.