backup SQL Server basis data dengan panduan lengkap kami untuk tahun 2025. Petunjuk langkah demi langkah dan praktik terbaik untuk semua tingkat keahlian.
1. Pengantar SQL Server backup
1.1 Apa SQL Server Cadangan?
SQL Server Pencadangan adalah proses pembuatan salinan berkas basis data Anda untuk melindungi dari kehilangan data. Pencadangan merekam status basis data Anda pada titik waktu tertentu, memungkinkan Anda memulihkan data jika terjadi kegagalan perangkat keras, kesalahan manusia, atau bencana.
SQL Server menyimpan cadangan dalam file .bak secara default, yang berisi semua objek basis data termasuk tabel, prosedur tersimpan, tampilan, indeks, dan log transaksi.
1.2 Mengapa SQL Server Pencadangan Sangat Penting
Pencadangan basis data berfungsi sebagai garis pertahanan terakhir Anda terhadap kehilangan data. Tanpa pencadangan yang tepat, organisasi Anda berisiko:
- Kehilangan data permanen dari kegagalan atau kerusakan perangkat keras
- Waktu henti yang diperpanjang selama upaya pemulihan
- Gangguan bisnis dan kehilangan pendapatan
- Pelanggaran kepatuhan jika data tidak dapat dipulihkan
- Kerusakan reputasi dari gangguan layanan
Reguler SQL Server pencadangan memastikan kelangsungan bisnis dan memenuhi persyaratan peraturan untuk perlindungan data.
1.3 Skenario Kehilangan Data Umum
Memahami kapan kehilangan data terjadi membantu Anda mengembangkan strategi pencadangan yang efektif:
- Kegagalan perangkat keras: Kerusakan disk, malfungsi server, atau kegagalan sistem penyimpanan
- Kesalahan manusia: Penghapusan yang tidak disengaja, pembaruan yang salah, atau tabel yang dijatuhkan
- Masalah perangkat lunak: Bug aplikasi, pembaruan rusak, atau sistem crash
- Pelanggaran keamanan: Serangan ransomware, penghapusan berbahaya, atau akses tidak sah
- Bencana alam: Kebakaran, banjir, atau pemadaman listrik yang memengaruhi pusat data
2. Paham SQL Server Jenis Cadangan
SQL Server mendukung berbagai jenis pencadangan, masing-masing melayani kebutuhan pemulihan dan persyaratan penyimpanan yang berbeda.
2.1 Pencadangan Penuh
Pencadangan penuh membuat salinan lengkap seluruh basis data Anda, termasuk semua file data dan bagian log transaksi yang diperlukan untuk pemulihan.
2.1.1 Kapan Menggunakan Full Backup
Pencadangan penuh ideal untuk:
- Menetapkan dasar untuk jenis cadangan lainnya
- Basis data kecil hingga menengah yang waktu pencadangannya dapat diterima
- Jadwal pencadangan mingguan atau bulanan
- Basis data dengan perubahan yang jarang terjadi
2.1.2 Keuntungan dan Keterbatasan Full Backup
Keuntungan:
- Proses pemulihan paling sederhana – satu file berisi semuanya
- Mandiri dan independen dari cadangan lainnya
- Waktu pemulihan tercepat untuk pemulihan basis data lengkap
Keterbatasan:
- Membutuhkan ruang penyimpanan yang signifikan
- Waktu pencadangan yang lebih lama untuk database besar
- Konsumsi sumber daya yang lebih tinggi selama operasi pencadangan
2.2 Cadangan Diferensial
Pencadangan diferensial hanya menangkap perubahan data sejak pencadangan penuh terakhir, sehingga mengurangi waktu pencadangan dan kebutuhan penyimpanan.
2.2.1 Cara Kerja Pencadangan Diferensial
Pencadangan diferensial melacak modifikasi menggunakan ekstensi yang diubah. Saat Anda memulihkan, SQL Server menerapkan cadangan penuh terakhir terlebih dahulu, lalu menerapkan most cadangan diferensial terkini.
2.2.2 Cadangan Penuh vs. Cadangan Diferensial
| Aspek | Cadangan Penuh | Cadangan Diferensial |
|---|---|---|
| Ukuran | Basis data lengkap | Hanya perubahan sejak pencadangan penuh terakhir |
| Waktu Cadangan | Paling lama | Lebih cepat dari penuh |
| Kembalikan Proses | Pemulihan file tunggal | Membutuhkan diferensial penuh + |
| Penyimpanan Diperlukan | Most ruang | Ruang awalnya lebih kecil, namun tumbuh seiring waktu |
2.3 Pencadangan Log Transaksi
Pencadangan log transaksi menangkap semua transaksi sejak pencadangan log terakhir, yang memungkinkan pemulihan pada titik waktu tertentu.
2.3.1 Memahami Log Transaksi
Log transaksi mencatat setiap modifikasi pada basis data Anda. Pencadangan log akan memotong bagian log yang tidak aktif, mencegahnya bertambah besar tanpa batas dan memenuhi disk Anda.
2.3.2 Pemulihan Titik Waktu
Pencadangan log transaksi memungkinkan Anda memulihkan basis data ke momen tertentu dalam pencadangan log. Hal ini penting untuk memulihkan data dari modifikasi atau penghapusan data yang tidak disengaja.
Untuk melakukan pemulihan point-in-time, Anda memerlukan:
- Cadangan penuh terakhir
- Most cadangan diferensial terkini (opsional)
- Semua cadangan log transaksi dari cadangan penuh/diferensial ke tarmendapatkan waktu
2.4 Cadangan Log Ekor
Pencadangan tail-log menangkap catatan log yang belum dicadangkan, mencegah kehilangan data dan menjaga rantai log tetap utuh. Sebelum memulihkan SQL Server Untuk memulihkan basis data ke titik waktu terbarunya, Anda harus mencadangkan bagian ekor log transaksinya. Pencadangan tail-log adalah pencadangan terakhir yang penting dalam rencana pemulihan basis data.

Catatan: Tidak semua skenario pemulihan memerlukan pencadangan tail-log. Anda tidak memerlukannya jika titik pemulihan terdapat dalam pencadangan log sebelumnya. Pencadangan tail-log juga tidak diperlukan jika Anda memindahkan atau mengganti (menimpa) basis data dan tidak perlu memulihkannya ke titik waktu setelah pencadangannya.ost cadangan terkini.
2.4.1 Kapan Pencadangan Log Ekor Diperlukan
Skenario berikut menjelaskan kapan Anda harus mengambil cadangan tail-log:
Pemulihan Basis Data Daring: Jika basis data sedang online dan Anda berencana melakukan operasi pemulihan pada basis data, mulailah dengan mencadangkan bagian ekor log. Untuk menghindari kesalahan pada basis data online, Anda harus menggunakan opsi WITH NORECOVERY dari pernyataan Transact-SQL BACKUP saat Anda mencadangkan. SQL Server database.
Pemulihan Basis Data Offline: Jika database sedang offline dan gagal untuk starJika Anda perlu memulihkan basis data, pertama-tama cadangkan bagian ekor log. Karena tidak ada transaksi yang dapat terjadi saat ini, penggunaan opsi WITH NORECOVERY bersifat opsional. NORECOVERY pada dasarnya sama dengan pencadangan log transaksi yang hanya menyalin dalam skenario ini.
Cadangan Basis Data yang Rusak: Jika basis data rusak, cobalah untuk membuat cadangan tail-log dengan menggunakan opsi WITH CONTINUE_AFTER_ERROR dari pernyataan BACKUP. Pada basis data yang rusak, pencadangan tail log hanya dapat berhasil jika berkas log tidak rusak, basis data berada dalam kondisi yang mendukung pencadangan tail-log, dan basis data tidak berisi perubahan yang dicatat secara massal. Jika cadangan tail-log tidak dapat dibuat, semua transaksi yang dilakukan setelah MS terakhir SQL Server database cadangan adalah lost.
2.4.2 Opsi Utama untuk Pencadangan Tail-Log
DENGAN NORECOVERY: Gunakan DENGAN NORECOVERY jika Anda mencadangkan sebagian log dari basis data daring yang ingin Anda pulihkan nanti. NORECOVERY akan membuat basis data offline. Anda juga dapat mencadangkan SQL Server Log ekor dari basis data luring. Jika Anda ingin membiarkan basis data luring, gunakan WITH NORECOVERY. Perhatikan bahwa log akan terpotong kecuali Anda menentukan opsi COPY_ONLY atau NO_TRUNCATE.
DENGAN LANJUTKAN_SETELAH_KESALAHAN: Gunakan CONTINUE_AFTER_ERROR hanya jika Anda mencadangkan bagian akhir dari basis data yang rusak. Saat Anda mencadangkan bagian akhir log pada basis data yang rusak, beberapa metadata yang biasanya tercatat dalam pencadangan log mungkin tidak tersedia.
2.5 Pencadangan Hanya Salin
Pencadangan khusus salinan menciptakan pencadangan independen tanpa memengaruhi urutan pencadangan normal. Pencadangan ini tidak mengganggu rantai pencadangan diferensial atau kontinuitas log transaksi.
Gunakan cadangan hanya-salinan untuk:
- Membuat salinan basis data pengujian atau pengembangan
- Pencadangan ad-hoc tanpa memengaruhi pencadangan terjadwal
- Cadangkan sebelum perubahan besar atau pengujian
2.6 Pencadangan File dan Grup File
Pencadangan file dan grup file tarDapatkan berkas atau grup berkas basis data tertentu, alih-alih seluruh basis data. Pendekatan ini efektif untuk basis data yang sangat besar di mana pencadangan semuanya membutuhkan waktu terlalu lama.
Manfaat meliputi:
- Operasi pencadangan yang lebih cepat untuk database besar
- Pencadangan paralel beberapa grup file
- Opsi pemulihan granular
- Jadwal pencadangan yang dioptimalkan untuk grup file hanya-baca
2.7 Pencadangan Sebagian
Pencadangan parsial mencakup semua data dalam grup berkas utama dan semua grup berkas baca-tulis, kecuali grup berkas baca-saja. Hal ini mengurangi ukuran dan waktu pencadangan untuk basis data dengan data historis statis yang disimpan dalam grup berkas baca-saja.
3. SQL Server Model Pemulihan
SQL Server model pemulihan menentukan jenis cadangan mana yang tersedia dan bagaimana log transaksi dikelola.
3.1 Model Pemulihan Sederhana
3.1.1 Karakteristik dan Kasus Penggunaan
Pemulihan sederhana secara otomatis memotong log transaksi setelah setiap titik pemeriksaan, sehingga menghemat ruang tanpa memerlukan pencadangan log.
Terbaik untuk:
- Pengembangan dan pengujian database
- Basis data di mana kehilangan data antar pencadangan dapat diterima
- Gudang data dengan proses ETL yang dapat dijalankan ulang
- Database hanya baca atau pelaporan
3.1.2 Opsi Cadangan yang Tersedia
Dukungan pemulihan sederhana:
- Pencadangan penuh
- Cadangan diferensial
- Pencadangan file dan grup file
- Pencadangan hanya-salinan
Pencadangan log transaksi adalah tidak tersedia dalam model pemulihan sederhana.
3.2 Model Pemulihan Penuh
3.2.1 Fitur dan Manfaat
Pemulihan penuh mencatat semua transaksi dan menyimpan catatan log hingga Anda mencadangkannya. Hal ini memungkinkan pemulihan data lengkap kapan pun dalam pencadangan log transaksi.
Kunci Manfaat:
- Potensi kehilangan data minimal
- Kemampuan pemulihan titik waktu
- Mendukung pengiriman log dan pencerminan basis data
- Fleksibilitas pemulihan maksimum
3.2.2 Manajemen Log Transaksi
Dalam pemulihan penuh, Anda harus melakukan pencadangan log transaksi secara berkala untuk:
- Mencegah log transaksi memenuhi ruang disk
- Pertahankan rantai cadangan yang berkelanjutan
- Aktifkan pemulihan titik waktu
- Kontrol pertumbuhan file log
Jadwal pencadangan yang umum: pencadangan penuh setiap minggu, pencadangan diferensial setiap hari, pencadangan log setiap 15-30 menit.
3.3 Model Pemulihan yang Dicatat Secara Massal
3.3.1 Kapan Menggunakan Bulk-Logged
Pemulihan yang dicatat secara massal minimal mencatat operasi massal seperti BULK INSERT, SELECT INTO, dan pembuatan ulang indeks sambil mempertahankan pencatatan penuh untuk transaksi reguler.
Gunakan pemulihan yang dicatat secara massal ketika:
- Melakukan operasi impor massal yang besar
- Membangun kembali indeks pada tabel besar
- Menjalankan operasi yang mendapatkan keuntungan dari pencatatan minimal
- Perlu mengurangi ukuran log transaksi selama operasi tertentu
3.3.2 Keterbatasan dan Pertimbangan
Batasan penting:
- Pemulihan titik waktu tidak tersedia selama operasi massal
- Pencadangan log lebih besar ketika operasi massal terjadi
- Harus beralih antara pencatatan penuh dan pencatatan massal sesuai kebutuhan
3.4 Memilih Model Pemulihan yang Tepat
Pilih model pemulihan Anda berdasarkan persyaratan bisnis:
| Model Pemulihan | Risiko Kehilangan Data | Pemulihan Point-in-Time | terbaik Untuk |
|---|---|---|---|
| Sederhana | Perubahan sejak pencadangan terakhir | Tidak | Pengembangan/pengujian, kehilangan data dapat diterima |
| Penuh | Minimal (biasanya menit) | Ya | Basis data produksi, data penting |
| Dicatat secara massal | Perubahan sejak pencadangan log terakhir | Terbatas selama operasi massal | Wakturary digunakan selama operasi massal |
4. backup SQL Server Basis Data Menggunakan SSMS
4.1 Prasyarat dan Persiapan
Sebelum mencadangkan SQL Server basis data, pastikan:
- Anda memiliki izin yang sesuai (izin db_owner atau BACKUP DATABASE)
- Ruang disk yang cukup untuk file cadangan
- SQL Server Studio Manajemen (SSMS) terpasang
- Jalur jaringan dapat diakses jika melakukan pencadangan ke lokasi jaringan
4.2 Langkah demi Langkah: Pencadangan Penuh dengan SSMS
Ikuti langkah-langkah berikut untuk membuat cadangan penuh SQL Server basis data menggunakan SSMS.
4.2.1 Pembukaan SQL Server Studio Manajemen
- Launch SQL Server Studio Manajemen
- Masukkan nama server Anda di Nama server bidang
- Pilih metode autentikasi Anda
- Klik Terhubung
4.2.2 Memilih Opsi Basis Data dan Cadangan
- In Penjelajah Objek, perluas Database simpul
- Klik kanan database yang ingin Anda backup
- Pilih Tasks -> Back Up
- Dalam majalah Cadangkan Basis Data jendela, verifikasi nama database
- Pilih Penuh sebagai Jenis cadangan
4.2.3 Mengonfigurasi Tujuan Pencadangan
- Bawah Tujuanklik Hapus untuk menghapus jalur default (jika diperlukan)
- Klik Add untuk menentukan lokasi cadangan baru
- Masukkan jalur dan nama file dengan .bak perpanjangan
- Klik OK untuk mengkonfirmasi tujuan
4.2.4 Advanced Backup Pengaturan
- Klik Opsi Media di panel kiri
- Pilih opsi cadangan:
- Timpa semua set cadangan yang ada – Menggantikan cadangan yang ada
- Tambahkan ke set cadangan yang ada – Menambahkan ke file cadangan yang ada
- Klik Pilihan Backup di panel kiri
- Konfigurasikan pengaturan opsional:
- Kompres cadangan – Mengurangi ukuran file cadangan
- Enkripsi cadangan – Melindungi data sensitif
- Verifikasi cadangan saat selesai – Memeriksa integritas cadangan
4.2.5 Menjalankan Pencadangan
- Tinjau semua pengaturan di Cadangkan Basis Data jendela
- Klik OK untuk starproses pencadangan
- Tunggu hingga pencadangan selesai
- Pesan sukses muncul ketika pencadangan selesai
- Klik OK untuk menutup dialog konfirmasi
4.3 Membuat Cadangan Diferensial dengan SSMS
Untuk membuat cadangan diferensial, ikuti langkah yang sama seperti cadangan penuh, tetapi pilih Diferensial sebagai jenis cadangan pada langkah 4.2.2. Ingatlah bahwa cadangan diferensial memerlukan cadangan penuh sebelumnya sebagai dasar.
4.4 Membuat Cadangan Log Transaksi dengan SSMS
Pencadangan log transaksi hanya tersedia untuk basis data yang menggunakan model pemulihan Penuh atau Pencatatan Massal.
- Klik kanan database di Penjelajah Objek
- Pilih Tasks -> Back Up
- Pilih Log Transaksi sebagai tipe cadangan
- Konfigurasikan tujuan dan opsi sesuai kebutuhan
- Klik OK untuk membuat cadangan log
4.5 Membuat Cadangan Hanya Salin dengan SSMS
Pencadangan hanya-salinan tidak akan mengganggu urutan pencadangan rutin Anda.
- Ikuti langkah-langkah untuk membuat cadangan penuh
- Dalam majalah Pilihan Backup halaman
- Periksalah Pencadangan hanya-salinan Option
- Selesaikan proses pencadangan secara normal
5. backup SQL Server Basis Data Menggunakan T-SQL
5.1 Sintaks Dasar DATABASE CADANGAN
Perintah T-SQL BACKUP DATABASE menyediakan kontrol terprogram atas SQL Server backup.
BACKUP DATABASE database_name
TO DISK = 'backup_file_path'
WITH options;
5.2 Perintah T-SQL Cadangan Penuh
5.2.1 Skrip Pencadangan Penuh Sederhana
Buat cadangan lengkap dasar dengan opsi minimal:
BACKUP DATABASE AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks.bak'
GO
5.2.2 Pencadangan Penuh dengan Opsi
Tambahkan informasi deskriptif dan opsi pemformatan:
BACKUP DATABASE AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks.bak'
WITH FORMAT,
INIT,
NAME = 'AdventureWorks-Full Database Backup',
DESCRIPTION = 'Full backup of AdventureWorks database',
STATS = 10
GO
Opsi dijelaskan:
- FORMAT – Membuat set cadangan baru
- INIT – Menimpa file cadangan yang ada
- NAMA – Menetapkan nama set cadangan
- DESKRIPSI – Menambahkan teks deskriptif
- STATS – Menunjukkan kemajuan setiap 10%
5.3 Perintah T-SQL Cadangan Diferensial
Pencadangan diferensial menggunakan opsi DIFERENSIAL:
BACKUP DATABASE AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks_Diff.bak'
WITH DIFFERENTIAL,
INIT,
NAME = 'AdventureWorks-Differential Backup',
STATS = 10
GO
5.4 Perintah T-SQL Pencadangan Log Transaksi
Gunakan BACKUP LOG untuk pencadangan log transaksi:
BACKUP LOG AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks_Log.trn'
WITH INIT,
NAME = 'AdventureWorks-Transaction Log Backup',
STATS = 10
GO
5.5 Opsi Pencadangan T-SQL Lanjutan
5.5.1 Pencadangan ke Beberapa File
Distribusikan cadangan ke beberapa file untuk kinerja yang lebih cepat:
BACKUP DATABASE AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks_1.bak',
DISK = 'D:\Backups\AdventureWorks_2.bak',
DISK = 'E:\Backups\AdventureWorks_3.bak'
WITH FORMAT, INIT
GO
5.5.2 Pencadangan dengan Kompresi
Kurangi ukuran file cadangan dan lebar pita jaringan:
BACKUP DATABASE AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks_Compressed.bak'
WITH COMPRESSION,
INIT,
STATS = 10
GO
5.5.3 Pencadangan dengan Enkripsi
Lindungi data sensitif dengan enkripsi:
BACKUP DATABASE AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks_Encrypted.bak'
WITH COMPRESSION,
ENCRYPTION (
ALGORITHM = AES_256,
SERVER CERTIFICATE = BackupCertificate
),
STATS = 10
GO
5.5.4 Pencadangan dengan Perlindungan Kata Sandi
Tambahkan proteksi kata sandi (sudah tidak berlaku lagi, gunakan enkripsi sebagai gantinya):
BACKUP DATABASE AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks.bak'
WITH PASSWORD = 'StrongPassword123!',
INIT
GO
5.5.5 Pencadangan Cermin
Buat salinan simultan ke lokasi berbeda:
BACKUP DATABASE AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks.bak'
MIRROR TO DISK = 'D:\Backups\AdventureWorks_Mirror.bak'
WITH FORMAT, INIT
GO
5.6 Contoh dan Skrip Pencadangan T-SQL
Skrip cadangan lengkap dengan penanganan kesalahan:
DECLARE @BackupPath NVARCHAR(500);
DECLARE @DatabaseName NVARCHAR(128) = 'AdventureWorks';
DECLARE @BackupDate NVARCHAR(20);
SET @BackupDate = CONVERT(NVARCHAR(20), GETDATE(), 112);
SET @BackupPath = 'C:\Backups\' + @DatabaseName + '_' + @BackupDate + '.bak';
BEGIN TRY
BACKUP DATABASE @DatabaseName
TO DISK = @BackupPath
WITH COMPRESSION,
INIT,
NAME = @DatabaseName + '-Full Backup',
STATS = 10;
PRINT 'Backup completed successfully: ' + @BackupPath;
END TRY
BEGIN CATCH
PRINT 'Backup failed: ' + ERROR_MESSAGE();
END CATCH
GO
6. backup SQL Server Basis Data Menggunakan PowerShell
6.1 Cmdlet Cadangan PowerShell
SQL Server Modul PowerShell menyediakan cmdlet untuk otomatisasi pencadangan:
- Backup-SqlDatabase – Membuat cadangan basis data
- Pulihkan-SqlDatabase – Mengembalikan cadangan basis data
- Dapatkan-SqlDatabase – Mengambil informasi basis data
Impor SQL Server modul:
Import-Module SqlServer
6.2 Membuat Skrip Cadangan dengan PowerShell
Perintah pencadangan PowerShell dasar:
Backup-SqlDatabase -ServerInstance "localhost" `
-Database "AdventureWorks" `
-BackupFile "C:\Backups\AdventureWorks.bak" `
-BackupAction Database `
-CompressionOption On
Contoh cadangan diferensial:
Backup-SqlDatabase -ServerInstance "localhost" `
-Database "AdventureWorks" `
-BackupFile "C:\Backups\AdventureWorks_Diff.bak" `
-BackupAction Database `
-Incremental
Pencadangan log transaksi:
Backup-SqlDatabase -ServerInstance "localhost" `
-Database "AdventureWorks" `
-BackupFile "C:\Backups\AdventureWorks_Log.trn" `
-BackupAction Log
6.3 Mengotomatiskan Pencadangan dengan PowerShell
Buat skrip cadangan otomatis untuk beberapa basis data:
# Configuration
$ServerInstance = "localhost"
$BackupPath = "C:\Backups"
$Databases = @("AdventureWorks", "TestDB", "ProductionDB")
$Timestamp = Get-Date -Format "yyyyMMdd_HHmmss"
# Create backup directory if not exists
if (-not (Test-Path $BackupPath)) {
New-Item -ItemType Directory -Path $BackupPath
}
# Backup each database
foreach ($Database in $Databases) {
$BackupFile = Join-Path $BackupPath "$Database`_$Timestamp.bak"
try {
Backup-SqlDatabase -ServerInstance $ServerInstance `
-Database $Database `
-BackupFile $BackupFile `
-BackupAction Database `
-CompressionOption On
Write-Host "Successfully backed up $Database to $BackupFile" -ForegroundColor Green
}
catch {
Write-Host "Failed to backup $Database : $_" -ForegroundColor Red
}
}
7. backup SQL Server Database Menggunakan Command Line
SQL Server menyediakan utilitas baris perintah yang memungkinkan Anda untuk membuat cadangan SQL Server basis data tanpa menggunakan SSMS atau antarmuka grafis. Alat-alat ini penting untuk skenario otomatisasi, skrip, dan administrasi jarak jauh.
7.1 Menggunakan Database Cadangan SQLCMD
SQLCMD adalah utilitas baris perintah modern untuk SQL Server yang menggantikan OSQL. OSQL menyediakan fungsionalitas yang ditingkatkan dan merupakan alat yang direkomendasikan untuk menjalankan perintah T-SQL dari command prompt.
7.1.1 Sintaks Dasar SQLCMD
sqlcmd -S ServerName -d DatabaseName -Q "BACKUP DATABASE statement"
- -S: Menentukan SQL Server nama instans
- -d: Menentukan nama basis data
- -Q: Menjalankan kueri dan keluar
- -DAN: Menggunakan Autentikasi Windows
- -U: Menentukan SQL Server nama pengguna masuk
- -P: Menentukan kata sandi untuk SQL Server masuk
7.1.2 Membuat Cadangan dengan SQLCMD
Untuk mencadangkan SQL Server menggunakan SQLCMD, ikuti langkah-langkah berikut:
- Open command Prompt or PowerShell
- Arahkan ke folder SQL Server direktori alat (biasanya ditambahkan ke PATH selama instalasi)
- Jalankan perintah database cadangan SQLCMD dengan parameter yang sesuai
- Verifikasi bahwa file cadangan telah berhasil dibuat
Contoh perintah pencadangan penuh menggunakan Autentikasi Windows:
sqlcmd -S localhost -E -Q "BACKUP DATABASE AdventureWorks TO DISK='C:\Backups\AdventureWorks.bak' WITH COMPRESSION, INIT"
Contoh penggunaan SQL Server Otentikasi:
sqlcmd -S localhost -U sa -P YourPassword -Q "BACKUP DATABASE AdventureWorks TO DISK='C:\Backups\AdventureWorks.bak' WITH COMPRESSION, INIT"
Membuat Cadangan Diferensial dengan SQLCMD
sqlcmd -S localhost -E -Q "BACKUP DATABASE AdventureWorks TO DISK='C:\Backups\AdventureWorks_Diff.bak' WITH DIFFERENTIAL, COMPRESSION, INIT"
Membuat Cadangan Log Transaksi dengan SQLCMD
sqlcmd -S localhost -E -Q "BACKUP LOG AdventureWorks TO DISK='C:\Backups\AdventureWorks_Log.trn' WITH COMPRESSION, INIT"
7.2 Menggunakan Basis Data Cadangan OSQL
OSQL adalah utilitas baris perintah lama untuk SQL ServerMeskipun Microsoft merekomendasikan penggunaan SQLCMD, OSQL tetap tersedia untuk kompatibilitas mundur dengan skrip dan sistem lama.
7.2.1 Sintaks Dasar OSQL
Sintaks OSQL mirip dengan SQLCMD:
osql -S ServerName -d DatabaseName -Q "BACKUP DATABASE statement"
- -S: SQL Server nama instans
- -d: Nama basis data
- -Q: Menjalankan query dan keluar
- -DAN: Menggunakan koneksi tepercaya (Autentikasi Windows)
- -U: Login nama pengguna
- -P: Kata sandi masuk
7.2.2 Membuat Cadangan dengan OSQL
Untuk melakukan operasi pencadangan basis data OSQL:
- Open command Prompt
- Verifikasi OSQL tersedia di SQL Server instalasi
- Jalankan perintah cadangan OSQL
Contoh cadangan penuh:
osql -S localhost -E -Q "BACKUP DATABASE AdventureWorks TO DISK='C:\Backups\AdventureWorks.bak' WITH INIT"
Contoh cadangan diferensial:
osql -S localhost -E -Q "BACKUP DATABASE AdventureWorks TO DISK='C:\Backups\AdventureWorks_Diff.bak' WITH DIFFERENTIAL, INIT"
8. Pihak Ketiga SQL Server Alat Cadangan
Sementara SQL Server Dilengkapi kemampuan pencadangan asli, alat pihak ketiga menawarkan fitur yang disempurnakan, otomatisasi, dan manajemen tingkat perusahaan untuk organisasi dengan persyaratan kompleks. Solusi ini menyediakan kompresi tingkat lanjut, manajemen terpusat, dan alur kerja yang efisien untuk pencadangan. SQL Server basis data di berbagai lingkungan.
8.1 Veeam Backup untuk SQL Server
Veeam menawarkan solusi perlindungan data komprehensif yang dirancang khusus untuk mencadangkan SQL Server basis data dengan dampak minimal pada sistem produksi.
Fitur Utama:
- Pemrosesan yang sadar aplikasi untuk SQL Server konsistensi cadangan
- Pencadangan dan manajemen log transaksi
- Pemulihan titik waktu dengan opsi pemulihan terperinci
- Integrasi dengan Veeam Backup & Replication untuk perlindungan data terpadu
- Verifikasi dan validasi cadangan otomatis
- Dukungan untuk Grup Ketersediaan Selalu Aktif
- Tingkat VM dan tingkat aplikasi SQL Server opsi cadangan
8.2 Barracuda Backup untuk SQL Server
Barracuda menyediakan solusi cadangan terintegrasi cloud dengan manajemen yang disederhanakan untuk MS SQL Server operasi basis data cadangan.
Fitur Utama:
- Otomatis SQL Server penjadwalan cadangan
- Replikasi cloud bawaan ke Barracuda Cloud Storage
- Deduplikasi dan kompresi global
- Kemampuan pemulihan lokal instan
- Konsol manajemen berbasis web
- Dukungan untuk pencadangan log penuh, diferensial, dan transaksi
- Perlindungan ransomware dengan cadangan yang tidak dapat diubah
8.3 Veritas NetBackup untuk SQL Server
Veritas NetBackup adalah platform cadangan tingkat perusahaan yang menyediakan perlindungan komprehensif untuk SQL Server basis data di seluruh lingkungan TI yang kompleks.
Fitur Utama:
- Manajemen cadangan skala perusahaan untuk ribuan SQL Server contoh
- Algoritma deduplikasi dan kompresi tingkat lanjut
- Kebijakan dan penjadwalan pencadangan yang fleksibel
- Dukungan untuk semua SQL Server model pemulihan
- Integrasi dengan tape libraries dan penyimpanan cloud
- Pemulihan granular database, tabel, dan objek
- Dukungan multi-platform (Windows, Linux SQL Server)
- Manajemen siklus hidup pencadangan otomatis
8.4 Commvault Complete Backup & Recovery untuk SQL Server
Commvault menghadirkan manajemen data cerdas dengan pencadangan komprehensif SQL Server kemampuan dan fitur otomatisasi tingkat lanjut.
Fitur Utama:
- Optimalisasi cadangan berbasis AI dan deteksi anomali
- Platform terpadu untuk pencadangan, pemulihan, dan pengarsipan
- Advanced SQL Server kompresi cadangan (pengurangan hingga 90%)
- Orkestrasi pemulihan bencana otomatis
- Sinkronisasi Langsung untuk perlindungan RPO mendekati nol
- Dukungan untuk SQL Server penerapan di tempat, cloud, dan hybrid
- IntelliSnap untuk pencadangan berbasis snapshot
- Kemampuan kepatuhan dan penemuan elektronik yang komprehensif
8.5 Cohesity DataProtect untuk SQL Server
Cohesity menyediakan manajemen data generasi berikutnya dengan infrastruktur hyperconverged untuk modern SQL Server operasi pencadangan.
Fitur Utama:
- Arsitektur skala web untuk manajemen yang disederhanakan
- Kemampuan pemulihan massa instan untuk SQL Server database
- Snapshot yang konsisten dengan aplikasi
- Deduplikasi global di seluruh cadangan
- Integrasi cloud asli (AWS, Azure, Google Cloud)
- Dasbor analitik dan pemantauan bawaan
- Kemampuan kloning dan uji database
- Perlindungan ransomware dengan snapshot yang tidak dapat diubah
8.6 Red Gate SQL Backup Pro
Red Gate SQL Backup Pro adalah alat khusus yang berfokus secara eksklusif pada pengoptimalan SQL Server operasi pencadangan dan pemulihan dengan kompresi dan kinerja yang unggul.
Fitur Utama:
- Rasio kompresi terdepan di industri (hingga 95%)
- Ketahanan jaringan untuk pencadangan SQL Server melalui koneksi yang tidak dapat diandalkan
- Enkripsi cadangan dengan AES 256-bit
- Verifikasi salinan cadangan dan pemeriksaan integritas
- Riwayat pencadangan dan pelaporan terperinci
- Integrasi dengan SQL Server Studio Manajemen
- Dukungan untuk pencadangan ke lokasi jaringan dan penyimpanan cloud
- Pencadangan dan pemulihan paralel untuk operasi yang lebih cepat
9. Cara Mengembalikan SQL Server Basis Data
9.1 Memahami Proses Pemulihan
Memulihkan a SQL Server Basis data membuat ulang basis data dari berkas cadangan. Proses pemulihan membaca berkas cadangan dan merekonstruksi basis data ke kondisi cadangannya.
Pertimbangan penting:
- Memulihkan menimpa database yang ada
- Pengguna terputus selama pemulihan
- Pemulihan harus mengikuti urutan pencadangan (penuh, lalu diferensial, lalu log)
- Basis data tidak tersedia selama operasi pemulihan
9.2 Memulihkan Cadangan Penuh Menggunakan SSMS
Ikuti langkah-langkah ini untuk memulihkan cadangan basis data lengkap.
9.2.1 Proses Pemulihan Langkah demi Langkah
- Open SQL Server Studio Manajemen dan terhubung ke server Anda
- In Penjelajah Objek, klik kanan Database
- Pilih Pulihkan Database
- Dalam majalah sumber bagian, pilih alat
- klik ... tombol untuk menelusuri file cadangan
- Klik Add dan navigasikan ke file .bak Anda
- Pilih file cadangan dan klik OK
- Dalam majalah Tujuan bagian, masukkan nama database
- Tinjau set cadangan untuk memulihkan
- Klik OK untuk staruntuk mengembalikan
9.2.2 Opsi dan Pengaturan Pemulihan
Klik Opsi di panel kiri untuk mengonfigurasi:
- Timpa database yang ada (DENGAN REPLACE) – Memungkinkan pemulihan pada database yang ada
- Pertahankan pengaturan replikasi (DENGAN KEEP_REPLICATION) – Mempertahankan konfigurasi replikasi
- Batasi akses ke database yang dipulihkan (DENGAN PENGGUNA_TERBATAS) – Batas post-mengembalikan akses
- Keadaan pemulihan – Pilih antara RESTORE WITH RECOVERY atau NORECOVERY
9.3 Memulihkan Cadangan Diferensial
Pemulihan diferensial memerlukan pencadangan penuh dan diferensial:
- Pertama, pulihkan cadangan penuh dengan TIDAK ADA PEMULIHAN Option
- Kemudian pulihkan cadangan diferensial dengan RECOVERY Option
Contoh T-SQL:
-- Restore full backup (NORECOVERY to allow differential)
RESTORE DATABASE AdventureWorks
FROM DISK = 'C:\Backups\AdventureWorks_Full.bak'
WITH NORECOVERY, REPLACE;
-- Restore differential backup (RECOVERY to complete)
RESTORE DATABASE AdventureWorks
FROM DISK = 'C:\Backups\AdventureWorks_Diff.bak'
WITH RECOVERY;
GO
9.4 Memulihkan dengan Cadangan Log Transaksi
Untuk pemulihan pada titik waktu tertentu, pulihkan secara berurutan:
- Pulihkan cadangan penuh dengan NORECOVERY
- Pulihkan cadangan diferensial dengan NORECOVERY (jika tersedia)
- Pulihkan cadangan log transaksi secara berurutan dengan NORECOVERY
- Pulihkan cadangan log akhir dengan RECOVERY
-- Restore full backup
RESTORE DATABASE AdventureWorks
FROM DISK = 'C:\Backups\AdventureWorks_Full.bak'
WITH NORECOVERY, REPLACE;
-- Restore first log backup
RESTORE LOG AdventureWorks
FROM DISK = 'C:\Backups\AdventureWorks_Log1.trn'
WITH NORECOVERY;
-- Restore second log backup with recovery
RESTORE LOG AdventureWorks
FROM DISK = 'C:\Backups\AdventureWorks_Log2.trn'
WITH RECOVERY;
GO
9.5 Pemulihan Titik Waktu
Pulihkan basis data ke titik waktu tertentu menggunakan opsi STOPAT:
-- Restore to specific time: January 15, 2025 at 2:30 PM
RESTORE DATABASE AdventureWorks
FROM DISK = 'C:\Backups\AdventureWorks_Full.bak'
WITH NORECOVERY, REPLACE;
RESTORE LOG AdventureWorks
FROM DISK = 'C:\Backups\AdventureWorks_Log.trn'
WITH RECOVERY, STOPAT = '2025-01-15 14:30:00';
GO
9.6 Pemulihan Tabel
SQL Server Tidak mendukung pemulihan langsung tingkat tabel dari file cadangan. Namun, masih ada beberapa solusi.
9.6.1 Metode 1: Cuplikan Basis Data (Terbaik untuk Pencegahan)
Snapshot basis data menyediakan cara tercepat untuk memulihkan data tabel jika dibuat sebelum masalah terjadi. Snapshot adalah tampilan statis basis data yang hanya dapat dibaca pada titik waktu tertentu.
Membuat Cuplikan Basis Data:
-- Create snapshot before making changes
CREATE DATABASE ProductionDB_Snapshot_20250107
ON
( NAME = ProductionDB_Data,
FILENAME = 'C:\Snapshots\ProductionDB_Snapshot.ss' )
AS SNAPSHOT OF ProductionDB;
GO
Memulihkan Data Tabel dari Snapshot:
USE ProductionDB;
GO
-- Replace entire table content
BEGIN TRANSACTION;
-- Disable constraints temporarily
ALTER TABLE dbo.Orders NOCHECK CONSTRAINT ALL;
-- Clear current data
TRUNCATE TABLE dbo.Orders;
-- Restore from snapshot
INSERT INTO dbo.Orders
SELECT * FROM ProductionDB_Snapshot_20250107.dbo.Orders;
-- Re-enable constraints
ALTER TABLE dbo.Orders CHECK CONSTRAINT ALL;
COMMIT TRANSACTION;
GO
Persyaratan Versi: Cuplikan basis data tersedia di SQL Server Edisi Perusahaan (semua versi), dan Edisi Standartarting dengan SQL Server 2016SP1.
9.6.2 Metode 2: Mengembalikan TemporarBasis Data y (M)ost Umum)
Metode ini berfungsi ketika Anda perlu memulihkan data tabel setelah terjadi masalah dan tidak ada snapshot yang tersedia:
- Pulihkan cadangan ke temporarbasis data y
- Salin data tabel dari temporarbasis data y ke basis data saat ini
9.7 Pemulihan Halaman
Pemulihan halaman memperbaiki halaman individual yang rusak tanpa memulihkan seluruh basis data, meminimalkan waktu henti dengan tarhanya mendapatkan halaman yang rusak. Fitur ini hanya tersedia pada model pemulihan Full atau Bulk-Logged dan memerlukan rantai cadangan log transaksi yang tidak terputus dari cadangan halaman hingga file log saat ini.
Untuk melakukan pemulihan halaman, pertama-tama identifikasi halaman yang rusak, ambil cadangan log ekor (tail-log backup), pulihkan halaman-halaman tertentu, lalu terapkan semua log transaksi:
-- Identify damaged pages
SELECT * FROM msdb.dbo.suspect_pages
WHERE database_id = DB_ID('AdventureWorks');
-- Take tail-log backup
BACKUP LOG AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks_TailLog.trn'
WITH NORECOVERY;
-- Restore damaged pages
RESTORE DATABASE AdventureWorks
PAGE = '1:123, 1:456'
FROM DISK = 'C:\Backups\AdventureWorks_Full.bak'
WITH NORECOVERY;
-- Apply transaction logs
RESTORE LOG AdventureWorks
FROM DISK = 'C:\Backups\AdventureWorks_Log1.trn'
WITH NORECOVERY;
RESTORE LOG AdventureWorks
FROM DISK = 'C:\Backups\AdventureWorks_TailLog.trn'
WITH RECOVERY;
GO
Catatan: Pemulihan halaman tidak tersedia dalam model pemulihan Sederhana. Anda tidak dapat memulihkan halaman dari tabel sistem atau metadata grup file utama.
9.8 Pemulihan Bertahap
Pemulihan bertahap (pemulihan parsial) memulihkan basis data secara bertahap pada tingkat grup file, stardengan grup file utama. Ini membuat data penting langsung online sementara data yang kurang penting dipulihkan di latar belakang. Di bawah model pemulihan Sederhana, semua grup file baca-tulis harus dipulihkan bersama dengan grup file utama; hanya grup file baca-saja yang dapat dipulihkan secara terpisah. Di bawah model pemulihan Penuh atau Massal-Logged, setiap grup file dapat diaktifkan secara independen setelah menerapkan log transaksi.
| Model Pemulihan | Pemulihan Perilaku Secara Bertahap |
|---|---|
| Sederhana | Grup file utama dan semua grup file baca-tulis dipulihkan bersamaan. Grup file hanya baca dipulihkan secara terpisah. |
| Pencatatan Lengkap/Massal | Setiap grup file dipulihkan secara independen pada tingkat grup file. |
Contoh untuk model pemulihan penuh – pulihkan grup file utama terlebih dahulu untuk mengaktifkan basis data, kemudian pulihkan grup file sekunder sementara basis data tetap beroperasi:
-- Stage 1: Restore primary filegroup (database comes online)
RESTORE DATABASE AdventureWorks
FILEGROUP = 'PRIMARY'
FROM DISK = 'C:\Backups\AdventureWorks_Full.bak'
WITH PARTIAL, NORECOVERY;
RESTORE LOG AdventureWorks
FROM DISK = 'C:\Backups\AdventureWorks_Log1.trn'
WITH RECOVERY;
GO
-- Stage 2: Restore secondary filegroup (database stays online)
RESTORE DATABASE AdventureWorks
FILEGROUP = 'HistoricalData'
FROM DISK = 'C:\Backups\AdventureWorks_Full.bak'
WITH NORECOVERY;
RESTORE LOG AdventureWorks
FROM DISK = 'C:\Backups\AdventureWorks_Log1.trn'
WITH RECOVERY;
GO
Contoh model pemulihan sederhana:
-- Restore primary with all read-write filegroups
RESTORE DATABASE AdventureWorks
FILEGROUP = 'PRIMARY'
FROM DISK = 'C:\Backups\AdventureWorks_Full.bak'
WITH PARTIAL, RECOVERY;
-- Restore read-only filegroup separately
RESTORE DATABASE AdventureWorks
FILEGROUP = 'ReadOnlyArchive'
FROM DISK = 'C:\Backups\AdventureWorks_ReadOnly.bak'
WITH RECOVERY;
GO
9.9 Memulihkan Menggunakan Perintah T-SQL
Skrip pemulihan lengkap dengan relokasi file:
RESTORE DATABASE AdventureWorks
FROM DISK = 'C:\Backups\AdventureWorks.bak'
WITH MOVE 'AdventureWorks_Data' TO 'D:\Data\AdventureWorks.mdf',
MOVE 'AdventureWorks_Log' TO 'E:\Logs\AdventureWorks.ldf',
REPLACE,
STATS = 10;
GO
9.10 Memverifikasi Integritas Cadangan Sebelum Pemulihan
Periksa validitas cadangan tanpa memulihkan:
RESTORE VERIFYONLY
FROM DISK = 'C:\Backups\AdventureWorks.bak';
GO
Perintah ini memverifikasi bahwa set cadangan lengkap dan dapat dibaca tanpa benar-benar memulihkan basis data.
10. SQL Server Praktik Terbaik Cadangan
10.1 Mengembangkan Strategi Cadangan
10.1.1 Menilai Persyaratan Bisnis
Sebelum menerapkan pencadangan, evaluasi:
- Kekritisan data: Seberapa penting data ini untuk operasi?
- Ubah frekuensi: Seberapa sering data berubah?
- Ukuran basis data: Seberapa besar basis datanya?
- Sumber daya yang tersedia: Penyimpanan dan bandwidth apa yang tersedia?
- Kebutuhan kepatuhan: Peraturan apa yang harus Anda ikuti?
10.1.2 Mendefinisikan RTO dan RPO
Tujuan Waktu Pemulihan (RTO): Waktu henti maksimum yang dapat diterima. Menentukan seberapa cepat Anda perlu memulihkan operasi.
Tujuan Titik Pemulihan (RPO): Kehilangan data maksimum yang dapat diterima. Menentukan frekuensi pencadangan.
| Persyaratan RTO/RPO | Strategi Pencadangan yang Direkomendasikan |
|---|---|
| RPO: Jam, RTO: Jam | Log transaksi harian penuh + setiap 1-2 jam |
| RPO: Menit, RTO: Jam | Pencadangan log penuh + harian setiap 15-30 menit |
| RPO: Hampir nol, RTO: Menit | Grup Ketersediaan Selalu Aktif + pencadangan log yang sering |
| RPO: Hari, RTO: Hari | Selisih mingguan penuh + harian |
10.2 Membuat Jadwal Pencadangan
10.2.1 Rekomendasi Frekuensi
Jadwal pencadangan umum untuk basis data produksi:
- Pencadangan penuh: Mingguan (Minggu malam saat aktivitas rendah)
- Cadangan diferensial: Setiap hari (setiap malam)
- Pencadangan log transaksi: Setiap 15-30 menit selama jam kerja
- Pencadangan hanya-salinan: Sesuai kebutuhan untuk pengujian atau pengembangan
10.2.2 Menyeimbangkan Kinerja dan Perlindungan
Pertimbangkan faktor-faktor ini saat menjadwalkan:
- Jam di luar jam sibuk: Jalankan pencadangan penuh selama periode aktivitas rendah
- Dampak sumber daya: Kompresi mengurangi I/O tetapi meningkatkan penggunaan CPU
- Bandwidth jaringan: Jadwalkan pencadangan jaringan saat lalu lintas rendah
- Jendela cadangan: Pastikan pencadangan selesai sebelum jam kerja
10.3 Praktik Terbaik Penyimpanan Cadangan
10.3.1 Penyimpanan di Lokasi vs. Penyimpanan di Luar Lokasi
Pencadangan di tempat:
- Waktu pencadangan dan pemulihan lebih cepat
- c . lebih rendahost untuk akses frekuensi tinggi
- Rentan terhadap bencana lokal
- Terbaik untuk skenario pemulihan cepat
Pencadangan di luar lokasi:
- Perlindungan dari bencana spesifik lokasi
- Kepatuhan terhadap persyaratan redundansi geografis
- Waktu pemulihan lebih lambat
- Penting untuk pemulihan bencana
10.3.2 Opsi Pencadangan Cloud
Keuntungan penyimpanan cloud:
- Penyimpanan Blob Azure: Asli SQL Server integrasi, cost-efektif untuk akses yang jarang
- Amazon S3: Tingkat penyimpanan yang sangat tahan lama dan fleksibel
- Penyimpanan Awan Google: Harga kompetitif, ketersediaan global
10.3.3 Kebijakan Retensi Cadangan
Kebijakan penyimpanan sampel:
- Simpan cadangan harian selama 7 hari
- Simpan cadangan mingguan selama 4 minggu
- Simpan cadangan bulanan selama 12 bulan
- Simpan cadangan tahunan selama 7 tahun (kepatuhan)
10.4 Kompresi dan Enkripsi Cadangan
Manfaat kompresi:
- Mengurangi ukuran file cadangan sebesar 50-70%
- Mengurangi waktu pencadangan
- Menurunkan penyimpanan costs
- Mengurangi bandwidth jaringan untuk pencadangan jarak jauh
Praktik terbaik enkripsi:
- Selalu enkripsi cadangan yang berisi data sensitif
- Gunakan enkripsi AES 256-bit
- Sertifikat aman atau manajemen kunci
- Dokumentasikan kunci enkripsi dan simpan secara terpisah
10.5 Menguji dan Memverifikasi Cadangan
10.5.1 Pengujian Pemulihan Reguler
Prosedur pemulihan pengujian triwulanan atau bulanan:
- Pulihkan cadangan ke lingkungan pengujian
- Verifikasi integritas dan kelengkapan data
- Periksa fungsionalitas aplikasi
- Waktu pemulihan dokumen (validasi RTO)
- Identifikasi dan selesaikan masalah apa pun
10.5.2 Menggunakan RESTORE VERIFYONLY
Otomatisasi validasi cadangan:
-- Verify backup integrity
RESTORE VERIFYONLY
FROM DISK = 'C:\Backups\AdventureWorks.bak'
WITH CHECKSUM;
GO
Jalankan verifikasi segera setelah pencadangan selesai atau sebagai bagian dari pemeliharaan terjadwal.
10.6 Otomatisasi dan Pemantauan Pencadangan
10.6.1 SQL Server Pekerjaan Agen
Buat pekerjaan pencadangan otomatis:
- Lihat lebih lanjut SQL Server Agen
di SSMS
- Klik kanan Jobs dan pilih Pekerjaan Baru
- Beri nama pekerjaan (misalnya, “Pencadangan Penuh Harian”)
- Tambahkan Langkah dengan perintah cadangan T-SQL
- Membuat Susunan acara untuk waktu eksekusi
- Konfigurasi Pemberitahuan untuk keberhasilan/kegagalan
10.6.2 Rencana Pemeliharaan
SQL Server Rencana Pemeliharaan menyediakan antarmuka visual untuk otomatisasi pencadangan:
- Navigasi ke Pengelolaan -> Rencana Pemeliharaan
- Klik kanan dan pilih Panduan Rencana Pemeliharaan
- Pilih tugas cadangan untuk diotomatisasi
- Konfigurasikan jadwal dan opsi pencadangan
- Siapkan pelaporan dan pencatatan
10.6.3 Peringatan dan Notifikasi Cadangan
Konfigurasikan notifikasi email:
- Siapkan Database Mail di SQL Server
- Buat peringatan untuk kegagalan pencadangan
- Memantau riwayat pekerjaan pencadangan
- Kirim laporan ringkasan ke administrator
10.7 Dokumentasi dan Perencanaan Pemulihan Bencana
Pertahankan dokumentasi yang komprehensif:
- Jadwal pencadangan: Kapan dan apa yang dicadangkan
- Kebijakan penyimpanan: Berapa lama cadangan disimpan
- Lokasi penyimpanan: Di mana cadangan disimpan
- Prosedur pemulihan: Petunjuk pemulihan langkah demi langkah
- Informasi kontak: Personel dan vendor kunci
- Hasil uji pemulihan: Hasil tes yang terdokumentasi
11. Maju SQL Server Skenario Cadangan
11.1 Pencadangan Basis Data Sangat Besar (VLDB)
11.1.1 Strategi File dan Filegroup
Untuk basis data yang melebihi beberapa ratus gigabyte:
- Pisahkan data baca-saja dan baca-tulis ke dalam grup file yang berbeda
- Cadangkan grup file hanya-baca secara jarang
- Fokuskan pencadangan rutin pada grup file aktif
- Gunakan pencadangan tingkat file untuk kontrol terperinci
Contoh berkas cadangan:
-- Back up specific file
BACKUP DATABASE LargeDB
FILE = 'LargeDB_Data1'
TO DISK = 'C:\Backups\LargeDB_File1.bak'
WITH COMPRESSION;
GO
11.1.2 Optimasi Kinerja Pencadangan
Meningkatkan kinerja pencadangan VLDB:
- Cadangan bergaris: Menulis ke beberapa file secara bersamaan
- Kompresi: Mengurangi persyaratan I/O dan penyimpanan
- Beberapa perangkat cadangan: Paralelisasikan operasi pencadangan
- Penyimpanan cepat: Gunakan SSD untuk pementasan cadangan
- Jumlah penyangga: Tingkatkan opsi BUFFERCOUNT
- Ukuran transfer maksimum: Optimalkan pengaturan MAXTRANSFERSIZE
-- Optimized VLDB backup
BACKUP DATABASE LargeDB
TO DISK = 'C:\Backups\LargeDB_1.bak',
DISK = 'D:\Backups\LargeDB_2.bak',
DISK = 'E:\Backups\LargeDB_3.bak'
WITH COMPRESSION,
BUFFERCOUNT = 100,
MAXTRANSFERSIZE = 4194304;
GO
11.2 Pencadangan dalam Grup Ketersediaan Selalu Aktif
Grup Ketersediaan Selalu Aktif mendistribusikan beban cadangan di seluruh replika:
- Konfigurasikan preferensi cadangan (primer, sekunder, atau replika apa pun)
- Memindahkan cadangan ke replika sekunder untuk mengurangi beban kerja utama
- Gunakan cadangan COPY_ONLY pada replika sekunder
- Pantau pengaturan prioritas pencadangan
-- Check backup preferences
SELECT
ag.name AS AvailabilityGroup,
ar.replica_server_name,
ar.backup_priority
FROM sys.availability_replicas ar
INNER JOIN sys.availability_groups ag ON ar.group_id = ag.group_id;
GO
11.3 Pencadangan untuk Pencerminan Basis Data
Dalam skenario pencerminan basis data:
- Cadangkan database utama secara teratur
- Pencadangan log transaksi sangat penting untuk pencerminan
- Basis data cermin dalam status PEMULIHAN (tidak dapat dicadangkan secara langsung)
- Pertimbangkan untuk mencadangkan cermin setelah failover
11.4 Pencadangan ke Azure Blob Storage
SQL Server dapat mencadangkan langsung ke Azure Blob Storage:
- Buat Akun Penyimpanan Azure
- membuat SQL Server kredensial untuk autentikasi Azure
- Gunakan sintaks URL untuk tujuan pencadangan
-- Create credential for Azure
CREATE CREDENTIAL [https://mystorageaccount.blob.core.windows.net/backups]
WITH IDENTITY = 'SHARED ACCESS SIGNATURE',
SECRET = 'your_SAS_token';
GO
-- Backup to Azure
BACKUP DATABASE AdventureWorks
TO URL = 'https://mystorageaccount.blob.core.windows.net/backups/AdventureWorks.bak'
WITH COMPRESSION,
STATS = 10;
GO
11.5 Pencadangan ke URL
Manfaat melakukan pencadangan ke URL:
- Kapasitas penyimpanan cloud tak terbatas
- Redundansi geografis ditangani secara otomatis
- Model penetapan harga bayar sesuai pemakaian
- Tidak diperlukan ruang disk lokal
- Mendukung hingga 64 URL per cadangan (striping)
11.6 Cadangan Bergaris untuk Performa
Pencadangan bergaris membagi data ke beberapa file untuk I/O yang lebih cepat:
-- Striped backup to 4 files
BACKUP DATABASE AdventureWorks
TO DISK = 'C:\Backups\AW_Stripe1.bak',
DISK = 'D:\Backups\AW_Stripe2.bak',
DISK = 'E:\Backups\AW_Stripe3.bak',
DISK = 'F:\Backups\AW_Stripe4.bak'
WITH COMPRESSION, FORMAT;
GO
Catatan: Semua berkas stripe diperlukan untuk pemulihan. Jika ada berkas yang hilang, cadangan tidak dapat digunakan.
12. Penyelesaian masalah SQL Server Masalah Pencadangan
12.1 Kesalahan Umum dalam Pencadangan dan Solusinya
Kesalahan: “Kesalahan sistem operasi 5: Akses ditolak”
- Sebab: SQL Server akun layanan tidak memiliki izin
- Larutan: Berikan izin Menulis ke SQL Server akun layanan di folder cadangan
Kesalahan: “Tidak dapat membuka perangkat cadangan… Kesalahan perangkat atau perangkat offline”
- Sebab: Jalur tidak valid atau berbagi jaringan tidak tersedia
- Larutan: Verifikasi keberadaan jalur, periksa konektivitas jaringan, pastikan ruang disk cukup
Kesalahan: “Tidak cukup ruang pada disk”
- Sebab: Ruang disk tidak cukup untuk pencadangan
- Larutan: Kosongkan ruang disk, gunakan kompresi, cadangkan ke lokasi berbeda
Kesalahan: "Basis data sedang digunakan. Basis data sedang digunakan oleh pengguna lain."
- Sebab: Koneksi aktif selama pemulihan
- Larutan: Gunakan opsi WITH REPLACE atau putuskan sambungan pengguna terlebih dahulu
12.2 Masalah Kinerja Pencadangan
Diagnosis pencadangan yang lambat:
- Periksa kinerja I/O disk menggunakan Monitor Kinerja
- Pantau kemajuan pencadangan dengan opsi STATS
- ULASAN SQL Server log kesalahan untuk kemacetan
- Pertimbangkan kompresi untuk mengurangi I/O
- Gunakan cadangan bergaris di beberapa disk
Kueri untuk memantau kemajuan pencadangan:
SELECT
session_id,
command,
percent_complete,
CAST(((DATEDIFF(s,start_time,GetDate()))/3600) as varchar) + ' hour(s), '
+ CAST((DATEDIFF(s,start_time,GetDate())%3600)/60 as varchar) + 'min, '
+ CAST((DATEDIFF(s,start_time,GetDate())%60) as varchar) + ' sec' as running_time,
CAST((estimated_completion_time/3600000) as varchar) + ' hour(s), '
+ CAST((estimated_completion_time %3600000)/60000 as varchar) + 'min, '
+ CAST((estimated_completion_time %60000)/1000 as varchar) + ' sec' as est_time_to_go,
dateadd(second,estimated_completion_time/1000, getdate()) as est_completion_time
FROM sys.dm_exec_requests
WHERE command LIKE 'BACKUP%';
GO
12.3 Masalah Ruang dan Penyimpanan
Mencegah masalah penyimpanan:
- Terapkan kebijakan retensi: Hapus cadangan lama secara otomatis
- Gunakan kompresi: Kurangi ukuran file cadangan sebesar 50-70%
- Arsipkan ke penyimpanan yang lebih murah: Pindahkan cadangan lama ke penyimpanan arsip
- Pantau ruang disk: Siapkan peringatan untuk ruang disk rendah
- Perkirakan ukuran cadangan: Hitung ukuran yang diharapkan sebelum melakukan pencadangan
Perkirakan ukuran cadangan:
-- Estimate full backup size
EXEC sp_spaceused;
GO
12.4 Masalah Izin dan Akses
Izin yang diperlukan untuk pencadangan:
- DATABASE CADANGAN izin
- db_backupoperator keanggotaan peran
- sysadmin peran server (untuk semua operasi pencadangan)
Berikan izin pencadangan:
-- Grant backup permission to user
GRANT BACKUP DATABASE TO [BackupUser];
GRANT BACKUP LOG TO [BackupUser];
GO
-- Add user to backup operator role
ALTER ROLE db_backupoperator ADD MEMBER [BackupUser];
GO
12.5 File Cadangan yang Rusak
Deteksi dan tangani cadangan yang rusak:
Verifikasi integritas cadangan:
RESTORE VERIFYONLY
FROM DISK = 'C:\Backups\AdventureWorks.bak'
WITH CHECKSUM;
GO
Aktifkan CHECKSUM untuk pencadangan mendatang:
BACKUP DATABASE AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks.bak'
WITH CHECKSUM, INIT;
GO
Strategi pencegahan:
- Selalu gunakan opsi CHECKSUM selama pencadangan
- Verifikasi cadangan segera setelah dibuat
- Uji pemulihan secara teratur
- Simpan cadangan pada penyimpanan yang andal
- Pertahankan beberapa salinan cadangan
12.6 Memulihkan Data dari File Cadangan yang Rusak
Jika file cadangan Anda rusak dan Anda masih ingin memulihkan data darinya, Anda dapat menggunakan alat pihak ketiga seperti DataNumen SQL Recovery, seperti di bawah ini:
- Start DataNumen SQL Recovery.
- Pilih file cadangan yang rusak sebagai file sumber dengan mengubah filter menjadi “Semua file (*.*)”:
- Atur file .MDF keluaran jika diperlukan.
- Klik “Start Pemulihan” dan ikuti petunjuk untuk memulihkan basis data.
- Setelah proses pemulihan, database pemulihan baru akan muncul di SQL Server yang berisi semua data yang dipulihkan.
13. SQL Server Keamanan Cadangan
13.1 Mengamankan File Cadangan
Lindungi file cadangan dari akses tidak sah:
- Izin sistem berkas: Batasi akses hanya untuk administrator yang berwenang
- Keamanan jaringan: Gunakan protokol aman untuk pencadangan jaringan
- Keamanan fisik: Simpan media cadangan di lokasi yang aman
- Akses pencatatan: Akses file cadangan audit
13.2 Opsi Enkripsi
SQL Server mendukung enkripsi cadangan transparan:
Buat sertifikat untuk enkripsi:
-- Create master key
USE master;
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'StrongP@ssw0rd!';
GO
-- Create certificate
CREATE CERTIFICATE BackupCertificate
WITH SUBJECT = 'Database Backup Certificate',
EXPIRY_DATE = '2026-12-31';
GO
Cadangan terenkripsi:
BACKUP DATABASE AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks_Encrypted.bak'
WITH COMPRESSION,
ENCRYPTION (
ALGORITHM = AES_256,
SERVER CERTIFICATE = BackupCertificate
);
GO
Penting: Cadangkan sertifikat dan kunci pribadi secara terpisah. Tanpa keduanya, cadangan terenkripsi tidak dapat dipulihkan.
-- Backup certificate
BACKUP CERTIFICATE BackupCertificate
TO FILE = 'C:\Certificates\BackupCertificate.cer'
WITH PRIVATE KEY (
FILE = 'C:\Certificates\BackupCertificate.key',
ENCRYPTION BY PASSWORD = 'C3rt!f!c@t3P@ss'
);
GO
13.3 Kontrol Akses dan Izin
Terapkan prinsip hak istimewa paling rendah:
- Berikan izin pencadangan hanya ke akun yang diperlukan
- Gunakan akun terpisah untuk operasi pencadangan dan pemulihan
- Hindari menggunakan akun sa untuk pencadangan
- Audit izin pencadangan secara berkala
- Hapus izin ketika tidak lagi diperlukan
13.4 Pertimbangan Kepatuhan
Memenuhi persyaratan peraturan:
- GDPR: Enkripsi cadangan yang berisi data pribadi, terapkan kebijakan penyimpanan
- HIPA: Enkripsi PHI dalam cadangan, kontrol akses, pertahankan jejak audit
- DSS PCI: Enkripsi cadangan data pemegang kartu, penyimpanan cadangan yang aman
- SOX: Pertahankan integritas cadangan, kebijakan penyimpanan dokumen
14. Pemantauan dan Pemeliharaan Operasi Pencadangan
14.1 Melacak Riwayat Cadangan
SQL Server menyimpan riwayat cadangan dalam database msdb:
-- View recent backup history
SELECT
bks.database_name,
bks.backup_start_date,
bks.backup_finish_date,
CASE bks.type
WHEN 'D' THEN 'Full'
WHEN 'I' THEN 'Differential'
WHEN 'L' THEN 'Log'
ELSE 'Other'
END AS backup_type,
bks.backup_size / 1024 / 1024 AS backup_size_mb,
bkmf.physical_device_name
FROM msdb.dbo.backupset bks
INNER JOIN msdb.dbo.backupmediafamily bkmf ON bks.media_set_id = bkmf.media_set_id
WHERE bks.backup_start_date >= DATEADD(DAY, -7, GETDATE())
ORDER BY bks.backup_start_date DESC;
GO
Temukan basis data tanpa cadangan terkini:
SELECT
d.name AS database_name,
MAX(bs.backup_finish_date) AS last_backup_date,
DATEDIFF(DAY, MAX(bs.backup_finish_date), GETDATE()) AS days_since_last_backup
FROM sys.databases d
LEFT JOIN msdb.dbo.backupset bs ON d.name = bs.database_name
WHERE d.database_id > 4 -- Exclude system databases
GROUP BY d.name
HAVING MAX(bs.backup_finish_date) < DATEADD(DAY, -7, GETDATE())
OR MAX(bs.backup_finish_date) IS NULL
ORDER BY last_backup_date;
GO
14.2 Menggunakan SQL Server Laporan
SQL Server Management Studio menyertakan laporan cadangan bawaan:
- Klik kanan pada database di Object Explorer
- Pilih Laporan -> Laporan Standar
- Pilih dari laporan yang tersedia:
- Peristiwa Pencadangan dan Pemulihan
- Semua Cadangan
- Log Transaksi Status Pengiriman
14.3 Alat Pemantauan Pihak Ketiga
Solusi pemantauan komersial:
- SQL Sentry: Pemantauan dan peringatan yang komprehensif
- Pemantau SQL Redgate: Pemantauan dan diagnosis waktu nyataostics
- Penganalisis Kinerja Basis Data SolarWinds: Pemantauan kinerja dan cadangan
- Diagnosis SQL IderaostManajer ic: Validasi dan peringatan cadangan
14.4 Pemeriksaan Kesehatan Cadangan
Buat prosedur pemeriksaan kesehatan:
-- Backup health check procedure
CREATE PROCEDURE sp_BackupHealthCheck
AS
BEGIN
-- Check for databases without recent full backup
SELECT
'Missing Recent Full Backup' AS issue,
d.name AS database_name,
ISNULL(CAST(MAX(bs.backup_finish_date) AS VARCHAR), 'Never') AS last_backup
FROM sys.databases d
LEFT JOIN msdb.dbo.backupset bs
ON d.name = bs.database_name AND bs.type = 'D'
WHERE d.database_id > 4
GROUP BY d.name
HAVING MAX(bs.backup_finish_date) < DATEADD(DAY, -7, GETDATE()) OR MAX(bs.backup_finish_date) IS NULL; -- Check for failed backup jobs SELECT 'Failed Backup Job' AS issue, j.name AS job_name, jh.run_date, jh.run_time, jh.message FROM msdb.dbo.sysjobs j INNER JOIN msdb.dbo.sysjobhistory jh ON j.job_id = jh.job_id WHERE jh.run_status = 0 -- Failed AND jh.step_id = 0 AND jh.run_date >= CONVERT(INT, CONVERT(VARCHAR, GETDATE()-7, 112))
AND j.name LIKE '%backup%';
END
GO
15. SQL Server FAQ Pencadangan
15.1 Seberapa Sering Saya Harus Melakukan Backup SQL Server?
Frekuensi pencadangan bergantung pada Tujuan Titik Pemulihan (RPO) Anda:
- Basis data produksi penting: Mingguan penuh, diferensial harian, log setiap 15-30 menit
- Basis data produksi standar: Mingguan penuh, diferensial harian, log setiap 1-2 jam
- Basis data pengembangan: Penuh harian atau mingguan
- Basis data hanya-baca: Penuh setelah setiap perubahan data
15.2 Apa Perbedaan Antara Pencadangan Penuh dan Pencadangan Diferensial?
Cadangan penuh menyalin seluruh basis data, sementara cadangan diferensial hanya mencatat perubahan sejak cadangan penuh terakhir. Cadangan diferensial lebih kecil dan lebih cepat, tetapi memerlukan cadangan penuh dasar untuk pemulihan.
15.3 Bisakah Saya Mencadangkan SQL Server Saat Sedang Berjalan?
Ya, SQL Server Mendukung pencadangan daring. Pengguna dapat terus bekerja selama proses pencadangan. SQL Server menggunakan log transaksinya untuk menjaga konsistensi, memastikan cadangan tetap valid bahkan dengan modifikasi bersamaan.
15.4 Berapa Lama SQL Server Ambil Cadangan?
Durasi pencadangan bervariasi berdasarkan:
- Ukuran basis data: Basis data yang lebih besar membutuhkan waktu lebih lama
- Jenis cadangan: Pencadangan penuh membutuhkan waktu paling lama
- Kompresi: Dapat meningkatkan waktu CPU tetapi mengurangi durasi keseluruhan
- Kecepatan penyimpanan: SSD jauh lebih cepat dibandingkan HDD
- Beban server: Aktivitas yang lebih tinggi memperlambat pencadangan
Kisaran umum: Basis data 10GB mungkin memerlukan waktu 5-15 menit untuk pencadangan penuh dengan kompresi pada perangkat keras modern.
15.5 Di Mana Saya Harus Menyimpannya SQL Server Cadangan?
Praktik terbaik: Ikuti aturan 3-2-1:
- 3 salinan data Anda
- 2 berbagai jenis penyimpanan (misalnya, disk dan tape/cloud)
- 1 menyalin di luar situs
Lokasi yang direkomendasikan:
- Disk lokal untuk pemulihan cepat
- Penyimpanan jaringan untuk manajemen terpusat
- Penyimpanan cloud (Azure, AWS) untuk pemulihan bencana
15.6 Apa itu Ekstensi File .bak?
Ekstensi .bak adalah ekstensi file default untuk SQL Server file cadangan. Ini adalah konvensi, bukan persyaratan – SQL Server Pencadangan dapat dilakukan dengan ekstensi berkas apa pun. Namun, penggunaan .bak membuat berkas cadangan mudah diidentifikasi dan merupakan praktik standar industri.
15.7 Cara Melakukan Backup SQL Server ke Network Drive?
Untuk mencadangkan ke drive jaringan:
- Memastikan SQL Server akun layanan memiliki izin menulis pada berbagi jaringan
- Gunakan jalur UNC dalam perintah pencadangan:
\\ServerName\ShareName\BackupFile.bak - Uji konektivitas sebelum menjadwalkan pencadangan otomatis
BACKUP DATABASE AdventureWorks
TO DISK = '\\BackupServer\SQLBackups\AdventureWorks.bak'
WITH COMPRESSION, INIT;
GO
15.8 Bisakah Saya Mengompres SQL Server Cadangan?
Ya, SQL Server mendukung kompresi cadangan asli (Edisi Perusahaan, atau Edisi Standar)tarting SQL Server 2016 SP1). Kompresi biasanya mengurangi ukuran cadangan sebesar 50-70% dan seringkali mengurangi waktu cadangan dengan mengurangi I/O, meskipun meningkatkan penggunaan CPU.
BACKUP DATABASE AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks.bak'
WITH COMPRESSION;
GO
16. Kesimpulan
16.1 Poin Penting
Efektif SQL Server Strategi pencadangan melindungi data Anda dan memastikan kelangsungan bisnis. Ingat poin-poin penting ini:
- Memahami jenis-jenis cadangan: Pilih jenis cadangan yang sesuai (penuh, diferensial, log transaksi) berdasarkan persyaratan pemulihan Anda
- Pilih model pemulihan yang tepat: Pemulihan penuh untuk data penting, sederhana untuk pengembangan database
- Terapkan jadwal pencadangan: Pencadangan penuh secara teratur dikombinasikan dengan pencadangan diferensial dan log meminimalkan kehilangan data
- Prosedur pemulihan pengujian: Cadangan hanya berharga jika dapat dipulihkan dengan sukses
- Otomatisasi dan pantau: penggunaan SQL Server Agen, rencana pemeliharaan, dan alat pemantauan
- Cadangan aman: Enkripsi data sensitif dan kendalikan akses ke file cadangan
- Simpan salinan di luar lokasi: Lindungi dari bencana di seluruh situs dengan penyimpanan cloud atau jarak jauh
- Dokumentasikan semuanya: Pertahankan dokumentasi yang jelas tentang prosedur pencadangan dan pemulihan
16.2 Langkah Berikutnya dan Sumber Daya
Untuk meningkatkan Anda SQL Server implementasi cadangan:
- Menilai strategi pencadangan Anda saat ini terhadap praktik terbaik
- Hitung kebutuhan RTO dan RPO Anda
- Prosedur pemulihan pengujian pada sistem non-produksi
- Tinjau dan perbarui jadwal pencadangan secara berkala
- Terapkan pemantauan dan peringatan otomatis
- Melatih anggota tim tentang prosedur pemulihan
Sumber daya tambahan:
- Microsoft SQL Server Dokumentasi: Panduan pencadangan dan pemulihan resmi
- SQL Server forum komunitas cadangan: Berbagi pengalaman dan solusi
- Sertifikasi profesional: Microsoft Certified: Azure Database Administrator Associate
16.3 Alat dan Solusi yang Direkomendasikan
Berdasarkan berbagai skenario:
Usaha kecil:
- Asli SQL Server pencadangan dengan jadwal SQL Server Pekerjaan agen
- SQLBackupAndFTP untuk integrasi cloud
- Azure Backup untuk SQL Server
Perusahaan menengah:
- SQL Server Rencana Pemeliharaan
- Alat pihak ketiga seperti Redgate SQL Backup Pro
- Veeam Backup untuk SQL Server
Perusahaan besar:
- Quest LiteSpeed untuk kompresi maksimum
- Commvault atau Veritas NetBackup untuk manajemen cadangan perusahaan
- Grup Ketersediaan Selalu Aktif untuk ketersediaan tinggi
SQL Server Pencadangan data sangat penting untuk administrasi basis data. Dengan perencanaan, implementasi, dan pengujian yang tepat, Anda dapat memastikan data Anda tetap terlindungi dan dapat dipulihkan saat dibutuhkan.tarmenerapkan praktik terbaik ini hari ini untuk mengamankan SQL Server database.
tentang Penulis
Yuan Sheng adalah administrator basis data senior (DBA) dengan lebih dari 10 tahun pengalaman di SQL Server lingkungan dan manajemen basis data perusahaan. Ia telah berhasil menyelesaikan ratusan skenario pemulihan basis data di berbagai organisasi jasa keuangan, layanan kesehatan, dan manufaktur.
Yuan mengkhususkan diri dalam SQL Server Pemulihan basis data, solusi ketersediaan tinggi, dan optimasi kinerja. Pengalaman langsungnya yang luas mencakup pengelolaan basis data multi-terabyte, penerapan Always On Availability Group, dan pengembangan strategi pencadangan dan pemulihan otomatis untuk sistem bisnis yang sangat penting.
Melalui keahlian teknis dan pendekatan praktisnya, Yuan berfokus pada pembuatan panduan komprehensif yang membantu administrator basis data dan profesional TI memecahkan masalah kompleks SQL Server tantangan secara efisien. Dia selalu mengikuti perkembangan terbaru SQL Server rilis dan teknologi basis data Microsoft yang terus berkembang, secara berkala menguji skenario pemulihan untuk memastikan rekomendasinya mencerminkan praktik terbaik di dunia nyata.
Memiliki pertanyaan tentang SQL Server pemulihan atau butuh panduan pemecahan masalah basis data tambahan? Yuan menyambut masukan dan saran untuk meningkatkan sumber daya teknis ini.











