นำเข้า / ส่งออกฐานข้อมูลด้วย Studio จัดการเซิร์ฟเวอร์ SQL Server


197

ฉันคิดว่ามันจะไม่สำคัญ แต่ก็ไม่ใช่ ... ฉันแน่ใจว่ามีวิธีง่าย ๆ ในการทำ แต่ฉันไม่สามารถหามันเจอได้ น่าอายจริงๆเรา.

ฉันต้องการนำเข้า / ส่งออกฐานข้อมูลตัวเองตารางข้อ จำกัด (คีย์ต่างประเทศเป็นต้น) ฉันไม่ต้องการรับข้อมูลด้วย แต่ฉันสามารถกำจัดมันได้หากไม่มีวิธีอื่น

ดังนั้น ... คุณจะส่งออกฐานข้อมูลโดยใช้ MS SQL Server Management Studio ได้อย่างไร คุณจะนำเข้ามันได้อย่างไร

ทางออกเดียวที่ฉันพบคือคลิกขวาบนตารางและ "สคริปต์เพื่อสร้าง" แต่ฉันมีบางอย่างเช่น 100 ตารางดังนั้นฉันควรหลีกเลี่ยงสิ่งนี้

ขอบคุณ!

คำตอบ:


317

คลิกขวาที่ฐานข้อมูลตัวเอง Tasks -> สร้างสคริปต์ ...

จากนั้นทำตามตัวช่วยสร้าง

สำหรับ SSMS2008 + หากคุณต้องการส่งออกข้อมูลในขั้นตอน "ตั้งค่าตัวเลือกการสคริปต์" ให้เลือกปุ่ม "ขั้นสูง" และเปลี่ยน "ประเภทข้อมูลเป็นสคริปต์" จาก "Schema Only" เป็น "Data Only" หรือ "Schema และ ข้อมูล".


11
เกี่ยวกับการรับข้อมูล เป็นไปได้หรือไม่ที่จะสร้างคำสั่งแทรกด้วยวิธีเช่นสร้างสคริปต์?
Kubi

50
@Kubi ในขั้นตอน "ตั้งค่าตัวเลือกการสคริปต์" เลือกปุ่ม "ขั้นสูง" และเปลี่ยน "Schema Only" เป็น "Data Only" หรือ "Schema and Data"
Brandon

25
@Brandon ขอบคุณสำหรับสิ่งนั้น เหตุใด "schema only", "data only" หรือ "schema and data" จึงถือเป็นตัวเลือก "ขั้นสูง" จึงเกินความเข้าใจของฉัน
Brian Hooper

2
2Brandon: ตัวเลือกการเขียนสคริปต์ "ขั้นสูง" มีเฉพาะใน SSMS 2008+
ivan_pozdeev

2
"Data Only" หรือ "Schema and Data" สร้างคำสั่ง INSERT ที่ทำซ้ำชื่อส่วนหัวสำหรับแต่ละแถว ไฟล์นี้มีขนาดใหญ่เป็นสองเท่าของข้อมูลในรูปแบบข้อความ คุณสามารถลองส่งออกสคีมาแทนได้จากนั้นใช้ BULK INSERT เพื่อโหลดไฟล์ csv ที่สร้างขึ้นด้วยตัวช่วยสร้างการส่งออก ... ระวัง MSQL ไม่รู้จะอ่านฟิลด์ที่อ้างอิงได้อย่างไร
John Mark

23

โซลูชันอื่นคือ - การ สำรองและกู้คืนฐานข้อมูล

สำรองฐานข้อมูลระบบ

ในการสำรองฐานข้อมูลระบบโดยใช้ Microsoft SQL Server Management Studio Express ให้ทำตามขั้นตอนด้านล่าง:

  1. ดาวน์โหลดและติดตั้ง Microsoft SQL Server 2008 Management Studio Express จากเว็บไซต์ Microsoft: http://www.microsoft.com/en-us/download/details.aspx?id=7593

  2. หลังจากติดตั้ง Microsoft SQL Server Management Studio Express แล้วให้เปิดแอปพลิเคชันเพื่อเชื่อมต่อกับฐานข้อมูลระบบ กล่องโต้ตอบ "เชื่อมต่อกับเซิร์ฟเวอร์" จะปรากฏขึ้น ในฟิลด์ "ชื่อเซิร์ฟเวอร์:" ป้อนชื่อของเซิร์ฟเวอร์ Webtrends ที่ติดตั้งฐานข้อมูลระบบ ในช่อง "การรับรองความถูกต้อง:" เลือก "การพิสูจน์ตัวจริงของ Windows" หากลงชื่อเข้าใช้เครื่อง Windows โดยใช้บัญชีบริการ Webtrends หรือบัญชีที่มีสิทธิ์ในการเปลี่ยนแปลงฐานข้อมูลระบบ มิฉะนั้นให้เลือก "การพิสูจน์ตัวจริงของเซิร์ฟเวอร์ SQL" จากเมนูแบบเลื่อนลงและป้อนข้อมูลรับรองสำหรับบัญชี SQL Server ที่มีสิทธิ์ที่จำเป็น คลิก "เชื่อมต่อ" เพื่อเชื่อมต่อกับฐานข้อมูล

  3. ขยาย "ฐานข้อมูล" คลิกขวาที่ "wt_sched" และเลือก "Tasks"> "Back Up ... " จากเมนูบริบท กล่องโต้ตอบ "ฐานข้อมูลสำรอง" จะปรากฏขึ้น ภายใต้ส่วน "แหล่งที่มา" ให้แน่ใจว่าได้เลือก "wt_sched" สำหรับ "ฐานข้อมูล:" และ "ประเภทการสำรองข้อมูล:" คือ "เต็ม" ใต้ "ชุดข้อมูลสำรอง" ระบุชื่อคำอธิบายและวันหมดอายุตามต้องการจากนั้นเลือก "เพิ่ม ... " ภายใต้ส่วน "ปลายทาง" และกำหนดชื่อไฟล์และเส้นทางที่จะบันทึกข้อมูลสำรอง อาจจำเป็นต้องเลือกตัวเลือก "เขียนทับชุดข้อมูลสำรองที่มีอยู่ทั้งหมด" ในส่วนตัวเลือกหากมีข้อมูลสำรองอยู่แล้วและจะถูกเขียนทับ
  4. เลือก "ตกลง" เพื่อเสร็จสิ้นกระบวนการสำรองข้อมูล

  5. ทำซ้ำขั้นตอนข้างต้นสำหรับส่วน "wtMaster" ของฐานข้อมูล

กู้คืนฐานข้อมูลระบบ

ในการกู้คืนฐานข้อมูลระบบโดยใช้ Microsoft SQL Server Management Studio ให้ทำตามขั้นตอนด้านล่าง:

  1. หากคุณยังไม่มีให้ดาวน์โหลดและติดตั้ง Microsoft SQL Server 2008 Management Studio Express จากเว็บไซต์ Microsoft: http://www.microsoft.com/en-us/download/details.aspx?id=7593

  2. หลังจากติดตั้ง Microsoft SQL Server Management Studio แล้วให้เปิดแอปพลิเคชันเพื่อเชื่อมต่อกับฐานข้อมูลระบบ กล่องโต้ตอบ "เชื่อมต่อกับเซิร์ฟเวอร์" จะปรากฏขึ้น ในฟิลด์ "เซิร์ฟเวอร์ประเภท:" เลือก "โปรแกรมฐานข้อมูล" (ค่าเริ่มต้น) ในฟิลด์ "ชื่อเซิร์ฟเวอร์:" เลือก "\ WTSYSTEMDB" โดยที่เป็นชื่อของเซิร์ฟเวอร์ Webtrends ที่มีฐานข้อมูลตั้งอยู่ WTSYSTEMDB เป็นชื่อของอินสแตนซ์ฐานข้อมูลในการติดตั้งเริ่มต้น ในช่อง "การรับรองความถูกต้อง:" เลือก "การพิสูจน์ตัวจริงของ Windows" หากลงชื่อเข้าใช้เครื่อง Windows โดยใช้บัญชีบริการ Webtrends หรือบัญชีที่มีสิทธิ์ในการเปลี่ยนแปลงฐานข้อมูลระบบ หรือเลือก "การพิสูจน์ตัวจริงของเซิร์ฟเวอร์ SQL" จากเมนูแบบเลื่อนลงและป้อนข้อมูลรับรองสำหรับบัญชี SQL Server ซึ่งมีสิทธิ์ที่จำเป็น คลิก "เชื่อมต่อ" เพื่อเชื่อมต่อกับฐานข้อมูล

  3. ขยาย "ฐานข้อมูล" คลิกขวาที่ "wt_sched" และเลือก "ลบ" จากเมนูบริบท ตรวจสอบให้แน่ใจว่าได้ทำเครื่องหมายในช่อง "ลบข้อมูลสำรองและกู้คืนข้อมูลประวัติสำหรับฐานข้อมูล"

  4. เลือก "ตกลง" เพื่อเสร็จสิ้นกระบวนการลบ

  5. ทำซ้ำขั้นตอนข้างต้นสำหรับส่วน "wtMaster" ของฐานข้อมูล

  6. คลิกขวาที่ "ฐานข้อมูล" และเลือก "กู้คืนฐานข้อมูล ... " จากเมนูบริบท ในช่อง "ถึงฐานข้อมูล:" ให้พิมพ์ "wt_sched" เลือกปุ่มตัวเลือก "จากอุปกรณ์:" คลิกที่วงรี (... ) ทางด้านขวาของช่องข้อความ "จากอุปกรณ์:" คลิกปุ่ม "เพิ่ม" นำทางไปและเลือกไฟล์สำรองข้อมูลสำหรับ "wt_sched" เลือก "ตกลง" ในแบบฟอร์ม "ค้นหาไฟล์สำรอง" เลือก "ตกลง" ในแบบฟอร์ม "ระบุการสำรองข้อมูล" ทำเครื่องหมายในช่องทำเครื่องหมายในคอลัมน์เรียกคืนถัดจาก "การสำรองฐานข้อมูล wt_sched-Full" เลือก "ตกลง" บนแบบฟอร์ม "กู้คืนฐานข้อมูล"

  7. ทำซ้ำขั้นตอนที่ 6 สำหรับส่วน "wtMaster" ของฐานข้อมูล

มารยาท - http://kb.webtrends.com/articles/How_To/Backing-Up-and-Restoring-the-System-Database-using-MS-SQL-Management-Studio


1
ปัญหาที่ฉันเคยมีด้วยวิธีนี้คือไฟล์ bak ไม่ทำงานได้ดีเมื่อทำการกู้คืนในคอมพิวเตอร์เครื่องอื่น บางครั้งก็ใช้งานได้บางครั้งก็ใช้ไม่ได้ อย่างน้อยสำหรับฉันสคริปต์เป็นวิธีที่ปลอดภัยกว่า +1 สำหรับคำอธิบายโดยละเอียด
Nunser

1
นอกจากนี้ยังต้องใช้สิทธิ์ระบบซึ่งบ่อยครั้งหากคุณกำลังพัฒนาโครงสร้างพื้นฐานบริการสาธารณะที่คุณไม่มี Microsoft ทำได้ดีมาก
matao

3

ฉันต้องการแบ่งปันโซลูชันของคุณเพื่อส่งออกฐานข้อมูลกับ Microsoft SQL Server Management Studio

เพื่อส่งออกฐานข้อมูลของคุณ

  1. เปิดคำขอใหม่
  2. คัดลอกวางสคริปต์นี้

    SET @BackupFile = 'D: \ database-backup.bak'

    --PRINT @BackupFile

    ฐานข้อมูลการสำรองข้อมูล [% databaseName%]

    TO DISK = @BackupFile

อย่าลืมแทนที่% databaseName% ด้วยชื่อของฐานข้อมูลที่คุณต้องการส่งออก

โปรดทราบว่าวิธีนี้ให้ไฟล์ที่เบากว่าจากเมนู

ในการนำเข้าไฟล์นี้จาก SQL Server Management Studio อย่าลืมลบฐานข้อมูลของคุณก่อน

  1. คลิกกู้คืนฐานข้อมูล

คลิกกู้คืนฐานข้อมูล

  1. เพิ่มไฟล์สำรอง เพิ่มไฟล์สำรอง

  2. ตรวจสอบ

สนุก! :) :)


2
ในที่สุดก็แก้ปัญหาภาพหน้าจอ! :)
Reven

2

สำหรับ Microsoft SQL Server Management Studio 2012,2008 .. คัดลอกไฟล์ฐานข้อมูลของคุณ. ไฟล์ mdf และไฟล์บันทึก. ldf & วางในไฟล์ติดตั้งเซิร์ฟเวอร์ sql ของคุณในไฟล์โปรแกรม -> Microsoft SQL Server-> MSSQL10.SQLEXPRESS-> MSSQL-> DATA . จากนั้นเปิด Microsoft SQL Server คลิกขวาที่ฐานข้อมูล -> เลือกตัวเลือกแนบ ...


ฉันลองวิธีนี้แล้วใช้งานได้ คัดลอก database.mdf และ database_log.ldf จากโฟลเดอร์ที่กล่าวถึงข้างต้น (SQL 2012) จากนั้นโอนไฟล์เหล่านั้น 2 ไฟล์ไปยังเซิร์ฟเวอร์ใหม่ที่มีเวอร์ชันต่าง ๆ (SQL Express 2014) ของ SQL Management Studio
Vignesh Chinnaiyan

0

ฉันลองคำตอบด้านบน แต่ไฟล์สคริปต์ที่สร้างมีขนาดใหญ่มากและฉันมีปัญหาขณะนำเข้าข้อมูล ฉันสิ้นสุดการแยกฐานข้อมูลแล้วคัดลอก. mdf ไปยังเครื่องใหม่ของฉันจากนั้นแนบไปยัง SQL Server Management Studio เวอร์ชันใหม่ของฉัน

ฉันพบคำแนะนำเกี่ยวกับวิธีการทำสิ่งนี้บนเว็บไซต์ Microsoft:
https://msdn.microsoft.com/en-us/library/ms187858.aspx

หมายเหตุ: หลังจากถอดฐานข้อมูลฉันพบไฟล์. mdf ภายในไดเรกทอรีนี้:
Server \ Microsoft SQL Files \ Microsoft C: \ Program

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