Saya memiliki database SQL Server yang mencadangkan log transaksi setiap 10 menit, dengan cadangan penuh semalam.
Menggunakan SQL 2008 Management studio kami sepertinya harus memilih setiap transaksi log satu per satu. Apakah ada cara untuk mengarahkannya ke direktori?
Saya sedang mempertimbangkan untuk menjalankan cadangan diferensial beberapa kali sehari, yang dapat mengimbangi beberapa dari ini, tetapi pergi satu per satu hingga puluhan / ratusan file tampaknya cukup memakan waktu. Menulis kode untuk mencoba skrip tampaknya terlalu jauh dari kompetensi inti kami.
Jika SQL Server Management Studio tidak memiliki cara yang lebih cepat, mungkin ada alat pihak ketiga yang tersedia?
sql-server
sql-server-2008
ssms
aSkywalker
sumber
sumber
Jawaban:
Tidak ada cara untuk menentukan sekelompok cadangan log transaksi (folder Oк) untuk memulihkan di SQL Server Management studio.
Tetapi Anda dapat menemukan semua informasi tentang operasi cadangan SQL Server di database MSDB (tabel backupset dan terkait).
Berikut ini skrip untuk membuat perintah SQL Server untuk memulihkan database dari cadangan dan menerapkan semua transaksi log cadangan yang dilakukan dari cadangan database lengkap terakhir. Saya pikir itu akan membantu Anda.
sumber
Anda hanya perlu daftar pernyataan sql seperti ...
Jadi Anda bisa membuat skrip VB yang dengan mudah menghasilkan SQL ini untuk Anda dari folder yang diberikan. Berikut ini contohnya http://blogs.lessthandot.com/index.php/DataMgmt/DBAdmin/MSSQLServerAdmin/restoring-multiple-transaction-log-backu
Setelah SQL dibuat, Anda hanya perlu memeriksa apakah itu terlihat benar dan menjalankannya.
sumber
Berikut ini adalah contoh tentang bagaimana Anda dapat membuat skrip pemulihan SQL Server secara otomatis dari file cadangan di direktori menggunakan TSQL:
Otomatis menghasilkan skrip pemulihan SQL Server dari file cadangan dalam direktori
Otomatis menghasilkan skrip pemulihan database SQL Server
sumber
Saya tidak ingin menggunakan pendekatan berbasis SQL dari jawaban yang diterima, karena saya tidak ingin mengaktifkan prosedur tersimpan yang panjang. Jadi saya menulis skrip PowerShell untuk melakukannya.
Anda mengarahkannya ke folder, dan menghasilkan skrip berdasarkan cadangan lengkap terbaru, dan semua cadangan log transaksi selanjutnya.
sumber