Situasi saya adalah sebagai berikut: Saya memiliki database produksi Sql Server 2005. Sekali sehari saya ingin menduplikasi database ini ke database failover lain yang ada di server contoh yang sama. Saya tidak ingin database ini disinkronkan lebih dari sekali sehari (tidak ada mirroring, misalnya). Saya tahu saya bisa melakukan ini dengan backup / restore tetapi bertanya-tanya apakah ada solusi satu langkah untuk melakukan ini.
Adakah yang tahu cara yang baik untuk melakukan ini tanpa backup / restore?
sql-server
backup
sql-server-2005
failover
Mike Gates
sumber
sumber
Jawaban:
Mengapa Anda ingin menghindari backup / restore?
Anda bisa membuat skrip cadangan dan memulihkan perintah dan membuatnya sebagai pekerjaan SQL, sehingga itu berjalan secara otomatis. Apakah ada yang akan terhubung ke database salinan selama operasi normal? (karena itu dapat menyebabkan masalah dengan pemulihan)
sumber
Ada dua cara untuk menyalin database grosir: backup / restore dan lepas / pasang - tidak satu pun dari proses satu langkah, dan backup / restore pasti akan lebih disukai mengingat skenario yang Anda jelaskan.
Jika database "failover" perlu dijaga online saat sedang diperbarui, Anda cukup terjebak dengan replikasi. Namun, karena basis data berada pada contoh yang sama, Anda bisa menggunakan kueri basis-data untuk memindahkan data.
Saya benci untuk pergi keluar batas pertanyaan, tetapi database "failover" pada contoh yang sama seperti produksi tidak memberikan banyak cara toleransi kesalahan. Kegagalan macam apa yang ingin Anda lindungi?
Sunting: Apa yang mungkin Anda cari, kemudian (jika Anda berada di edisi perusahaan 2005+), adalah snapshot basis data seperti yang disarankan JMusgrove. Anda dapat mengambil snapshot kapan saja, lalu mengembalikan database ke snapshot itu jika diperlukan. Cuplikan hanya baca-saja sampai dan kecuali Anda mengembalikannya. Lihat artikel MSDN ini tentang Mengembalikan ke Database Snapshot . Saya akan menyarankan bahwa itu antara snapshot dan cadangan / pengembalian.
sumber
Seperti yang disarankan codeulike, ada apa dengan backup dan restore. Kedengarannya seperti cocok semantik terdekat untuk apa yang Anda coba lakukan.
Cukup banyak tindakan yang dapat Anda lakukan di SQL Server Management Studio memiliki opsi untuk menghasilkan skrip untuk melakukan tindakan, daripada benar-benar melakukan tindakan di sana dan kemudian.
Cari tombol Script di bagian atas setiap jendela sembul. Sisanya mudah - hanya membuat naskah menggunakan blok bangunan yang dibuat untuk Anda oleh SSMS dan membuat pekerjaan SQL Server untuk diotomatisasi.
sumber
Apakah ada kebutuhan untuk salinan yang dihasilkan untuk dimodifikasi dengan cara apa pun, atau akankah salinan read-only cukup? Jika yang terakhir, Anda dapat menggunakan snapshot basis data untuk menghasilkan "salinan" database - dan ini cukup banyak adalah proses satu langkah seperti yang diuraikan dalam artikel Technet ini
Contoh:
Jika yang pertama, maka pendekatan satu langkah sedikit lebih rumit. Untuk database sederhana tanpa prosedur tersimpan, hubungan kompleks, dll, Anda bisa membuat paket SSIS (pekerjaan DTS) untuk menyalin data dari satu database ke yang lain - tetapi itu bisa menjadi sangat berantakan dengan sangat cepat.
sumber
Satu cara replikasi Snapshot dapat diatur. Itu akan pergi dari sumber ke tujuan, sekali sehari ketika Anda menjadwalkannya Setelah itu di server tujuan, tujuan akan berfungsi persis seperti sumbernya. Namun setiap perubahan yang Anda buat ke tujuan akan hilang ketika replikasi berikutnya terjadi karena pada waktu yang dijadwalkan berikutnya sumber akan menimpa tujuan.
Jadi, jika tujuan Anda adalah salinan sumber sehingga pengembang Anda dapat meretas di database dengan data nyata di dalamnya dan tidak masalah jika ditimpa ketika salinan berikutnya terjadi, maka ini akan bekerja untuk Anda.
sumber
Mengapa tidak menyiapkan replikasi snapshot? Jadikan produksi DB publikasi, dan cadangan berlangganan? Atur replikasi agar muncul setiap 24 jam, dan Anda sudah siap.
DB yang direplikasi juga akan memiliki semua properti dan izin prod DB, sehingga bisa dilampirkan sebagai prod tanpa masalah.
sumber