Sql server 2008'deki bir veri tabanından tek bir tabloyu yedekleyin


Yanıtlar:


33

Masayı geri almanın birçok yolu vardır.

  1. BCP (TOPLU KOPYA PROGRAMI)
  2. Verilerle Tablo Komut Dosyası Oluşturun
  3. SELECT INTO kullanarak tablonun bir kopyasını oluşturun, örnek burada
  4. Tablo Verilerini Doğrudan Düz bir dosyaya KAYDET
  5. SSIS kullanarak Verileri herhangi bir hedefe aktarın

10
Bu kod soruyu yanıtlayabilirken, soruyu neden ve / veya nasıl yanıtladığına ilişkin ek bağlam sağlamak uzun vadeli değerini önemli ölçüde artıracaktır. Lütfen bir açıklama eklemek için cevabınızı düzenleyin .
CodeMouse92

Günlük yedekleme içinse, yedeklemek istediğiniz tabloyu kopyalamak için replikasyonu kullanabiliriz. Ardından abone veritabanını yedekleyin.
DBALUKE HUANG

@ CodeMouse92 Kabul edildi. Olumsuz oy verdim çünkü cevap kısa ve açıklamadan yoksundur.
Kolob Canyon

145
select * into mytable_backup from mytable

Tablo bir kopyasını yapar mytable denilen ve içinde her satırı, mytable_backup .


9
Bu sorgunun aslında "mytable_backup" tablosunu oluşturması çok güzel. Bunu beklemiyordum ve yedeklenmek için yeni bir tablo oluşturmuştum.
AidanO

Verileri farklı bir şemaya yedeklemek için bu kadar çok şeyi kullandım ve sadece belirli koşullar altında Kayıp satırlar olduğunu fark ettim ! Hedef eksik olabilir. Neden olduğundan emin değilim. Böyle bir yedeklemeden sonra satır sayısını kontrol etmek daha iyidir.
Ben

41

SSMS'de "Veritabanı nesneleri için komut dosyası oluştur" özelliğini kullanabilirsiniz.

  1. Hedef veritabanına sağ tıklayın
  2. Görevler> Komut Dosyaları Oluştur'u seçin
  3. İstenilen tabloyu veya belirli bir nesneyi seçin
  4. Hit Gelişmiş düğmesini
  5. Genel altında, Komut dosyası oluşturulacak veri türleri alanında değer seçin . Yalnızca veri, Yalnızca şema ve Şema ve verileri seçebilirsiniz . Şema ve veriler, hem tablo oluşturmayı hem de oluşturulan koddaki gerçek verileri içerir.
  6. Sihirbaz tamamlanana kadar İleri'ye tıklayın

Bu benim meydan okumamı çözdü.
Umarım bu da size yardımcı olur.


21

Aşağıdaki adımları kullanarak verileriyle birlikte tablo komut dosyası oluşturabilirsiniz:

  1. Veritabanına sağ tıklayın.
  2. Görevler> Komut dosyası oluştur ... öğesini seçin.
  3. Sonrakine tıkla.
  4. Sonrakine tıkla.
  5. Tablo / Görünüm Seçenekleri'nde, Komut Dosyası Verilerini True olarak ayarlayın; ardından ileriye tıklayın.
  6. Tablolar onay kutusunu seçin ve ileriye tıklayın.
  7. Tablo adınızı seçin ve ileriye tıklayın.
  8. Sihirbaz tamamlanana kadar ileriye tıklayın.

Daha fazla bilgi için Eric Johnson'ın bloguna bakın.


11

Aynı veya başka bir DB'de ("Veri Tabanı") İlgili tabloyu oluşturacak aşağıdaki sorguyu kullanmayı deneyin.

SELECT * INTO DataBase.dbo.BackUpTable FROM SourceDataBase.dbo.SourceTable

1
Bu önceki cevaptan farklı mı ?
Ofer Zelig


3

Tabloyu kendi dosya grubuna koyun. Daha sonra, tablonun fiilen yedeklendiği dosya grubunu yedeklemek için yerleşik SQL Server yerleşik yedeklemesini kullanabilirsiniz.

Bir dosya grubunu yedeklemek için bkz .: https://docs.microsoft.com/en-us/sql/relational-databases/backup-restore/back-up-files-and-filegroups-sql-server

Varsayılan olmayan bir dosya grubunda bir tablo oluşturmak için (kolaydır) bkz: Varsayılan dışında bir dosya grubunda bir tablo oluşturma


3

Bu sorgu benim için çalıştırılır (MySQL için). mytable_backup bu sorgu çalıştırılmadan önce mevcut olmalıdır.

insert into mytable_backup select * from mytable

4
Soru, MySQL değil SQL Server ile ilgili.
Stephen Kennedy

2

Bir veritabanındaki birden çok tablodan tek bir tabloyu yedeklemeniz gerekirse uygulayabileceğiniz başka bir yaklaşım şudur:

  1. Bir veritabanından belirli tabloların komut dosyasını oluşturun (Veritabanına sağ tıklayın, Görev> Komut Dosyaları Oluştur ... öğesine tıklayın.

  2. Komut dosyasını sorgu düzenleyicide çalıştırın. "Veritabanı zaten mevcut" hatasını almamak için komut dosyasındaki ilk satırı (VeritabanıAdı Kullan) değiştirmeli / yeni bir veritabanına eklemelisiniz.

  3. Yeni oluşturulan veritabanına sağ tıklayın ve Görev> Yedekle ... 'ye tıklayın. Yedekleme, orijinal veritabanından seçilen tabloları içerecektir.


0

Yerel dosya sistemindeki bir dosyada bir kopya almak için, Windows başlat düğmesi menüsündeki bu rickety yardımcı programı çalıştı: "C: \ Program Files (x86) \ Microsoft SQL Server \ 110 \ DTS \ Binn \ DTSWizard.exe"

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.