Yanıtlar:
Cevap hayır, çünkü hangi yedekleme yazılımı kullanılıyorsa.
Yedekleme, mantıksal bir işlem değil, fiziksel bir işlemdir. Ayrılmış sayfalar içeren tüm uzantıları okur (yani 8 sayfalık bir sayfadan yalnızca bir sayfa ayrılmış olsa da, 64K derecenin tamamını yedekler) ve bunu fiziksel sırayla yapar.
Geri yükleme, mantıksal bir işlem değil, fiziksel bir işlemdir. Veri dosyalarındaki uzantıları doğru yerlerine koyar.
Bir dizini (veya buna benzer bir şeyi) yeniden oluşturmak, günlüğe kaydedilmesi gereken mantıksal bir işlemdir. Yedekleme ve geri yükleme, arabellek havuzundan geçmeden veri dosyalarını doğrudan değiştirir, bu da bunun yapılamamasının bir nedenidir. Bunun yapılamamasının bir başka nedeni, yedekleme ve geri yüklemenin yedeklenen verilerde ne olduğunu anlamadığıdır.
Bununla birlikte, bunun yapılamamasının temel nedeni, bir geri yükleme işlemi sırasında sayfaların hareket ettirilmesinin b-ağacı işaretçileri kırmasıdır. A sayfası B sayfasını gösterir, ancak A sayfası geri yükleme işlemi tarafından taşınırsa, B sayfası A sayfasını işaret edecek şekilde nasıl güncellenir? Hemen güncellenirse, geri yükleme işleminin geri kalanı tarafından üzerine yazılabilir. Ertelenmiş olarak güncellenirse, geri yükleme işlemi A sayfasını veya B sayfasını kaldıran bir işlem günlüğünü geri yüklerse ne olur? Sadece yapılamaz.
Alt satır - yedekleme ve geri yükleme, verileri asla değiştirmeyen fiziksel işlemlerdir.
Bu yardımcı olur umarım!
PS Bu soruyu doğrudan ele almasa da, çeşitli yedeklemelerin dahili olarak nasıl çalıştığını açıklayan July TechNet Magazine için yazdığım makaleye göz atın: SQL Server Yedeklerini Anlama . Eylül dergisi, geri yüklemeleri anlama dizisinde bir sonrakine sahip olacak.
Bir yerli SQL yedek "hayır" var cevap yüzden yedek dosyaların sadece sayfa-sayfa dökümü vardır. Bir Quest ışık hızı yedeği büyük olasılıkla bir tür sıkıştırma sıkıştırma algoritması kullanır, ancak yine de büyük bir veritabanında çok büyük zaman alan veri dosyalarını veya dizinleri "yeniden" oluşturmaz.
Yedekleme düzenli ve çok sık yapılır (umarım). Böylece tasarımcılar yedeklemenin mümkün olduğunca hızlı olduğundan emin oldular. En hızlı G / Ç nedir? Ardışık. Disklerdeki blokları tam fiziksel sırada okursunuz, en iyi performansa sahip olursunuz.
Neden veritabanı her gece hantal rasgele G / Ç işlemi gerçekleştirmeli ve disklerin kafalarını her yere çöker? Fark, iki büyüklük sırası civarında olacaktır. Bunda muhtemel bir kazanç yok.
Hmmm. BradC, daha önce Firebird / Interbase ile çalıştınız mı - ana yedekleme / geri yükleme yardımcı programı / API, SSMS / EM'nin "Veritabanını Kopyala ..." ile daha çok benzer mi? Eğer öyleyse, MS SQL Server'ın böyle olmadığını bilin.
Bir SQLServer Yedeklemesi daha çok "AS-IS" olarak geri yüklenen bir veritabanı dökümüdür - bu nedenle "başka bir yerde ayır-kopyala-yeniden tak" işlemi için konforlu bir çevrimiçi kısayol gibidir. Geri yüklenen veritabanı orijinal veritabanı dosyasının neredeyse tam bir kopyasıdır (neredeyse geri yüklenen bir veritabanının veritabanı dosyalarının yerleşimini değiştirebildiğiniz için) ...