Bagaimana cara menduplikasi database MSSQL pada server yang sama atau yang lain?


15

Saya mencoba mencapai yang berikut:

  1. Ambil snapshot dari database asli, buat dan lakukan duplikat di server lain?
  2. Ambil snapshot dari database asli, buat duplikat di server yang sama dengan nama DB yang berbeda

Namun, saya tidak bisa karena pengalaman yang sangat terbatas dengan MSSQL. Ada saran?

Informasi tambahan:

Server DB Asal: SQL Server 2000

Server DB tujuan: SQL Server 2005

Jawaban:


17
  1. backup database
  2. pulihkan database dengan nama baru dan / atau di server lain

Kedua operasi ini dapat dilakukan dari Enterprise Manager (SQL2000) atau penggantinya SQL Management Studio (SQL2005 +), atau perintah TSQL BACKUP dan RESTORE .

Catatan: Anda dapat memulihkan database yang didukung dari SQL2000 pada SQL2005 tanpa masalah dalam banyak kasus, tetapi tidak sebaliknya.


1
David terima kasih Bagaimana cara mengembalikan DB dengan nama baru di server lain?
Alex N

Mencadangkan basis data menghasilkan file cadangan (atau memperluas yang sudah ada). Transfer file ini ke server lain kemudian gunakan Management Studio (atau perintah RESTORE mengeluarkan cara lain) untuk mengembalikan database dari file itu. Proses pemulihan menawarkan Anda kesempatan untuk menentukan nama untuk basis data setelah dipulihkan.
David Spillett

7

Menambahkan ini ketika saya menemukan ini sambil mengikuti langkah-langkah di atas.
Dalam SQL Server 2008 R2 setidaknya Anda dapat melewati langkah untuk mendapatkan cadangan lokal ke server.

  1. Database Klik Kanan
  2. Klik Pulihkan Basis Data ..
  3. Setel opsi Dari basis data ke basis data yang Anda salin
  4. Atur opsi Ke basis data ke nama baru
  5. Klik OK

5

Mungkin ini adalah solusi terbaik:

1) On Source DB Server - Membuat cadangan ke file lokal

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) Salin File Sumber ke Server Tujuan.
Jika kedua server berada di mesin yang sama, Anda mungkin ingin membuat salinan file itu:

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

3) Di Server DB Tujuan : Pulihkan database dari file cadangan

RESTORE DATABASE CloneDB

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

0

menggunakan MS SQLServer 2012, Anda harus melakukan 3 langkah dasar terlebih dahulu, menghasilkan file .sql yang hanya berisi struktur sumber DB => klik kanan pada sumber DB dan kemudian Tugas kemudian Hasilkan Script => ikuti wizard dan Anda dapat menyimpan .sql file secara lokal Kedua, ganti file .sql sumber db dengan tujuan satu => klik kanan pada file tujuan dan tekan New Query dan Ctrl-H atau (edit - temukan dan ganti - Quack replce) akhirnya, isi dengan data => klik kanan pada DB detination, lalu Tasks dan kemudian Import Data => Sumber data drop dow set ke ".net framework data procider untuk sql server" + setel bidang teks string koneksi di bawah DATA ex: Data Source = Mehdi \ SQLEXPRESS; Katalog Awal = db_test; ID Pengguna = sa; Kata sandi = sqlrpwrd15 => Hal yang sama dengan tujuan = =>centang tabel yang ingin Anda transfer atau centang kotak di samping "sumber: ....." untuk memeriksa semuanya

kamu selesai.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.