วิธีการทำสำเนาฐานข้อมูล MSSQL บนเซิร์ฟเวอร์เดียวกันหรือเซิร์ฟเวอร์อื่น


15

ฉันพยายามทำสิ่งต่อไปนี้ให้สำเร็จ:

  1. ถ่ายรูปสแนปชอตของฐานข้อมูลดั้งเดิมสร้างและทำซ้ำสิ่งที่ซ้ำกันบนเซิร์ฟเวอร์อื่น
  2. ถ่ายภาพฐานข้อมูลต้นฉบับสร้างสำเนาซ้ำบนเซิร์ฟเวอร์เดียวกันภายใต้ชื่อฐานข้อมูลอื่น

อย่างไรก็ตามฉันไม่สามารถทำได้เนื่องจากประสบการณ์ที่ จำกัด มากกับ MSSQL ข้อเสนอแนะใด ๆ

ข้อมูลเพิ่มเติม:

เซิร์ฟเวอร์ฐานข้อมูล Origin: SQL Server 2000

เซิร์ฟเวอร์ฐานข้อมูลปลายทาง: SQL Server 2005

คำตอบ:


17
  1. สำรองฐานข้อมูล
  2. คืนค่าฐานข้อมูลภายใต้ชื่อใหม่และ / หรือบนเซิร์ฟเวอร์อื่น

ทั้งสองดำเนินการเหล่านี้สามารถดำเนินการได้จาก Enterprise Manager (SQL2000) หรือการเปลี่ยนของ Studio จัดการ SQL (SQL2005 +) หรือคำสั่ง TSQL การสำรองข้อมูลและเรียกคืน

หมายเหตุ: คุณสามารถกู้คืนฐานข้อมูลที่สำรองไว้จาก SQL2000 บน SQL2005 โดยไม่มีปัญหาในกรณีส่วนใหญ่ แต่ไม่ใช่วิธีอื่น ๆ


1
ขอบคุณเดวิด ฉันจะคืนค่าฐานข้อมูลภายใต้ชื่อใหม่บนเซิร์ฟเวอร์อื่นได้อย่างไร
Alex N

การสำรองฐานข้อมูลจะสร้างไฟล์สำรอง (หรือขยายไฟล์ที่มีอยู่) ถ่ายโอนไฟล์นี้ไปยังเซิร์ฟเวอร์อื่นจากนั้นใช้ Management Studio (หรือคำสั่ง RESTORE ออกใช้วิธีอื่น) เพื่อกู้คืนฐานข้อมูลจากไฟล์นั้น กระบวนการกู้คืนเปิดโอกาสให้คุณกำหนดชื่อให้กับฐานข้อมูลเมื่อมีการกู้คืน
David Spillett

7

เพิ่มสิ่งนี้ในขณะที่ฉันสะดุดกับสิ่งนี้ในขณะที่ทำตามขั้นตอนด้านบน
ใน SQL Server 2008 R2 อย่างน้อยคุณสามารถข้ามขั้นตอนในการสำรองข้อมูลภายในเครื่องไปยังเซิร์ฟเวอร์

  1. ฐานข้อมูลคลิกขวา
  2. คลิกคืนค่าฐานข้อมูล ..
  3. ตั้งค่าตัวเลือกจากฐานข้อมูลเป็นฐานข้อมูลที่คุณกำลังคัดลอก
  4. ตั้งตัวเลือกถึงฐานข้อมูลเป็นชื่อใหม่
  5. คลิกตกลง

5

อาจเป็นวิธีที่ดีที่สุด:

1) บนเซิร์ฟเวอร์ฐานข้อมูลต้นทาง - สร้างการสำรองข้อมูลไปยังไฟล์ในเครื่อง

DECLARE @fileName nvarchar(400);
DECLARE @DB_Name nvarchar(50);

SET @DB_Name = 'NameOfSourceDatabase'
SET @fileName = 'c:\Test\original.bak'

BACKUP DATABASE @DB_Name TO DISK = @fileName

2) คัดลอกไฟล์ต้นทางไปยังเซิร์ฟเวอร์ปลายทาง
หากเซิร์ฟเวอร์ทั้งสองอยู่ในเครื่องเดียวกันคุณอาจต้องการสร้างสำเนาของไฟล์นั้น:

EXEC master.dbo.xp_cmdshell 'COPY c:\Test\original.bak   c:\Test\clone.bak'

3) บนเซิร์ฟเวอร์ฐานข้อมูลปลายทาง : กู้คืนฐานข้อมูลจากไฟล์สำรอง

RESTORE DATABASE CloneDB

FROM DISK='c:\Test\clone.bak'

0

ใช้ MS SQLServer 2012 คุณจะต้องดำเนินการ 3 ขั้นตอนพื้นฐานก่อนสร้างไฟล์. sql ที่มีเฉพาะโครงสร้างของซอร์ส DB => คลิกขวาบนฐานข้อมูลต้นทางจากนั้นงานจะสร้างสคริปต์ => ตามตัวช่วยสร้างและคุณสามารถบันทึก ไฟล์. sql แบบโลคัลสองแทนที่ไฟล์. sql ซอร์ส db ด้วยปลายทางหนึ่ง => คลิกขวาที่ไฟล์ปลายทางและกด New Query และ Ctrl-H หรือ (แก้ไข - ค้นหาและแทนที่ - Quack replce) ในที่สุดเติมด้วย data => คลิกขวาที่ฐานข้อมูลการตรวจสอบจากนั้นเลือกงานจากนั้นนำเข้าข้อมูล => แหล่งข้อมูลปล่อยดาวโจนส์ตั้งค่าเป็น ". ผู้ให้บริการข้อมูลโครงข่ายสุทธิสำหรับเซิร์ฟเวอร์ sql" + ตั้งค่าฟิลด์ข้อความสตริงการเชื่อมต่อภายใต้ DATA ex: Data = Mehdi \ SQLEXPRESS เริ่มต้นแคตตาล็อก = db_test; ID ผู้ใช้ = sa; รหัสผ่าน = sqlrpwrd15 => สิ่งเดียวกันกับปลายทาง =>ทำเครื่องหมายตารางที่คุณต้องการถ่ายโอนหรือทำเครื่องหมายในช่องที่นอกเหนือจาก "แหล่งที่มา: ..... " เพื่อเลือกทั้งหมด

คุณทำเสร็จแล้ว

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