Panduan Lengkap untuk Pemula: cadangan Database SQL
Hai sana, para ahli basis data masa depan! Hari ini, kita akan memulai perjalanan menarik ke dunia cadangan basis data SQL. Jangan khawatir jika Anda baru saja memulai – kita akan memulai dari dasar dan maju perlahan-lahan. Pada akhir panduan ini, Anda akan dapat mencadangkan basis data seperti seorang profesional!
Apa Itu Cadangan Basis Data?
Sebelum kita masuk ke detailnya, mari pahami apa sebenarnya cadangan basis data. Bayangkan Anda menulis novel di komputer Anda. Anda mungkin akan menyimpan kerja Anda secara teratur, kan? Mungkin bahkan menyimpan salinan di USB? Itu sebenarnya apa yang dimaksudkan cadangan basis data – itu adalah salinan basis data Anda pada titik waktu tertentu.
Pertimbangkan itu sebagai jaring keselamatan untuk data Anda. Jika ada yang salah dengan basis data Anda yang aktif, Anda dapat mengembalikannya dari cadangan dan merasalega. Percayalah, sebagai seseorang yang telah mengajar SQL selama tahun, saya telah melihat ini menyelamatkan banyak murid (dan profesional) dari bencana!
Statement Cadangan Database SQL
Sekarang, mari kita meraba-raba sesuatu SQL yang nyata. Sintaks dasar untuk mencadangkan 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 cadangan. -
databasename
adalah nama basis data yang ingin Anda cadangkan. -
TO DISK = 'filepath'
menentukan tempat Anda ingin menyimpan berkas cadangan.
Berikut adalah contoh nyata:
BACKUP DATABASE MyAwesomeDB
TO DISK = 'C:\Backups\MyAwesomeDB.bak'
Perintah ini akan membuat cadangan basis data "MyAwesomeDB" dan menyimpannya sebagai berkas "MyAwesomeDB.bak" di folder "C:\Backups".
Jenis Cadangan di SQL
Sekarang kita telah mengetahui dasar-dasar, mari kita jelajahi jenis-jenis cadangan yang tersedia di SQL. Itu seperti memilih jenis asuransi berbeda – masing-masing memiliki tujuan dan keuntungan tersendiri.
1. Cadangan Penuh
Cadangan penuh adalah apa yang Anda pikirkan – salinan lengkap dari keseluruhan basis data Anda. Itu adalah jenis cadangan yang paling komprehensif, tetapi juga yang paling memakan waktu dan ruang penyimpanan.
BACKUP DATABASE MyAwesomeDB
TO DISK = 'C:\Backups\MyAwesomeDB_Full.bak'
WITH INIT
Klausul WITH INIT
memberitahu SQL Server untuk menimpa berkas cadangan yang ada dengan nama yang sama.
2. Cadangan Diferensial
Cadangan diferensial hanya mencadangkan data yang berubah sejak cadangan penuh terakhir. Itu seperti menyimpan hanya bab-bab baru novel Anda sejak terakhir kali Anda menyimpan keseluruhan novel.
BACKUP DATABASE MyAwesomeDB
TO DISK = 'C:\Backups\MyAwesomeDB_Diff.bak'
WITH DIFFERENTIAL
3. Cadangan Log Transaksi
Jenis ini mencadangkan log transaksi, yang mencatat semua transaksi dan modifikasi basis data. Itu berguna untuk pemulihan titik-waktu.
BACKUP LOG MyAwesomeDB
TO DISK = 'C:\Backups\MyAwesomeDB_Log.bak'
Berikut adalah tabel praktis yang menyummarisakan jenis-jenis cadangan ini:
Jenis Cadangan | Apa yang Itu Cadangkan | Kapan Digunakan |
---|---|---|
Penuh | Keseluruhan basis data | Secara berkala (misalnya, mingguan) |
Diferensial | Perubahan sejak cadangan penuh terakhir | Lebih sering (misalnya, harian) |
Log Transaksi | Log transaksi | Paling sering (misalnya, setiap jam) |
Memulihkan Basis Data dari Cadangan
Membuat cadangan adalah hal yang bagus, tapi mengetahui cara memulihkan basis data dari cadangan juga sangat penting. Itu seperti memiliki rakit di kapal – Anda berharap Anda tidak perlu menggunakannya, tapi Anda akan senang dia ada jika Anda memerlukannya!
Untuk memulihkan basis data dari cadangan 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 cadangan (seperti cadangan penuh diikuti oleh diferensial), Anda perlu memulihkannya dalam urutan:
-- Memulihkan cadangan penuh
RESTORE DATABASE MyAwesomeDB
FROM DISK = 'C:\Backups\MyAwesomeDB_Full.bak'
WITH NORECOVERY
-- Memulihkan cadangan 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 cadangan tambahan. WITH RECOVERY
terakhir menghidupkan basis data.
Cadangan dan Pemulihan 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 lupa tentang itu!
Cadangan MySQL
Di MySQL, Anda dapat menggunakan alat perintah mysqldump
untuk membuat cadangan:
mysqldump -u username -p databasename > backup.sql
Ini akan membuat berkas SQL yang berisi semua perintah yang diperlukan untuk merecreate basis data Anda.
Pemulihan MySQL
Untuk memulihkan basis data MySQL dari cadangan:
mysql -u username -p databasename < backup.sql
Ini akan membaca berkas SQL dan menjalankan semua perintah untuk membangun kembali basis data Anda.
SQL Server Management Studio
Untuk mereka yang lebih suka menggunakan antarmuka grafis, SQL Server Management Studio (SSMS) menyediakan wizard cadangan dan pemulihan yang mudah digunakan. Klik kanan pada basis data Anda, pilih "Tasks", kemudian "Back Up..." atau "Restore..." untuk mengakses fitur ini.
Kesimpulan
Dan itu adalah dia, teman-teman! Kita telah menjelajahi negeri cadangan basis data SQL, dari dasar hingga konsep yang lebih maju. Ingat, cadangan secara teratur adalah seperti flossing – mungkin terlihat membosankan, tapi Anda akan senang Anda melakukan itu ketika waktu datang!
Latih perintah ini, eksperimen dengan jenis cadangan yang berbeda, dan segera Anda akan menjadi orang pertama yang dihubungi untuk segala hal cadangan basis data. Dan siapa tahu? Mungkin suatu hari Anda akan menulis panduan Anda sendiri, berbagi kebijaksanaan Anda yang kerasaihkan dengan generasi berikutnya penggemar basis data.
Sampai saat itu, terus mencadangkan, tetap ciekaw-mencari, dan semoga basis data Anda selalu utuh!
Credits: Image by storyset