Panduan Lengkap untuk Backup Database SQL untuk Pemula

Halo sana, para ahli basis data masa depan! Hari ini, kita akan memulai perjalanan menarik ke dunia backup basis data SQL. Jangan khawatir jika Anda masih baru dalam hal ini - kita akan mulai dari dasar dan perlahan-lahan maju. Pada akhir tutorial ini, Anda akan dapat membuat backup basis data seperti seorang ahli!

SQL - Backup Database

Apa Itu Backup Basis Data?

Sebelum kita masuk ke detailnya, mari kita pahami apa sebenarnya backup basis data. Bayangkan Anda menulis novel di komputer Anda. Anda mungkin akan menyimpan pekerjaan Anda secara berkala, kan? Mungkin bahkan menyimpan salinan di USB? Itu sebenarnya apa yang dimaksudkan oleh backup basis data - itu adalah salinan basis data Anda di titik waktu tertentu.

Pertimbangkan itu sebagai jaring keselamatan untuk data Anda. Jika ada yang salah dengan basis data live Anda, Anda dapat memulihkan nya dari backup dan merasa lega. Percayalah, sebagai seseorang yang telah mengajarkan SQL selama bertahun-tahun, saya telah melihat ini menyelamatkan banyak siswa (dan profesional) dari kehancuran!

Statement Backup Database SQL

Sekarang, mari kita melibatkan diri kita dengan beberapa kode SQL nyata. Sintaks dasar untuk membuat backup basis data di SQL Server adalah:

BACKUP DATABASE databasename
TO DISK = 'filepath'

mari kitauraikan ini:

  • BACKUP DATABASE adalah perintah yang memberitahu SQL Server bahwa kita ingin membuat backup.
  • databasename adalah nama basis data yang hendak Anda backup.
  • TO DISK = 'filepath' menentukan di mana Anda ingin menyimpan file backup.

Ini adalah contoh yang nyata:

BACKUP DATABASE MyAwesomeDB
TO DISK = 'C:\Backups\MyAwesomeDB.bak'

Perintah ini akan membuat backup basis data "MyAwesomeDB" dan menyimpannya sebagai file "MyAwesomeDB.bak" di folder "C:\Backups".

Jenis Backup di SQL

Sekarang kita telah melihat dasar-dasar nya, mari kita jelajahi jenis-jenis backup yang tersedia di SQL. Itu seperti memilih jenis asuransi berbeda - masing-masing memiliki tujuan dan keuntungan tersendiri.

1. Backup Penuh

Backup penuh adalah seperti yang namanya - salinan lengkap dari seluruh basis data Anda. Itu jenis backup yang paling komprehensif, tapi juga yang paling memakan waktu dan memerlukan ruang penyimpanan.

BACKUP DATABASE MyAwesomeDB
TO DISK = 'C:\Backups\MyAwesomeDB_Full.bak'
WITH INIT

Klausul WITH INIT memberitahu SQL Server untuk menimpa file backup yang ada dengan nama yang sama.

2. Backup Diferensial

Backup diferensial hanya membackup data yang berubah sejak backup penuh terakhir. Itu seperti menyimpan hanya bab-bab baru novel Anda sejak terakhir kali Anda menyimpan keseluruhan nya.

BACKUP DATABASE MyAwesomeDB
TO DISK = 'C:\Backups\MyAwesomeDB_Diff.bak'
WITH DIFFERENTIAL

3. Backup Log Transaksi

Backup ini membackup log transaksi, yang mencatat semua transaksi dan modifikasi basis data. Itu berguna untuk pemulihan di titik waktu tertentu.

BACKUP LOG MyAwesomeDB
TO DISK = 'C:\Backups\MyAwesomeDB_Log.bak'

Berikut adalah tabel ringkasan jenis-jenis backup ini:

Jenis Backup Yang Di Backup Kapan Digunakan
Penuh Seluruh basis data Secara berkala (misalnya, mingguan)
Diferensial Perubahan sejak backup penuh terakhir Lebih sering (misalnya, harian)
Log Transaksi Log transaksi Paling sering (misalnya, setiap jam)

Memulihkan Basis Data Dari Backup

Membuat backup adalah hal yang bagus, tapi mengetahui cara memulihkan nya dari backup juga sangat penting. Itu seperti memiliki rakit penyelamat di kapal - Anda harap Anda tidak perlu menggunakannya, tapi Anda akan senang kalau itu ada jika Anda membutuhkannya!

Untuk memulihkan basis data dari backup penuh:

RESTORE DATABASE MyAwesomeDB
FROM DISK = 'C:\Backups\MyAwesomeDB_Full.bak'
WITH REPLACE

Opsi WITH REPLACE mengijinkan Anda menimpa basis data yang ada dengan nama yang sama.

Jika Anda memulihkan dari beberapa backup (seperti backup penuh diikuti oleh diferensial), Anda harus memulihkan nya dalam urutan:

-- Memulihkan backup penuh
RESTORE DATABASE MyAwesomeDB
FROM DISK = 'C:\Backups\MyAwesomeDB_Full.bak'
WITH NORECOVERY

-- Memulihkan backup diferensial
RESTORE DATABASE MyAwesomeDB
FROM DISK = 'C:\Backups\MyAwesomeDB_Diff.bak'
WITH RECOVERY

Opsi WITH NORECOVERY menjaga basis data dalam keadaan pemulihan, memungkinkan Anda untuk menerapkan backup tambahan. WITH RECOVERY terakhir menghidupkan basis data.

Backup dan Restore Database MySQL dan MS SQL

Hingga saat ini, kita telah fokus utama pada Microsoft SQL Server. Tetapi apa tentang MySQL, Anda bertanya? Jangan khawatir, saya belum melupakan nya!

Backup MySQL

Dalam MySQL, Anda dapat menggunakan tool mysqldump di baris perintah untuk membuat backup:

mysqldump -u username -p databasename > backup.sql

Ini akan membuat file SQL yang berisi semua perintah yang diperlukan untuk merecreate basis data Anda.

Restore MySQL

Untuk memulihkan basis data MySQL dari backup:

mysql -u username -p databasename < backup.sql

Ini akan membaca file SQL dan menjalankan semua perintah untuk membangun kembali basis data Anda.

SQL Server Management Studio

Untuk mereka yang lebih suka antarmuka grafis, SQL Server Management Studio (SSMS) menyediakan wizard backup dan restore yang mudah digunakan. Klik kanan pada basis data Anda, pilih "Tasks", kemudian "Back Up..." atau "Restore..." untuk mengakses fitur ini.

Kesimpulan

Dan itu adalah nya, teman-teman! Kita telah melakukan perjalanan melalui dunia backup basis data SQL, dari dasar hingga konsep yang lebih lanjut. Ingat, backup secara berkala adalah seperti menyikat gigi - mungkin terlihat membosankan, tapi Anda akan senang Anda melakukan nya saat itu datang!

Praktik perintah ini, eksperimen dengan jenis-jenis backup berbeda, dan segera Anda akan menjadi orang pertama yang disembah untuk semua hal terkait backup basis data. Dan siapa tahu? Mungkin suatu hari Anda akan menulis tutorial Anda sendiri, berbagi kebijaksanaan Anda yang keras terima kasih ke generasi berikutnya penggemar basis data.

Sampai saat itu, terus backup, tetap curiga, dan semoga basis data Anda selalu utuh!

Credits: Image by storyset