Saya memiliki cadangan Database1 dari seminggu yang lalu. Pencadangan dilakukan setiap minggu di penjadwal dan saya mendapatkan .bak
file. Sekarang saya ingin mengutak-atik beberapa data sehingga saya harus mengembalikannya ke database yang berbeda - Database2 .
Saya telah melihat pertanyaan ini: Kembalikan database SQL Server di pc yang sama dengan nama yang berbeda dan langkah yang disarankan adalah mengubah nama db asli, tetapi saya tidak memiliki pilihan itu karena saya berada di server produksi dan saya benar-benar tidak dapat melakukannya.
Apakah ada cara lain untuk mengembalikannya ke Database2
, atau setidaknya, bagaimana cara menelusuri data file .bak itu?
Terima kasih.
ps: jawaban kedua dari tautan di atas tampak menjanjikan tetapi terus berakhir dengan kesalahan:
Restore Filelist berakhir secara tidak normal
sumber
backkup set holds a backup of a database other than existing "tmp" database
, yang saya mengerti. Haruskahto
ungkapan itu menjadi jalur fisik yang sebenarnyaMyTempCopy
?to
adalah lokasi db & log untuk database baru, perbarui contoh di atasRESTORE DATABASE MyTempCopy FROM DISK='e:\mssql\backup\creditline.bak' WITH REPLACE, RECOVERY, MOVE 'CreditLine' TO 'e:\mssql\MyTempCopy.mdf', MOVE 'CreditLine_log' TO 'e:\mssql\MyTempCopy_log.ldf'
SQL Server 2008 R2:
Untuk database yang ada yang ingin Anda "pulihkan: dari cadangan database yang berbeda, ikuti langkah-langkah ini:
sumber
Untuk SQL Server 2012, menggunakan Sql Server Management Studio, saya menemukan langkah-langkah ini dari halaman Microsoft berguna untuk mengembalikan ke file database dan nama yang berbeda: (ref: http://technet.microsoft.com/en-us/library/ms175510 .aspx )
Catatan langkah 4 dan 7 penting untuk diatur agar tidak menimpa basis data yang ada.
sumber
Sebenarnya, tidak perlu mengembalikan database dalam istilah SQL Server asli, karena Anda "ingin bermain-main dengan beberapa data" dan "menelusuri data dari file .bak itu"
Anda dapat menggunakan ApexSQL Restore - alat SQL Server yang melampirkan cadangan basis data SQL asli dan terkompresi dan cadangan log transaksi sebagai basis data langsung , dapat diakses melalui SQL Server Management Studio, Visual Studio atau alat pihak ketiga lainnya. Hal ini memungkinkan melampirkan cadangan log lengkap atau tunggal, ganda, dan penuh transaksi
Selain itu, saya pikir Anda dapat melakukan pekerjaan saat alat ini dalam mode percobaan yang berfungsi penuh (14 hari)
Penafian: Saya bekerja sebagai Teknisi Dukungan Produk di ApexSQL
sumber
Inilah yang saya buat bersama dari berbagai posting untuk menyalin database menggunakan cadangan dan memulihkan dengan memindahkan untuk memperbaiki lokasi fisik dan sql tambahan untuk memperbaiki nama logis.
sumber
DECLARE @BackupFiles...
baris ini membutuhkan kolom tambahan:SnapshotURL nvarchar(360)
Ini sebenarnya sedikit lebih sederhana daripada mengembalikan ke server yang sama. Pada dasarnya, Anda hanya berjalan melalui opsi "Restore Database". Ini adalah tutorial untuk Anda:
http://www.techrepublic.com/blog/window-on-windows/how-do-i-restore-a-sql-server-database-to-a-new-server/454
Terutama karena ini adalah pengembalian non-produksi, Anda dapat merasa nyaman hanya mencobanya tanpa terlalu mengkhawatirkan detailnya. Cukup letakkan file SQL Anda di tempat yang Anda inginkan di server baru Anda dan berikan nama apa pun yang Anda inginkan dan Anda bisa melakukannya.
sumber
Jika tidak ada database saya menggunakan kode berikut:
sumber
Saya memiliki kesalahan yang sama dengan topik ini ketika saya memulihkan database baru menggunakan database lama. (menggunakan .bak memberikan kesalahan yang sama)
Saya Mengubah nama database lama dengan nama database baru (sama gambar ini). Itu berhasil.
sumber
Berikut adalah cara mengembalikan cadangan sebagai db tambahan dengan nama db unik.
Untuk SQL 2005 ini bekerja sangat cepat. Saya yakin versi yang lebih baru akan bekerja sama.
Pertama, Anda tidak harus mengambil db asli Anda offline. Tapi demi keamanan, saya suka. Dalam contoh saya, saya akan me-mount klon dari database "penagihan" saya dan akan dinamai "billingclone".
1) Buat cadangan database penagihan yang baik
2) Untuk keamanan, saya mengambil yang asli luring sebagai berikut:
3) Buka jendela Permintaan baru
**PENTING! Biarkan jendela permintaan ini terbuka sampai Anda semua selesai! Anda harus mengembalikan db dari jendela ini!
Sekarang masukkan kode berikut:
3) Selanjutnya, di Studio Manajemen, klik Database di Object Explorer, pilih "Restore Database"
4) masukkan nama baru di bidang "Ke Basis Data". Yaitu billingclone
5) Di Sumber untuk Pemulihan, klik "Dari Perangkat" dan klik tombol ... navigasi
6) Klik Tambah dan arahkan ke cadangan Anda
7) Beri tanda centang di sebelah Pulihkan (Pilih set cadangan untuk dipulihkan)
8) selanjutnya pilih halaman OPSI di sudut LH atas
9) Sekarang edit nama file database di RESTORE AS. Lakukan ini untuk db dan log. Yaitu billingclone.mdf dan billingclone_log.ldf
10) sekarang tekan OK dan tunggu tugas selesai.
11) Tekan refresh di Explorer Obyek Anda dan Anda akan melihat db baru Anda
12) Sekarang Anda dapat menempatkan db tagihan Anda kembali online. Gunakan jendela permintaan yang sama dengan yang Anda gunakan untuk membuat penagihan offline. Gunakan perintah ini:
selesai!
sumber
sumber