Sql-server bir veritabanının bir kısmını yedekleme ve geri yükleme mümkün mü?


19

Müşteri sitemizden bizimkine düzenli olarak aktardığımız bir sql-server 2005 veritabanına sahibiz. Doğrudan bir bağlantımız olmadığından ve dosyayı web tabanlı dosya aktarım uygulaması üzerinden aktarmamız gerektiğinden bu işlem uzun zaman alıyor. Veritabanı şu anda yaklaşık 10GB'tır, ancak tüm verilere ihtiyacımız yoktur - çoğu, yeniden oluşturulabilecek hesaplanmış değerleri tutan denetim tablolarında ve tablolardadır.

Denetim tablolarını tutmak için bir dosya grubu oluşturmaya baktım ve sadece birincil dosya grubunu yedekleyip geri yükleyebileceğimi umuyordum. İyi yedekleme yapabilirim ama geri yüklerken aynı veritabanına geri yüklemediğimi söyleyen bir hata alıyorum. Bir veritabanının bir kısmını dosya grupları kullanarak farklı bir sunucuya geri yüklemek mümkün müdür? Bunu yapmanın daha iyi bir yolu var mı?


1
Bu soruyu okumaktan faydalanabilirsiniz: SQL Server ve özellikle Brent'in cevabı ile mümkün olan en küçük yedekleme .
Marian

Çok fazla Hackery olmadan bu mümkün olmadığından, tüm denetim günlüğü tablolarını ayrı bir veritabanına taşımayı düşünebileceğimize inanıyorum
Adam Butler

Bu uygulamada kod değişikliği gerektirmez mi? Bu, istemciden geçmesini istemek için biraz fazla.
Shawn Melton

Yanıtlar:


15

Dürüst olmak gerekirse, bu en kolayı:

  • yerel olarak bir kopyasını yedekle / geri yükle
  • kopyadan istenmeyen verileri kaldırın (DÜŞMEYİ değil , SİL veya TRUNCATE TABLOSU ile )
  • kopyayı gönder

Belirttiğiniz ek karmaşıklık nedeniyle dosya grupları ile uğraşmazdım ...


1
Bu yeni geri yüklenen veritabanını basit kurtarma modeline değiştirmenizi öneririm. msdn.microsoft.com/tr-CA/library/ms189272.aspx
datagod

7

Sadece birincil dosya grubuna ihtiyaç duyduğunuzdan bahsettiğiniz gibi, bana sadece veritabanı yapısını ve çok az miktarda veri istediğiniz gibi geliyor. Ben sadece veritabanı tüm nesneleri ile komut dosyası için veritabanı yapısı (nesneler, tablolar, vb) bir güncelleştirme istiyorsanız öneririm. Bu, PowerShell ile hızlı ve kolay bir şekilde yapılabilir.

Daha sonra, gerçekte ihtiyacınız olan, yeniden oluşturulamayan veriler, bunu dışa aktarın (bir PowerShell betiği de bunu yapabilir). Dışa aktarma dosyasının daha sonra küçük bir boyuta sıkıştırılabileceğinden ve daha sonra sitenize bağlantı üzerinden aktarılabileceğinden eminim.

Tabii ki bunun gibi, @gbn önerisi de yazılabilir, bu nedenle hangi seçeneğin en az zaman aldığını belirlemek size bağlıdır.


2

Bu parça parça geri yükleme kullanılarak mümkündür . Kaynak veritabanının nesneleri ve dosya grupları bunu destekleyecek şekilde düzenlenmelidir. GERİ YÜKLE ek belirgin anahtar kelimeler gerektirir.

Kavram alışmak biraz zaman alsa da, uygulanacak komut dosyası miktarı önerilen diğer çözümlerden daha fazla değildir.


-1

Sağ tıklayın ve komut dosyaları oluşturun, ardından hedeflenecek veritabanının adını değiştirin (USE db).

Açıklaması burada


Bunun nesi var?
Jude
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.