Cara Mencadangkan Database SQL ke Berbagi Jaringan

Daftar Isi:

Cara Mencadangkan Database SQL ke Berbagi Jaringan
Cara Mencadangkan Database SQL ke Berbagi Jaringan

Video: Cara Mencadangkan Database SQL ke Berbagi Jaringan

Video: Cara Mencadangkan Database SQL ke Berbagi Jaringan
Video: Langkah Pendaftaran NIB PT Perorangan 20 Menitan Gratis (PTP eps 4) - YouTube 2024, Mungkin
Anonim

Mencadangkan 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, State 1, Server JF, Line 1 Cannot open backup device ‘192.168.16.55BackupDatabasesMyDB.bak’. Operating system error 5(Access is denied.). Msg 3013, Level 16, State 1, Server JF, Line 1 BACKUP DATABASE is terminating abnormally.

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.
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.
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.
Ketika Anda mengklik OK, Anda akan mendapatkan prompt bahwa pengaturan tidak akan berlaku sampai layanan dimulai kembali.
Mulai ulang layanan.
Mulai ulang layanan.
Daftar layanan sekarang harus menunjukkan layanan SQL Server berjalan sebagai akun yang Anda konfigurasikan.
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:
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:

Processed 152 pages for database ‘MyDB’, file ‘MyDB’ on file 1. Processed 2 pages for database ‘MyDB’, file ‘MyDB_log’ on file 1. BACKUP DATABASE successfully processed 154 pages in 0.503 seconds (2.493 MB/sec).

Dengan file cadangan sekarang di direktori berbagi jaringan:

Image
Image

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, State 1, Server JF, Line 1 Cannot open backup device ‘192.168.16.55BackupDatabasesMyDB.bak’. Operating system error 1326(Logon failure: unknown user name or bad password.). Msg 3013, Level 16, State 1, Server JF, Line 1 BACKUP DATABASE is terminating abnormally.

Kesalahan ini menunjukkan bahwa nama pengguna dan kata sandi akun tidak diterima oleh pembagian jaringan 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.

Direkomendasikan: