สำรองข้อมูลตารางเดียวด้วยข้อมูลจากฐานข้อมูลใน sql server 2008


94

ฉันต้องการสำรองข้อมูลของตารางเดียวด้วยข้อมูลจากฐานข้อมูลใน SQL Server โดยใช้สคริปต์

ฉันจะทำเช่นนั้นได้อย่างไร?


ตัวช่วยสร้างการนำเข้า / ส่งออก SQL คลิกขวาที่ฐานข้อมูลของคุณใน SMSS / เลือก Item Export
realnumber3012

1
ฉันต้องการทำสิ่งนี้ด้วยสคริปต์
EBS

4
โปรดยอมรับคำตอบของ MGOwen
greg121

คำตอบ:


33

มีหลายวิธีที่คุณสามารถนำกลับโต๊ะได้

  1. BCP (โปรแกรมสำเนาจำนวนมาก)
  2. สร้างสคริปต์ตารางด้วยข้อมูล
  3. ทำสำเนาตารางโดยใช้ SELECT INTO ตัวอย่างที่นี่
  4. บันทึกข้อมูลตารางโดยตรงในไฟล์ Flat
  5. ส่งออกข้อมูลโดยใช้ SSIS ไปยังปลายทางใด ๆ

10
แม้ว่ารหัสนี้อาจตอบคำถาม แต่การให้บริบทเพิ่มเติมเกี่ยวกับสาเหตุและ / หรือวิธีการตอบคำถามจะช่วยเพิ่มมูลค่าในระยะยาวได้อย่างมาก โปรดแก้ไขคำตอบของคุณเพื่อเพิ่มคำอธิบาย
CodeMouse92

หากเป็นการสำรองข้อมูลรายวันเราสามารถใช้การจำลองแบบเพื่อจำลองตารางที่คุณต้องการสำรองข้อมูลได้ จากนั้นสำรองฐานข้อมูลสมาชิก
DBALUKE HUANG

@ CodeMouse92 เห็นด้วย ฉันโหวตลงเพราะคำตอบสั้นและไม่มีคำอธิบาย
Kolob Canyon

145
select * into mytable_backup from mytable

ทำให้สำเนาของตารางmytableและแถวในทุกที่เรียกว่าmytable_backup


9
เป็นเรื่องดีที่คำค้นหานี้จะสร้างตาราง "mytable_backup" ได้จริง ฉันไม่ได้คาดหวังสิ่งนั้นและได้สร้างตารางใหม่เพื่อสำรองข้อมูล
AidanO

ฉันใช้สิ่งนี้ในการสำรองข้อมูลไปยังสคีมาที่แตกต่างกันและฉันเพิ่งสังเกตว่าในบางสถานการณ์มีแถวที่หายไป ! เป้าหมายอาจไม่สมบูรณ์ ฉันไม่แน่ใจว่าทำไม ควรตรวจสอบจำนวนแถวหลังจากการสำรองข้อมูลดังกล่าว
เบ็น

41

คุณสามารถใช้คุณลักษณะ "สร้างสคริปต์สำหรับวัตถุฐานข้อมูล" บน SSMS

  1. คลิกขวาที่ฐานข้อมูลเป้าหมาย
  2. เลือกงาน> สร้างสคริปต์
  3. เลือกตารางที่ต้องการหรือวัตถุเฉพาะ
  4. กดปุ่มขั้นสูง
  5. ภายใต้ทั่วไปเลือกค่าในประเภทของข้อมูลไปยังสคริปต์ คุณสามารถเลือกข้อมูลเท่านั้น Schema เท่านั้นและ Schema และข้อมูล สคีมาและข้อมูลมีทั้งการสร้างตารางและข้อมูลจริงบนสคริปต์ที่สร้างขึ้น
  6. คลิกถัดไปจนกว่าวิซาร์ดจะเสร็จสิ้น

อันนี้ช่วยแก้ปัญหาของฉัน
หวังว่านี่จะช่วยคุณได้เช่นกัน


21

คุณสามารถสร้างสคริปต์ตารางพร้อมกับข้อมูลโดยใช้ขั้นตอนต่อไปนี้:

  1. คลิกขวาที่ฐานข้อมูล
  2. เลือกงาน> สร้างสคริปต์ ...
  3. คลิกถัดไป
  4. คลิกถัดไป
  5. ใน Table / View Options ตั้งค่า Script Data เป็น True; จากนั้นคลิกถัดไป
  6. เลือกช่องทำเครื่องหมายตารางแล้วคลิกถัดไป
  7. เลือกชื่อตารางของคุณแล้วคลิกถัดไป
  8. คลิกถัดไปจนกว่าวิซาร์ดจะเสร็จสิ้น

สำหรับข้อมูลเพิ่มเติมโปรดดูบล็อกของ Eric Johnson




3

ใส่ตารางในกลุ่มไฟล์ของตัวเอง จากนั้นคุณสามารถใช้ SQL Server ปกติที่สร้างขึ้นในการสำรองข้อมูลเพื่อสำรองกลุ่มไฟล์ซึ่งจะมีผลในการสำรองตาราง

หากต้องการสำรองกลุ่มไฟล์โปรดดู: https://docs.microsoft.com/en-us/sql/relational-databases/backup-restore/back-up-files-and-filegroups-sql-server

หากต้องการสร้างตารางบนกลุ่มไฟล์ที่ไม่ใช่ค่าเริ่มต้น (ง่าย) โปรดดู: สร้างตารางในกลุ่มไฟล์อื่นที่ไม่ใช่ค่าเริ่มต้น


3

คำค้นหานี้เรียกใช้สำหรับฉัน (สำหรับ MySQL) ต้องมี mytable_backup ก่อนเรียกใช้แบบสอบถามนี้

insert into mytable_backup select * from mytable

4
คำถามเกี่ยวกับ SQL Server ไม่ใช่ MySQL
Stephen Kennedy

2

อีกวิธีหนึ่งที่คุณสามารถทำได้หากคุณต้องการสำรองข้อมูลตารางเดียวจากหลาย ๆ ตารางในฐานข้อมูลคือ:

  1. สร้างสคริปต์ของตารางเฉพาะจากฐานข้อมูล (คลิกขวาที่ฐานข้อมูลคลิกงาน> สร้างสคริปต์ ...

  2. เรียกใช้สคริปต์ในตัวแก้ไขแบบสอบถาม คุณต้องเปลี่ยน / เพิ่มบรรทัดแรก (USE DatabaseName) ในสคริปต์ลงในฐานข้อมูลใหม่เพื่อหลีกเลี่ยงข้อผิดพลาด "มีฐานข้อมูลอยู่แล้ว"

  3. คลิกขวาที่ฐานข้อมูลที่สร้างขึ้นใหม่และคลิกที่ Task> Back Up ... การสำรองข้อมูลจะมีตารางที่เลือกจากฐานข้อมูลเดิม


0

ในการรับสำเนาในไฟล์บนระบบไฟล์ภายในโปรแกรมอรรถประโยชน์ที่ง่อนแง่นนี้จากเมนูปุ่มเริ่มของ Windows ทำงาน: "C: \ Program Files (x86) \ Microsoft SQL Server \ 110 \ DTS \ Binn \ DTSWizard.exe"

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.