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!
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