If-Koubou

Cara Mencadangkan Database SQL ke Berbagi Jaringan

Cara Mencadangkan Database SQL ke Berbagi Jaringan (Bagaimana caranya)

Back up database SQL secara teratur adalah keharusan. Kami telah membahas cara-cara untuk dapat mem-backup semua basis data SQL server Anda ke hard drive lokal, tetapi ini tidak melindungi terhadap drive dan / atau kegagalan sistem. Sebagai lapisan tambahan perlindungan terhadap jenis bencana ini, Anda dapat menyalin atau langsung membuat cadangan Anda di jaringan berbagi.

Cadangkan secara Lokal dan kemudian Salin ke Berbagi Jaringan

Cara yang disukai dan paling langsung untuk menyelesaikan tugas ini adalah dengan membuat cadangan lokal dari database dan kemudian salin file cadangan masing-masing ke jaringan berbagi. Anda dapat melakukan ini dengan membuat skrip batch yang terlihat seperti ini:

SET LocalFolder = C: Program FilesMicrosoft SQL ServerMSSQL.1MSSQLBackup
SqlCmd -E -Q "Backup Database MyDB To Disk ="% LocalFolder% MyDB.bak "”
XCopy "% LocalFolder% MyDB.bak" "\ 192.168.16.55BackupDatabases" / Z / V
DEL "% LocalFolder% MyDB.bak"

Skrip ini melakukan hal berikut (baris demi baris):

  1. Setel variabel ke direktori cadangan SQL lokal.
  2. Membuat cadangan SQL MyDB (menggunakan Windows Authentication) ke direktori cadangan SQL lokal.
  3. Salinan file cadangan lokal ke jaringan berbagi.
  4. Menghapus file cadangan lokal.

Sekali lagi, ini adalah metode yang disukai karena bekerja di luar kotak dan kemungkinan kegagalan cadangan minimal karena cadangan dibuat pada disk lokal. Namun, jika Anda tidak memiliki ruang disk yang cukup untuk menyimpan salinan lokal file cadangan, tindakan ini akan gagal. Dalam acara ini, Anda perlu menambahkan ruang disk tambahan atau cadangan langsung ke jaringan berbagi.

Backup Langsung ke Berbagi Jaringan

Biasanya, ketika Anda mencoba membuat cadangan secara langsung ke jaringan berbagi menggunakan perintah seperti:

SqlCmd -E -Q "Backup Database MyDB To Disk =" \ 192.168.16.55BackupDatabasesMyDB.bak "”

Anda kemungkinan besar akan mendapatkan kesalahan di sepanjang baris:

Msg 3201, Level 16, Negara 1, Server JF, Jalur 1
Tidak dapat membuka perangkat cadangan '\ 192.168.16.55BackupDatabasesMyDB.bak'. Kesalahan sistem operasi 5 (Akses ditolak.).
Msg 3013, Level 16, Negara 1, Server JF, Jalur 1
DATABASE CADANGAN berakhir tidak normal.

Kesalahan ini terjadi meskipun Anda menjalankan perintah cadangan SQL menggunakan Windows Authentication (tombol -E) dan akun Windows sebagai kemampuan untuk mengakses dan menyalin file ke share melalui Windows Explorer.

Alasan tindakan ini gagal adalah karena perintah SQL dijalankan dalam batas-batas akun layanan SQL Server berjalan sebagai. Ketika Anda melihat daftar Layanan di komputer Anda, kemungkinan besar Anda akan melihat layanan SQL Server berjalan sebagai (kolom Log On As) baik Sistem Lokal atau Layanan Jaringan yang merupakan akun sistem yang tidak memiliki akses jaringan.

Pada sistem kami cadangan ke perintah berbagi jaringan gagal karena kami memiliki layanan SQL Server yang berjalan sebagai sistem lokal yang, sekali lagi, tidak bisa mendapatkan sumber daya jaringan.

Untuk memungkinkan SQL untuk membuat cadangan langsung ke jaringan berbagi, kita harus menjalankan layanan SQL Server sebagai akun lokal yang memang memiliki akses ke sumber daya jaringan.

Edit properti dari layanan SQL Server dan pada tab Log On, konfigurasikan layanan untuk dijalankan sebagai akun alternatif yang memiliki hak akses jaringan.

Ketika Anda mengklik OK, Anda akan mendapatkan prompt bahwa pengaturan tidak akan berlaku sampai layanan dimulai kembali.

Mulai ulang layanan.

Daftar layanan sekarang harus menunjukkan layanan SQL Server berjalan sebagai akun yang Anda konfigurasikan.

Sekarang ketika Anda menjalankan perintah untuk membuat cadangan langsung ke jaringan berbagi:

SqlCmd -E -Q "Backup Database MyDB To Disk =" \ 192.168.16.55BackupDatabasesMyDB.bak "”

Anda seharusnya melihat pesan sukses:

Diproses 152 halaman untuk database 'MyDB', file 'MyDB' pada file 1.
Diproses 2 halaman untuk database 'MyDB', file 'MyDB_log' pada file 1.
DATABASE CADANGAN berhasil diproses 154 halaman dalam 0,503 detik (2,493 MB / detik).

Dengan file cadangan sekarang di direktori berbagi jaringan:

Pertimbangan Berbagi Jaringan

Penting untuk dicatat bahwa perintah cadangan mengharapkan untuk dapat terhubung langsung ke jaringan berbagi tanpa diminta untuk kredensial. Akun yang Anda konfigurasikan layanan SQL Server untuk dijalankan karena harus memiliki koneksi tepercaya dengan jaringan berbagi tempat kredensial masing-masing memungkinkan akses, jika tidak kesalahan seperti ini dapat terjadi:

Msg 3201, Level 16, Negara 1, Server JF, Jalur 1
Tidak dapat membuka perangkat cadangan '\ 192.168.16.55BackupDatabasesMyDB.bak'. Kesalahan sistem operasi 1326 (Kegagalan logon: nama pengguna tidak dikenal atau kata sandi salah.).
Msg 3013, Level 16, Negara 1, Server JF, Jalur 1
DATABASE CADANGAN berakhir tidak normal.

Kesalahan ini menunjukkan bahwa nama pengguna dan kata sandi akun tidak diterima oleh jaringan berbagi dan perintah gagal.

Masalah lain yang perlu diingat adalah pencadangan dilakukan langsung ke sumber daya jaringan, sehingga setiap gangguan dalam koneksi jaringan dapat menyebabkan cadangan Anda gagal. Karena alasan ini, Anda sebaiknya hanya mencadangkan ke lokasi jaringan yang stabil (mungkin bukan VPN).

Implikasi Keamanan

Seperti yang disebutkan sebelumnya, menggunakan metode di mana Anda membuat cadangan secara lokal dan kemudian menyalin ke jaringan berbagi lebih disukai karena memungkinkan Anda untuk menjalankan Layanan SQL sebagai akun dengan akses sistem lokal saja.

Dengan menjalankan layanan sebagai akun alternatif, Anda membuka pintu untuk masalah keamanan potensial. Sebagai contoh, skrip SQL yang berbahaya dapat dijalankan di bawah akun alternatif dan menyerang sumber daya jaringan. Selain itu, setiap perubahan ke akun masing-masing (perubahan kata sandi / kadaluwarsa atau penghapusan / penonaktifan akun) akan menyebabkan layanan SQL Server gagal dimulai.

Penting untuk mengingat poin-poin ini jika Anda menjalankan contoh SQL Server menggunakan akun alternatif. Meskipun ini tidak menunjukkan penghenti jika tindakan pencegahan yang tepat diambil, Anda harus mempertimbangkan menambahkan ruang hard drive tambahan dan kemudian mengimplementasikan cadangan lokal dan salin sehingga Anda dapat menjalankan layanan SQL menggunakan akun lokal.