SQL Server menyediakan cara mudah untuk membuat cadangan database. Pencadangan dapat dilakukan dengan Transact-SQL, PowerShell, atau melalui GUI.
Di sini, saya akan mendemonstrasikan cara membuat cadangan menggunakan GUI SQL Operations Studio (sekarang disebut Azure Data Studio), lalu menggunakan Transact-SQL, lalu terakhir, dengan SQL Server Powershell.
Buat Cadangan melalui SQLOPS/Azure Data Studio GUI
-
Buka Dasbor Basis Data
Di panel kiri, klik kanan database yang ingin Anda cadangkan dan pilih Kelola .
Jika Anda menggunakan SSMS, di Object Explorer, klik kanan database yang ingin Anda buat cadangannya, dan pilih Tugas> Cadangkan... dari menu kontekstual. Ini akan meluncurkan Basis Data Pencadangan kotak dialog.
-
Luncurkan Basis Data Cadangan Kotak Dialog
Klik Cadangan tombol.
-
Tinjau Pengaturan
Kotak dialog ini memberi Anda kesempatan untuk mengubah pengaturan apa pun jika diperlukan.
Untuk contoh kita, biarkan pada pengaturan default dan klik Backup untuk membuat cadangan.
Jika Anda memiliki persyaratan pencadangan khusus, Anda dapat mengubah jenis pencadangan dan/atau mengeklik Konfigurasi Lanjut untuk menyesuaikan pengaturan konfigurasi lanjutan.
-
Pencadangan Selesai
Setelah pencadangan selesai, sebuah pesan akan ditampilkan yang mengonfirmasi bahwa pencadangan berhasil.
Backup Database Menggunakan Transact-SQL
Anda dapat melakukan pencadangan yang sama seperti di atas menggunakan T-SQL.
Untuk melakukannya, buka jendela kueri baru dan jalankan BACKUP
pernyataan.
BACKUP
pernyataan menerima berbagai opsi (seperti opsi GUI), tetapi Anda juga dapat menjalankan pencadangan sederhana dengan kode minimum.
Di bawah ini adalah contoh skrip cadangan sederhana pada sistem Linux atau Mac. Skrip menentukan database yang akan dicadangkan, dan lokasi untuk mencadangkannya.
BACKUP DATABASE Music TO DISK = '/var/opt/mssql/data/Music.bak';
Pada sistem Windows, jalur akan menggunakan garis miring terbalik:
BACKUP DATABASE Music TO DISK = 'C:\Backups\Music.bak';
Setelah menjalankan kode ini, file cadangan akan ditempatkan di lokasi yang ditentukan.
Cadangkan Database menggunakan PowerShell
SQL Server 2017 mendukung Windows PowerShell, yang merupakan shell scripting, biasanya digunakan untuk mengotomatisasi tugas administrasi dan penyebaran.
Bahasa PowerShell mendukung logika yang lebih kompleks daripada skrip Transact-SQL, yang memberi Anda kemampuan untuk membuat skrip yang lebih canggih untuk pencadangan dan tugas lainnya.
Kode berikut akan membuat cadangan seperti contoh sebelumnya. Ganti saja MyServer
dengan nama server Anda.
Backup-SqlDatabase -ServerInstance MyServer -Database Music
Anda juga dapat menentukan lokasi
Backup-SqlDatabase -ServerInstance MyServer -Database Music -BackupFile 'C:\Backups\Music.bak'
Setelah menjalankan kode ini, file cadangan akan ditempatkan di lokasi default.
Anda juga dapat menentukan -BackupAction Database
untuk secara eksplisit menyatakan bahwa itu adalah cadangan penuh. Namun, ini adalah opsi default.
Anda dapat melihat dokumentasi lengkap untuk Backup-SqlDatabase
perintah di situs web Microsoft.
Menimpa File Cadangan
Jika Anda melakukan beberapa pencadangan menggunakan nama file yang sama untuk file cadangan, Anda mungkin memperhatikan bahwa setiap kali Anda menjalankan pencadangan, ukuran file dari file cadangan meningkat.
Ini karena setiap pencadangan yang berurutan menambahkan dirinya sendiri ke file yang ada. Ini dilakukan karena Anda menggunakan nama file yang sama dan Anda tidak secara eksplisit menentukan bahwa setiap cadangan harus menimpa file yang ada.
Ada opsi yang memungkinkan Anda untuk menimpa file yang ada.
- Menggunakan SQLOPS GUI , klik Konfigurasi Lanjutan dan di bawah Cadangkan ke kumpulan media yang ada , pilih Timpa semua set cadangan yang ada .
- Menggunakan GUI SSMS , klik Opsi Media di menu sebelah kiri Back Up Database kotak dialog, dan pilih Timpa semua set cadangan yang ada di Timpa Media bagian.
- Menggunakan SQL tambahkan
WITH INIT
ke pernyataan SQL. - Menggunakan Powershell , tambahkan
-Initialize
sesuai perintah.
Menggunakan Nama File Unik
Namun, sering kali merupakan ide yang baik untuk membuat cadangan lengkap dengan nama file yang unik (biasanya menyertakan tanggal dalam nama file). Memiliki nama file yang unik berarti setiap cadangan akan menjadi file yang terpisah.
Juga, tergantung pada ukuran database Anda, dan berapa banyak data baru yang dimasukkan ke dalamnya, Anda mungkin ingin melengkapi cadangan lengkap Anda dengan cadangan diferensial. Cadangan diferensial hanya menangkap data yang telah berubah sejak pencadangan penuh terbaru.