Backup SQL Server pangkalan data dengan panduan lengkap 2025 kami. Arahan langkah demi langkah dan amalan terbaik untuk semua peringkat kemahiran.
1. Pengenalan kepada SQL Server Backup
1.1 Apa itu SQL Server Sandaran?
SQL Server sandaran ialah proses mencipta salinan fail pangkalan data anda untuk melindungi daripada kehilangan data. Sandaran menangkap keadaan pangkalan data anda pada masa tertentu, membolehkan anda memulihkan data jika kegagalan perkakasan, ralat manusia atau bencana berlaku.
SQL Server menyimpan sandaran dalam fail .bak secara lalai, yang mengandungi semua objek pangkalan data termasuk jadual, prosedur tersimpan, paparan, indeks dan log transaksi.
1.2 Mengapa SQL Server Sandaran adalah Kritikal
Sandaran pangkalan data berfungsi sebagai barisan pertahanan terakhir anda terhadap kehilangan data. Tanpa sandaran yang betul, organisasi anda berisiko:
- Kehilangan data kekal daripada kegagalan perkakasan atau rasuah
- Masa henti yang dilanjutkan semasa percubaan pemulihan
- Gangguan perniagaan dan kehilangan hasil
- Pelanggaran pematuhan jika data tidak dapat dipulihkan
- Kerosakan reputasi daripada gangguan perkhidmatan
Biasa SQL Server sandaran memastikan kesinambungan perniagaan dan memenuhi keperluan kawal selia untuk perlindungan data.
1.3 Senario Kehilangan Data Biasa
Memahami apabila kehilangan data berlaku membantu anda membangunkan strategi sandaran yang berkesan:
- Kegagalan perkakasan: Ranap cakera, kerosakan pelayan atau kegagalan sistem storan
- Kesilapan manusia: Pemadaman tidak sengaja, kemas kini yang salah atau jadual yang digugurkan
- Isu perisian: Pepijat aplikasi, kemas kini rosak atau ranap sistem
- Pelanggaran keselamatan: Serangan perisian tebusan, pemadaman berniat jahat atau akses tanpa kebenaran
- Bencana alam: Kebakaran, banjir atau gangguan bekalan elektrik yang menjejaskan pusat data
2. Memahami SQL Server Jenis Sandaran
SQL Server menyokong berbilang jenis sandaran, setiap satu menyediakan keperluan pemulihan dan keperluan storan yang berbeza.
2.1 Sandaran Penuh
Sandaran penuh mencipta salinan lengkap keseluruhan pangkalan data anda, termasuk semua fail data dan sebahagian daripada log transaksi yang diperlukan untuk pemulihan.
2.1.1 Bila Untuk Menggunakan Sandaran Penuh
Sandaran penuh sesuai untuk:
- Mewujudkan garis dasar untuk jenis sandaran lain
- Pangkalan data kecil hingga sederhana di mana masa sandaran boleh diterima
- Jadual sandaran mingguan atau bulanan
- Pangkalan data dengan perubahan yang jarang berlaku
2.1.2 Kelebihan dan Had Sandaran Penuh
Kelebihan:
- Proses pemulihan paling mudah - fail tunggal mengandungi segala-galanya
- Berdikari dan bebas daripada sandaran lain
- Masa pemulihan terpantas untuk pemulihan pangkalan data lengkap
Had:
- Memerlukan ruang penyimpanan yang besar
- Masa sandaran yang lebih lama untuk pangkalan data yang besar
- Penggunaan sumber yang lebih tinggi semasa operasi sandaran
2.2 Sandaran Berbeza
Sandaran pembezaan hanya menangkap perubahan data sejak sandaran penuh terakhir, mengurangkan masa sandaran dan keperluan storan.
2.2.1 Cara Sandaran Berbeza Berfungsi
Sandaran berbeza menjejaki pengubahsuaian menggunakan takat yang diubah. Apabila anda memulihkan, SQL Server menggunakan sandaran penuh terakhir dahulu, kemudian menggunakan most sandaran pembezaan baru-baru ini.
2.2.2 Sandaran Penuh vs Berbeza
| Aspek | Sandaran Penuh | Cadangan Pembezaan |
|---|---|---|
| Saiz | Pangkalan data lengkap | Hanya berubah sejak sandaran penuh terakhir |
| Masa Sandaran | Paling lama | Lebih cepat daripada penuh |
| Proses Pemulihan | Pemulihan fail tunggal | Memerlukan penuh + pembezaan |
| Storan Diperlukan | Most ruang | Kurang ruang pada mulanya, berkembang dari semasa ke semasa |
2.3 Sandaran Log Transaksi
Sandaran log transaksi menangkap semua transaksi sejak sandaran log terakhir, membolehkan pemulihan titik dalam masa.
2.3.1 Memahami Log Transaksi
Log transaksi merekodkan setiap pengubahsuaian kepada pangkalan data anda. Sandaran log memotong bahagian log yang tidak aktif, menghalangnya daripada berkembang selama-lamanya dan mengisi cakera anda.
2.3.2 Pemulihan Titik-dalam-Masa
Sandaran log transaksi membolehkan anda memulihkan pangkalan data anda kepada mana-mana saat tertentu dalam sandaran log. Ini penting untuk memulihkan daripada pengubahsuaian atau pemadaman data yang tidak disengajakan.
Untuk melakukan pemulihan titik dalam masa, anda memerlukan:
- Sandaran penuh terakhir
- Most sandaran pembezaan terkini (pilihan)
- Semua sandaran log transaksi daripada sandaran penuh/berbeza kepada anda tardapatkan masa
2.4 Sandaran Ekor-Log
Sandaran log ekor menangkap rekod log yang belum disandarkan lagi, menghalang kehilangan data dan mengekalkan rantaian log yang utuh. Sebelum pulih a SQL Server pangkalan data ke titik masa terkininya, anda mesti membuat sandaran ekor log transaksinya. Sandaran tail-log ialah sandaran terakhir minat dalam pelan pemulihan untuk pangkalan data.

Catatan: Tidak semua senario pemulihan memerlukan sandaran log ekor. Anda tidak memerlukannya jika titik pemulihan terkandung dalam sandaran log yang lebih awal. Sandaran log ekor juga tidak diperlukan jika anda memindahkan atau menggantikan (menimpa) pangkalan data dan tidak perlu memulihkannya ke satu titik masa selepas ia most sandaran baru-baru ini.
2.4.1 Apabila Sandaran Ekor-Log Diperlukan
Senario berikut menerangkan bila anda perlu mengambil sandaran log ekor:
Pemulihan Pangkalan Data Dalam Talian: Jika pangkalan data berada dalam talian dan anda merancang untuk melakukan operasi pemulihan pada pangkalan data, mulakan dengan menyandarkan ekor log. Untuk mengelakkan ralat untuk pangkalan data dalam talian, anda mesti menggunakan pilihan WITH NORECOVERY bagi pernyataan BACKUP Transact-SQL apabila anda membuat sandaran SQL Server pangkalan data.
Pemulihan Pangkalan Data Luar Talian: Jika pangkalan data berada di luar talian dan gagal untuk start dan anda perlu memulihkan pangkalan data, mula-mula sandarkan ekor log. Kerana tiada urus niaga boleh berlaku pada masa ini, menggunakan pilihan WITH NORECOVERY adalah pilihan. NORECOVERY adalah sama dengan sandaran log transaksi salinan sahaja dalam senario ini.
Sandaran Pangkalan Data Rosak: Jika pangkalan data rosak, cuba buat sandaran log ekor dengan menggunakan pilihan WITH CONTINUE_AFTER_ERROR bagi pernyataan BACKUP. Pada pangkalan data yang rosak, membuat sandaran ekor log boleh berjaya hanya jika fail log tidak rosak, pangkalan data berada dalam keadaan yang menyokong sandaran log ekor dan pangkalan data tidak mengandungi sebarang perubahan log pukal. Jika sandaran log ekor tidak boleh dibuat, sebarang transaksi dilakukan selepas MS terkini SQL Server pangkalan data sandaran ialah lost.
2.4.2 Pilihan Utama untuk Sandaran Ekor-Log
DENGAN NORECOVERY: Gunakan WITH NORECOVERY jika anda menyandarkan ekor log pangkalan data dalam talian yang anda bercadang untuk memulihkannya kemudian. NORECOVERY membawa pangkalan data di luar talian. Anda juga boleh membuat sandaran SQL Server log ekor pangkalan data luar talian. Jika anda ingin meninggalkan pangkalan data di luar talian, gunakan WITH NORECOVERY. Ambil perhatian bahawa log akan dipotong melainkan anda menentukan sama ada pilihan COPY_ONLY atau NO_TRUNCATE.
DENGAN CONTINUE_AFTER_ERROR: Gunakan CONTINUE_AFTER_ERROR hanya jika anda menyandarkan ekor pangkalan data yang rosak. Apabila anda membuat sandaran ekor log pada pangkalan data yang rosak, beberapa metadata yang biasanya ditangkap dalam sandaran log mungkin tidak tersedia.
2.5 Sandaran Salin Sahaja
Sandaran salin sahaja mencipta sandaran bebas tanpa menjejaskan jujukan sandaran biasa. Mereka tidak mengganggu rantaian sandaran berbeza atau kesinambungan log transaksi.
Gunakan sandaran salinan sahaja untuk:
- Mencipta salinan pangkalan data ujian atau pembangunan
- Sandaran ad-hoc tanpa menjejaskan sandaran berjadual
- Sandaran sebelum perubahan besar atau ujian
2.6 Sandaran Fail dan Kumpulan Fail
Sandaran fail dan kumpulan fail tardapatkan fail pangkalan data atau kumpulan fail tertentu dan bukannya keseluruhan pangkalan data. Pendekatan ini berfungsi dengan baik untuk pangkalan data yang sangat besar di mana membuat sandaran semuanya mengambil masa terlalu lama.
Manfaat termasuk:
- Operasi sandaran yang lebih pantas untuk pangkalan data yang besar
- Sandaran selari berbilang kumpulan fail
- Pilihan pemulihan berbutir
- Jadual sandaran yang dioptimumkan untuk kumpulan fail baca sahaja
2.7 Sandaran Separa
Sandaran separa termasuk semua data dalam kumpulan fail utama dan mana-mana kumpulan fail baca-tulis, tidak termasuk kumpulan fail baca sahaja. Ini mengurangkan saiz dan masa sandaran untuk pangkalan data dengan data sejarah statik yang disimpan dalam kumpulan fail baca sahaja.
3. SQL Server Model Pemulihan
SQL Server model pemulihan menentukan jenis sandaran yang tersedia dan cara log transaksi diuruskan.
3.1 Model Pemulihan Mudah
3.1.1 Ciri dan Kes Penggunaan
Pemulihan mudah secara automatik memotong log transaksi selepas setiap pusat pemeriksaan, menuntut semula ruang tanpa memerlukan sandaran log.
Terbaik untuk:
- Pembangunan dan pangkalan data ujian
- Pangkalan data di mana kehilangan data antara sandaran boleh diterima
- Gudang data dengan proses ETL yang boleh dijalankan semula
- Pangkalan data baca sahaja atau pelaporan
3.1.2 Pilihan Sandaran Tersedia
Pemulihan mudah menyokong:
- Sandaran penuh
- Sandaran berbeza
- Sandaran fail dan kumpulan fail
- Sandaran salin sahaja
Sandaran log transaksi adalah tidak terdapat dalam model pemulihan mudah.
3.2 Model Pemulihan Penuh
3.2.1 Ciri dan Faedah
Pemulihan penuh merekodkan semua transaksi dan mengekalkan rekod log sehingga anda menyandarkannya. Ini membolehkan pemulihan data lengkap ke mana-mana masa dalam sandaran log transaksi.
Faedah utama:
- Potensi kehilangan data yang minimum
- Keupayaan pemulihan titik dalam masa
- Menyokong penghantaran log dan pencerminan pangkalan data
- Fleksibiliti pemulihan maksimum
3.2.2 Pengurusan Log Transaksi
Di bawah pemulihan penuh, anda mesti melakukan sandaran log transaksi biasa untuk:
- Elakkan log transaksi daripada mengisi ruang cakera
- Mengekalkan rantaian sandaran berterusan
- Dayakan pemulihan titik dalam masa
- Kawal pertumbuhan fail log
Jadual sandaran biasa: sandaran penuh mingguan, sandaran berbeza setiap hari, sandaran log setiap 15-30 minit.
3.3 Model Pemulihan Log Pukal
3.3.1 Bila Perlu Menggunakan Log Pukal
Pemulihan log pukal secara minima log operasi pukal seperti BULK INSERT, SELECT INTO dan indeks bina semula sambil mengekalkan pengelogan penuh untuk transaksi biasa.
Gunakan pemulihan log pukal apabila:
- Menjalankan operasi import pukal yang besar
- Membina semula indeks pada jadual besar
- Melaksanakan operasi yang mendapat manfaat daripada pembalakan minimum
- Perlu mengurangkan saiz log transaksi semasa operasi tertentu
3.3.2 Had dan Pertimbangan
Had penting:
- Pemulihan titik dalam masa tidak tersedia semasa operasi pukal
- Sandaran log lebih besar apabila operasi pukal berlaku
- Mesti bertukar antara log penuh dan pukal mengikut keperluan
3.4 Memilih Model Pemulihan yang Tepat
Pilih model pemulihan anda berdasarkan keperluan perniagaan:
| Model Pemulihan | Risiko Kehilangan Data | Pemulihan Point-in-Time | terbaik Untuk |
|---|---|---|---|
| Mudah | Perubahan sejak sandaran terakhir | Tidak | Dev/ujian, kehilangan data yang boleh diterima |
| Penuh | Minimum (biasanya minit) | Ya | Pangkalan data pengeluaran, data kritikal |
| Dilog Pukal | Perubahan sejak sandaran log terakhir | Terhad semasa operasi pukal | Masarary gunakan semasa operasi pukal |
4. Backup SQL Server Pangkalan Data Menggunakan SSMS
4.1 Prasyarat dan Persediaan
Sebelum membuat sandaran anda SQL Server pangkalan data, pastikan:
- Anda mempunyai kebenaran yang sesuai (kebenaran db_owner atau BACKUP DATABASE)
- Ruang cakera yang mencukupi untuk fail sandaran
- SQL Server Studio Pengurusan (SSMS) dipasang
- Laluan rangkaian boleh diakses jika membuat sandaran ke lokasi rangkaian
4.2 Langkah demi Langkah: Sandaran Penuh dengan SSMS
Ikuti langkah ini untuk membuat sandaran penuh anda SQL Server pangkalan data menggunakan SSMS.
4.2.1 Pembukaan SQL Server Studio Pengurusan
- pelancaran SQL Server Studio Pengurusan
- Masukkan nama pelayan anda dalam Nama pelayan bidang
- Pilih kaedah pengesahan anda
- Klik Hubungi
4.2.2 Memilih Pangkalan Data dan Pilihan Sandaran
- In Penjelajah Objek, mengembangkannya Pangkalan data lain nod
- Klik kanan pangkalan data yang ingin anda sandarkan
- pilih Tugas -> Kembali Up
- Dalam Pangkalan Data Sandaran tetingkap, sahkan nama pangkalan data
- pilih Penuh sebagai Jenis sandaran
4.2.3 Mengkonfigurasi Destinasi Sandaran
- Di bawah Destinasi, Klik Batalkan untuk mengosongkan laluan lalai (jika perlu)
- Klik Tambah untuk menentukan lokasi sandaran baharu
- Masukkan laluan fail dan namakan dengan .bak lanjutan
- Klik OK untuk mengesahkan destinasi
4.2.4 Advanced Backup Tetapan
- Klik Pilihan Media di panel kiri
- Pilih pilihan sandaran:
- Tulis ganti semua set sandaran sedia ada – Menggantikan sandaran sedia ada
- Tambahkan pada set sandaran sedia ada – Menambah pada fail sandaran sedia ada
- Klik Pilihan Backup di panel kiri
- Konfigurasikan tetapan pilihan:
- Mampatkan sandaran – Mengurangkan saiz fail sandaran
- Sulitkan sandaran – Melindungi data sensitif
- Sahkan sandaran apabila selesai – Memeriksa integriti sandaran
4.2.5 Melaksanakan Sandaran
- Semak semua tetapan dalam Pangkalan Data Sandaran tetingkap
- Klik OK kepada start proses sandaran
- Tunggu sandaran selesai
- Mesej kejayaan muncul apabila sandaran selesai
- Klik OK untuk menutup dialog pengesahan
4.3 Mencipta Sandaran Berbeza dengan SSMS
Untuk membuat sandaran pembezaan, ikut langkah yang sama seperti sandaran penuh, tetapi pilih Pembezaan sebagai jenis sandaran dalam langkah 4.2.2. Ingat bahawa sandaran pembezaan memerlukan sandaran penuh sebelum ini sebagai garis dasar.
4.4 Membuat Sandaran Log Transaksi dengan SSMS
Sandaran log transaksi hanya tersedia untuk pangkalan data yang menggunakan model pemulihan Penuh atau Log Pukal.
- Klik kanan pangkalan data dalam Penjelajah Objek
- pilih Tugas -> Kembali Up
- Pilih Log Transaksi sebagai jenis sandaran
- Konfigurasikan destinasi dan pilihan mengikut keperluan
- Klik OK untuk membuat sandaran log
4.5 Mencipta Sandaran Salin Sahaja dengan SSMS
Sandaran salin sahaja tidak mengganggu urutan sandaran biasa anda.
- Ikuti langkah untuk membuat sandaran penuh
- Dalam Pilihan Backup halaman
- Periksa Sandaran salinan sahaja pilihan
- Selesaikan proses sandaran seperti biasa
5. Backup SQL Server Pangkalan Data Menggunakan T-SQL
5.1 Sintaks PANGKALAN DATA SANDARAN Asas
Perintah T-SQL BACKUP DATABASE menyediakan kawalan terprogram ke atas SQL Server sandaran.
BACKUP DATABASE database_name
TO DISK = 'backup_file_path'
WITH options;
5.2 Perintah T-SQL Sandaran Penuh
5.2.1 Skrip Sandaran Penuh Mudah
Buat sandaran penuh asas dengan pilihan minimum:
BACKUP DATABASE AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks.bak'
GO
5.2.2 Sandaran Penuh dengan Pilihan
Tambah maklumat deskriptif dan pilihan 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
Pilihan dijelaskan:
- FORMAT – Mencipta set sandaran baharu
- INIT – Menimpa fail sandaran sedia ada
- NAMA – Berikan nama set sandaran
- DESCRIPTION - Menambah teks deskriptif
- STATS – Menunjukkan kemajuan setiap 10%
5.3 Perintah T-SQL Sandaran Berbeza
Sandaran pembezaan menggunakan pilihan DIFFERENTIAL:
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 Sandaran Log Transaksi
Gunakan LOG BACKUP untuk sandaran log transaksi:
BACKUP LOG AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks_Log.trn'
WITH INIT,
NAME = 'AdventureWorks-Transaction Log Backup',
STATS = 10
GO
5.5 Pilihan Sandaran T-SQL Lanjutan
5.5.1 Sandaran kepada Berbilang Fail
Edarkan sandaran merentas berbilang fail untuk prestasi yang lebih pantas:
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 Sandaran dengan Mampatan
Kurangkan saiz fail sandaran dan lebar jalur rangkaian:
BACKUP DATABASE AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks_Compressed.bak'
WITH COMPRESSION,
INIT,
STATS = 10
GO
5.5.3 Sandaran dengan Penyulitan
Lindungi data sensitif dengan penyulitan:
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 Sandaran dengan Perlindungan Kata Laluan
Tambahkan perlindungan kata laluan (ditamatkan, gunakan penyulitan sebaliknya):
BACKUP DATABASE AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks.bak'
WITH PASSWORD = 'StrongPassword123!',
INIT
GO
5.5.5 Sandaran Bercermin
Buat salinan serentak ke lokasi yang berbeza:
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 Sandaran T-SQL
Lengkapkan skrip sandaran dengan pengendalian ralat:
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 Pangkalan Data Menggunakan PowerShell
6.1 Cmdlet Sandaran PowerShell
SQL Server Modul PowerShell menyediakan cmdlet untuk automasi sandaran:
- Sandaran-SqlDatabase – Mencipta sandaran pangkalan data
- Pulihkan-SqlDatabase – Memulihkan sandaran pangkalan data
- Dapatkan-SqlDatabase – Mendapatkan semula maklumat pangkalan data
Import SQL Server modul:
Import-Module SqlServer
6.2 Mencipta Skrip Sandaran dengan PowerShell
Perintah sandaran PowerShell asas:
Backup-SqlDatabase -ServerInstance "localhost" `
-Database "AdventureWorks" `
-BackupFile "C:\Backups\AdventureWorks.bak" `
-BackupAction Database `
-CompressionOption On
Contoh sandaran berbeza:
Backup-SqlDatabase -ServerInstance "localhost" `
-Database "AdventureWorks" `
-BackupFile "C:\Backups\AdventureWorks_Diff.bak" `
-BackupAction Database `
-Incremental
Sandaran log transaksi:
Backup-SqlDatabase -ServerInstance "localhost" `
-Database "AdventureWorks" `
-BackupFile "C:\Backups\AdventureWorks_Log.trn" `
-BackupAction Log
6.3 Mengautomasikan Sandaran dengan PowerShell
Buat skrip sandaran automatik untuk berbilang pangkalan 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 Pangkalan Data Menggunakan Baris Perintah
SQL Server menyediakan utiliti baris arahan yang membolehkan anda membuat sandaran SQL Server pangkalan data tanpa menggunakan SSMS atau antara muka grafik. Alat ini penting untuk automasi, penskripan dan senario pentadbiran jauh.
7.1 Gunakan Pangkalan Data Sandaran SQLCMD
SQLCMD ialah utiliti baris perintah moden untuk SQL Server yang menggantikan OSQL. Ia menyediakan fungsi yang dipertingkatkan dan merupakan alat yang disyorkan untuk melaksanakan arahan T-SQL daripada arahan arahan.
7.1.1 Sintaks SQLCMD Asas
sqlcmd -S ServerName -d DatabaseName -Q "BACKUP DATABASE statement"
- -S: Menentukan SQL Server nama contoh
- -d: Menentukan nama pangkalan data
- -S: Melaksanakan pertanyaan dan keluar
- -DAN: Menggunakan Pengesahan Windows
- -U: Menyatakan SQL Server nama pengguna log masuk
- -P: Menentukan kata laluan untuk SQL Server log masuk
7.1.2 Mencipta Sandaran dengan SQLCMD
Untuk membuat sandaran SQL Server menggunakan SQLCMD, ikuti langkah berikut:
- Buka Command Prompt or PowerShell
- Navigasi ke SQL Server direktori alat (biasanya ditambahkan pada PATH semasa pemasangan)
- Laksanakan perintah pangkalan data sandaran SQLCMD dengan parameter yang sesuai
- Sahkan fail sandaran telah berjaya dibuat
Contoh arahan sandaran penuh menggunakan Pengesahan Windows:
sqlcmd -S localhost -E -Q "BACKUP DATABASE AdventureWorks TO DISK='C:\Backups\AdventureWorks.bak' WITH COMPRESSION, INIT"
Contoh menggunakan SQL Server Pengesahan:
sqlcmd -S localhost -U sa -P YourPassword -Q "BACKUP DATABASE AdventureWorks TO DISK='C:\Backups\AdventureWorks.bak' WITH COMPRESSION, INIT"
Mencipta Sandaran Berbeza dengan SQLCMD
sqlcmd -S localhost -E -Q "BACKUP DATABASE AdventureWorks TO DISK='C:\Backups\AdventureWorks_Diff.bak' WITH DIFFERENTIAL, COMPRESSION, INIT"
Mencipta Sandaran Log Transaksi dengan SQLCMD
sqlcmd -S localhost -E -Q "BACKUP LOG AdventureWorks TO DISK='C:\Backups\AdventureWorks_Log.trn' WITH COMPRESSION, INIT"
7.1.3 Pangkalan Data Penerbit Sandaran dalam SQL Server replikasi
Apabila membuat sandaran pangkalan data penerbit dalam SQL Server Replikasi, gunakan pilihan DENGAN REPLIKASI untuk mengekalkan metadata replikasi dan memastikan konsistensi transaksi.
-- Backup publisher database with replication support
BACKUP DATABASE PublisherDB
TO DISK = 'C:\Backup\PublisherDB_Full.bak'
WITH REPLICATION,
COMPRESSION,
CHECKSUM,
INIT,
STATS = 10;
GO
Untuk maklumat lebih lanjut mengenai SQL Server replikasi, lihat kami panduan komprehensif.
7.2 Gunakan Pangkalan Data Sandaran OSQL
OSQL ialah utiliti baris perintah warisan untuk SQL Server. Walaupun Microsoft mengesyorkan menggunakan SQLCMD sebaliknya, OSQL kekal tersedia untuk keserasian ke belakang dengan skrip dan sistem yang lebih lama.
7.2.1 Sintaks OSQL Asas
Sintaks OSQL serupa dengan SQLCMD:
osql -S ServerName -d DatabaseName -Q "BACKUP DATABASE statement"
- -S: SQL Server nama contoh
- -d: Nama pangkalan data
- -S: Melaksanakan pertanyaan dan keluar
- -DAN: Menggunakan sambungan yang dipercayai (Pengesahan Windows)
- -U: Nama pengguna log masuk
- -P: Kata laluan log masuk
7.2.2 Mencipta Sandaran dengan OSQL
Untuk melaksanakan operasi pangkalan data sandaran OSQL:
- Buka Command Prompt
- Sahkan OSQL tersedia dalam anda SQL Server pemasangan
- Jalankan arahan sandaran OSQL
Contoh sandaran penuh:
osql -S localhost -E -Q "BACKUP DATABASE AdventureWorks TO DISK='C:\Backups\AdventureWorks.bak' WITH INIT"
Contoh sandaran perbezaan:
osql -S localhost -E -Q "BACKUP DATABASE AdventureWorks TO DISK='C:\Backups\AdventureWorks_Diff.bak' WITH DIFFERENTIAL, INIT"
8. Pihak Ketiga SQL Server Alat Sandaran
Manakala SQL Server termasuk keupayaan sandaran asli, alat pihak ketiga menawarkan ciri yang dipertingkatkan, automasi dan pengurusan gred perusahaan untuk organisasi yang mempunyai keperluan yang kompleks. Penyelesaian ini menyediakan pemampatan lanjutan, pengurusan terpusat dan aliran kerja diperkemas untuk membuat sandaran SQL Server pangkalan data merentasi pelbagai persekitaran.
8.1 Sandaran Veeam untuk SQL Server
Veeam menawarkan penyelesaian perlindungan data komprehensif yang direka khusus untuk membuat sandaran SQL Server pangkalan data dengan impak minimum ke atas sistem pengeluaran.
Ciri-ciri utama:
- Pemprosesan sedar aplikasi untuk SQL Server konsistensi sandaran
- Sandaran dan pengurusan log transaksi
- Pemulihan titik dalam masa dengan pilihan pemulihan berbutir
- Integrasi dengan Sandaran & Replikasi Veeam untuk perlindungan data bersatu
- Pengesahan dan pengesahan sandaran automatik
- Sokongan untuk Kumpulan Ketersediaan Sentiasa Dihidupkan
- Peringkat VM dan peringkat aplikasi SQL Server pilihan sandaran
8.2 Sandaran Barracuda untuk SQL Server
Barracuda menyediakan penyelesaian sandaran bersepadu awan dengan pengurusan mudah untuk MS SQL Server operasi pangkalan data sandaran.
Ciri-ciri utama:
- Automatik SQL Server penjadualan sandaran
- Replikasi awan terbina dalam ke Storan Awan Barracuda
- Penyahduplikasian dan pemampatan global
- Keupayaan pemulihan tempatan segera
- Konsol pengurusan berasaskan web
- Sokongan untuk sandaran log penuh, pembezaan dan transaksi
- Perlindungan perisian tebusan dengan sandaran tidak boleh diubah
8.3 Veritas NetBackup untuk SQL Server
Veritas NetBackup ialah platform sandaran gred perusahaan yang menyediakan perlindungan menyeluruh untuk SQL Server pangkalan data merentasi persekitaran IT yang kompleks.
Ciri-ciri utama:
- Pengurusan sandaran skala perusahaan untuk beribu-ribu SQL Server contoh
- Algoritma penyahduplikasi dan pemampatan lanjutan
- Dasar dan penjadualan sandaran yang fleksibel
- Sokongan untuk semua SQL Server model pemulihan
- Penyepaduan dengan pita libraries dan storan awan
- Pemulihan butiran pangkalan data, jadual dan objek
- Sokongan berbilang platform (Windows, Linux SQL Server)
- Pengurusan kitaran hayat sandaran automatik
8.4 Sandaran Lengkap & Pemulihan Commvault untuk SQL Server
Commvault menyampaikan pengurusan data pintar dengan sandaran komprehensif SQL Server keupayaan dan ciri automasi lanjutan.
Ciri-ciri utama:
- Pengoptimuman sandaran dipacu AI dan pengesanan anomali
- Platform bersatu untuk sandaran, pemulihan dan pengarkiban
- Maju SQL Server mampatan sandaran (sehingga 90% pengurangan)
- Orkestrasi pemulihan bencana automatik
- Penyegerakan Langsung untuk perlindungan RPO hampir sifar
- Sokongan untuk SQL Server penempatan di premis, awan dan hibrid
- IntelliSnap untuk sandaran berasaskan syot kilat
- Keupayaan pematuhan dan e-penemuan yang komprehensif
8.5 Cohesity DataProtect untuk SQL Server
Kesepaduan menyediakan pengurusan data generasi akan datang dengan infrastruktur hyperconverged untuk moden SQL Server operasi sandaran.
Ciri-ciri utama:
- Seni bina berskala web untuk pengurusan yang dipermudahkan
- Keupayaan pemulihan jisim segera untuk SQL Server pangkalan data
- Syot kilat aplikasi-konsisten
- Penyahduplikasian global merentas semua sandaran
- Penyepaduan awan asli (AWS, Azure, Google Cloud)
- Papan pemuka analitik dan pemantauan terbina dalam
- Mengklon dan menguji keupayaan pangkalan data
- Perlindungan perisian tebusan dengan syot kilat tidak berubah
8.6 Red Gate SQL Backup Pro
Red Gate SQL Backup Pro ialah alat khusus yang memfokuskan secara eksklusif pada pengoptimuman SQL Server sandaran dan pemulihan operasi dengan mampatan dan prestasi yang unggul.
Ciri-ciri utama:
- Nisbah mampatan terkemuka industri (sehingga 95%)
- Ketahanan rangkaian untuk membuat sandaran SQL Server merentasi sambungan yang tidak boleh dipercayai
- Penyulitan sandaran dengan AES 256-bit
- Pengesahan salinan sandaran dan semakan integriti
- Sejarah dan pelaporan sandaran terperinci
- Integrasi dengan SQL Server Studio Pengurusan
- Sokongan untuk sandaran ke lokasi rangkaian dan storan awan
- Sandaran dan pemulihan selari untuk operasi yang lebih pantas
9. Bagaimana untuk Memulihkan SQL Server Pangkalan Data
9.1 Memahami Proses Pemulihan
Memulihkan a SQL Server pangkalan data mencipta semula pangkalan data daripada fail sandaran. Proses pemulihan membaca fail sandaran dan membina semula pangkalan data kepada keadaan sandarannya.
Pertimbangan penting:
- Pemulihan akan menimpa pangkalan data sedia ada
- Pengguna diputuskan sambungan semasa pemulihan
- Pemulihan mesti mengikut urutan sandaran (penuh, kemudian pembezaan, kemudian log)
- Pangkalan data tidak tersedia semasa operasi pemulihan
9.2 Memulihkan Sandaran Penuh Menggunakan SSMS
Ikuti langkah ini untuk memulihkan sandaran pangkalan data penuh.
9.2.1 Proses Pemulihan Langkah demi Langkah
- Buka SQL Server Studio Pengurusan dan sambung ke pelayan anda
- In Penjelajah Objek, Klik kanan Pangkalan data lain
- pilih Pulihkan Pangkalan Data
- Dalam Source seksyen, pilih Peranti
- Klik ... butang untuk menyemak imbas fail sandaran
- Klik Tambah dan navigasi ke fail .bak anda
- Pilih fail sandaran dan klik OK
- Dalam Destinasi bahagian, masukkan nama pangkalan data
- Semak set sandaran untuk dipulihkan
- Klik OK kepada start pemulihan
9.2.2 Pulihkan Pilihan dan Tetapan
Klik Pilihan dalam panel kiri untuk mengkonfigurasi:
- Tulis ganti pangkalan data sedia ada (DENGAN PENGGANTIAN) – Membolehkan memulihkan pangkalan data sedia ada
- Kekalkan keadaan replikasi (DENGAN KEEP_REPLICATION) – Simpan SQL Server replikasi adalah
- Hadkan akses kepada pangkalan data yang dipulihkan (WITH RESTRICTED_USER) – Had hlmost-memulihkan akses
- Keadaan pemulihan – Pilih antara MEMULIHKAN DENGAN PEMULIHAN atau NORECOVERY
9.3 Memulihkan Sandaran Berbeza
Pemulihan pembezaan memerlukan kedua-dua sandaran penuh dan berbeza:
- Mula-mula, pulihkan sandaran penuh dengan NORECOVERY pilihan
- Kemudian pulihkan sandaran pembezaan dengan PEMULIHAN pilihan
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 Sandaran Log Transaksi
Untuk pemulihan titik dalam masa, pulihkan mengikut urutan:
- Pulihkan sandaran penuh dengan NORECOVERY
- Pulihkan sandaran berbeza dengan NORECOVERY (jika ada)
- Pulihkan sandaran log transaksi mengikut susunan dengan NORECOVERY
- Pulihkan sandaran log akhir dengan PEMULIHAN
-- 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-dalam-Masa
Pulihkan pangkalan data ke titik masa tertentu menggunakan pilihan 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 Jadual
SQL Server tidak menyokong pemulihan peringkat jadual langsung daripada fail sandaran. Walau bagaimanapun, masih terdapat beberapa penyelesaian.
9.6.1 Kaedah 1: Gambaran Ringkas Pangkalan Data (Terbaik untuk Pencegahan)
Gambaran ringkas pangkalan data menyediakan cara terpantas untuk memulihkan data jadual jika dicipta sebelum masalah berlaku. Gambaran ringkas ialah paparan statik baca sahaja pangkalan data pada satu ketika tertentu.
Mencipta Gambaran Ringkas Pangkalan 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 Jadual daripada Gambaran Ringkas:
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
Keperluan Versi: Gambaran ringkas pangkalan data tersedia dalam SQL Server Edisi Perusahaan (semua versi), dan Edisi Standardtarting dengan SQL Server SP1 2016.
9.6.2 Kaedah 2: Pulihkan kepada TemporarPangkalan Data y (Most Biasa)
Kaedah ini berfungsi apabila anda perlu memulihkan data jadual selepas masalah berlaku dan tiada snapshot wujud:
- Pulihkan sandaran kepada temporarpangkalan data y
- Salin data jadual daripada temporarpangkalan data y ke pangkalan data semasa
9.7 Pemulihan Halaman
Pemulihan halaman memulihkan halaman yang rosak secara individu tanpa memulihkan keseluruhan pangkalan data, meminimumkan masa henti sebanyak tarhanya mendapat halaman yang rosak. Ciri ini hanya tersedia di bawah model pemulihan Penuh atau Log Pukal dan memerlukan rantaian sandaran log transaksi yang tidak terputus daripada sandaran halaman melalui fail log semasa.
Untuk melakukan pemulihan halaman, kenal pasti halaman yang rosak terlebih dahulu, buat sandaran log ekor, pulihkan halaman tertentu, kemudian gunakan 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 di bawah model Pemulihan mudah. Anda tidak boleh memulihkan halaman daripada jadual sistem atau metadata kumpulan fail utama.
9.8 Pemulihan Sedikit demi Sedikit
Pemulihan sedikit demi sedikit (pemulihan separa) memulihkan pangkalan data secara berperingkat pada peringkat kumpulan fail, starberhubung dengan kumpulan fail utama. Ini membawa data kritikal ke dalam talian dengan segera manakala data yang kurang kritikal dipulihkan di latar belakang. Di bawah model pemulihan Mudah, semua kumpulan fail baca-tulis mesti dipulihkan bersama-sama dengan kumpulan fail utama; hanya kumpulan fail baca sahaja yang boleh dipulihkan secara berasingan. Di bawah model pemulihan Penuh atau Log Pukal, setiap kumpulan fail boleh dibawa ke dalam talian secara bebas selepas menggunakan log transaksi.
| Model Pemulihan | Tingkah Laku Pemulihan Sedikit demi Sedikit |
|---|---|
| Mudah | Kumpulan fail utama dan semua kumpulan fail baca-tulis dipulihkan bersama. Kumpulan fail baca sahaja dipulihkan secara berasingan. |
| Penuh/Dilog Pukal | Setiap kumpulan fail dipulihkan secara bebas pada peringkat kumpulan fail. |
Contoh untuk model pemulihan penuh – pulihkan kumpulan fail utama terlebih dahulu untuk membawa pangkalan data dalam talian, kemudian pulihkan kumpulan fail sekunder sementara pangkalan data masih 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 untuk model pemulihan mudah:
-- 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
Lengkapkan skrip pemulihan dengan penempatan semula fail:
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 Mengesahkan Integriti Sandaran Sebelum Pemulihan
Semak kesahihan sandaran tanpa memulihkan:
RESTORE VERIFYONLY
FROM DISK = 'C:\Backups\AdventureWorks.bak';
GO
Perintah ini mengesahkan bahawa set sandaran lengkap dan boleh dibaca tanpa benar-benar memulihkan pangkalan data.
10. SQL Server Sandaran Amalan Terbaik
10.1 Membangunkan Strategi Sandaran
10.1.1 Menilai Keperluan Perniagaan
Sebelum melaksanakan sandaran, nilaikan:
- Kritikal data: Sejauh manakah data ini penting kepada operasi?
- Tukar kekerapan: Berapa kerapkah data berubah?
- Saiz pangkalan data: Seberapa besar pangkalan data?
- Sumber yang tersedia: Apakah storan dan lebar jalur yang tersedia?
- Keperluan pematuhan: Apakah peraturan yang mesti anda ikuti?
10.1.2 Mentakrifkan RTO dan RPO
Objektif Masa Pemulihan (RTO): Masa henti maksimum yang boleh diterima. Menentukan seberapa cepat anda perlu memulihkan operasi.
Objektif Titik Pemulihan (RPO): Kehilangan data maksimum yang boleh diterima. Menentukan kekerapan sandaran.
| Keperluan RTO/RPO | Strategi Sandaran yang Disyorkan |
|---|---|
| RPO: Jam, RTO: Jam | Log transaksi + penuh harian setiap 1-2 jam |
| RPO: Minit, RTO: Jam | Sandaran log + penuh harian setiap 15-30 minit |
| RPO: Hampir-sifar, RTO: Minit | Sentiasa Mengenai Kumpulan Ketersediaan + sandaran log yang kerap |
| RPO: Hari, RTO: Hari | Pembezaan penuh mingguan + harian |
10.2 Membuat Jadual Sandaran
10.2.1 Syor Kekerapan
Jadual sandaran biasa untuk pangkalan data pengeluaran:
- Sandaran penuh: Mingguan (malam Ahad semasa aktiviti rendah)
- Sandaran berbeza: Setiap hari (setiap malam)
- Sandaran log transaksi: Setiap 15-30 minit semasa waktu perniagaan
- Sandaran salin sahaja: Seperti yang diperlukan untuk ujian atau pembangunan
10.2.2 Mengimbangi Prestasi dan Perlindungan
Pertimbangkan faktor ini semasa menjadualkan:
- Waktu luar puncak: Jalankan sandaran penuh semasa tempoh aktiviti rendah
- Kesan sumber: Mampatan mengurangkan I/O tetapi meningkatkan penggunaan CPU
- Jalur lebar rangkaian: Jadualkan sandaran rangkaian apabila trafik rendah
- Tetingkap sandaran: Pastikan sandaran selesai sebelum waktu perniagaan
10.3 Amalan Terbaik Storan Sandaran
10.3.1 Storan Di Tapak lwn Luar Tapak
Sandaran di tapak:
- Masa sandaran dan pemulihan yang lebih pantas
- Rendah cost untuk akses frekuensi tinggi
- Terdedah kepada bencana tempatan
- Terbaik untuk senario pemulihan cepat
Sandaran luar tapak:
- Perlindungan daripada bencana khusus tapak
- Pematuhan dengan keperluan redundansi geografi
- Masa pemulihan yang lebih perlahan
- Penting untuk pemulihan bencana
10.3.2 Pilihan Sandaran Awan
Kelebihan storan awan:
- Storan Blob Azure: Asli SQL Server integrasi, cost-berkesan untuk akses yang jarang berlaku
- Amazon S3: Tahap penyimpanan yang sangat tahan lama dan fleksibel
- Storan Awan Google: Harga yang kompetitif, ketersediaan global
10.3.3 Dasar Pengekalan Sandaran
Dasar pengekalan sampel:
- Simpan sandaran harian selama 7 hari
- Simpan sandaran mingguan selama 4 minggu
- Simpan sandaran bulanan selama 12 bulan
- Simpan sandaran tahunan selama 7 tahun (pematuhan)
10.4 Pemampatan dan Penyulitan Sandaran
Faedah mampatan:
- Mengurangkan saiz fail sandaran sebanyak 50-70%
- Mengurangkan masa sandaran
- Menurunkan simpanan costs
- Mengurangkan lebar jalur rangkaian untuk sandaran jauh
Amalan terbaik penyulitan:
- Sentiasa menyulitkan sandaran yang mengandungi data sensitif
- Gunakan penyulitan AES 256-bit
- Sijil selamat atau pengurusan kunci
- Dokumen kunci penyulitan dan simpannya secara berasingan
10.5 Menguji dan Mengesahkan Sandaran
10.5.1 Ujian Pemulihan Berkala
Uji prosedur pemulihan suku tahunan atau bulanan:
- Pulihkan sandaran kepada persekitaran ujian
- Sahkan integriti dan kesempurnaan data
- Semak fungsi aplikasi
- Masa pemulihan dokumen (sahkan RTO)
- Kenal pasti dan selesaikan sebarang isu
10.5.2 Menggunakan PULIHKAN SAHAJA
Automatikkan pengesahan sandaran:
-- Verify backup integrity
RESTORE VERIFYONLY
FROM DISK = 'C:\Backups\AdventureWorks.bak'
WITH CHECKSUM;
GO
Jalankan pengesahan serta-merta selepas penyiapan sandaran atau sebagai sebahagian daripada penyelenggaraan berjadual.
10.6 Automasi dan Pemantauan Sandaran
10.6.1 SQL Server Pekerjaan Ejen
Buat kerja sandaran automatik:
- Mengembangkan SQL Server Agent
dalam SSMS
- Klik kanan Jawatan Kosong dan pilih Pekerjaan baru
- Namakan kerja (cth, “Sandaran Penuh Harian”)
- Tambah Langkah dengan arahan sandaran T-SQL
- Mewujudkan Jadual untuk masa pelaksanaan
- Konfigurasi Pemberitahuan untuk kejayaan/kegagalan
10.6.2 Pelan Penyelenggaraan
SQL Server Pelan Penyelenggaraan menyediakan antara muka visual untuk automasi sandaran:
- Navigasi ke Pengurusan -> Pelan Penyelenggaraan
- Klik kanan dan pilih Wizard Pelan Penyelenggaraan
- Pilih tugasan sandaran untuk diautomatikkan
- Konfigurasikan jadual dan pilihan sandaran
- Sediakan pelaporan dan pengelogan
10.6.3 Makluman dan Pemberitahuan Sandaran
Konfigurasikan pemberitahuan e-mel:
- Sediakan Mel Pangkalan Data dalam SQL Server
- Buat makluman untuk kegagalan sandaran
- Pantau sejarah kerja sandaran
- Hantar laporan ringkasan kepada pentadbir
10.7 Dokumentasi dan Perancangan Pemulihan Bencana
Mengekalkan dokumentasi yang komprehensif:
- Jadual sandaran: Bila dan apa yang disandarkan
- Dasar pengekalan: Berapa lama sandaran disimpan
- Lokasi penyimpanan: Tempat sandaran disimpan
- Prosedur pemulihan: Arahan pemulihan langkah demi langkah
- Hubungan: Kakitangan utama dan vendor
- Keputusan ujian pemulihan: Hasil ujian yang didokumenkan
11. Mahir SQL Server Senario Sandaran
11.1 Menyandarkan Pangkalan Data Sangat Besar (VLDB)
11.1.1 Strategi Fail dan Kumpulan Fail
Untuk pangkalan data yang melebihi beberapa ratus gigabait:
- Asingkan data baca sahaja dan baca-tulis ke dalam kumpulan fail yang berbeza
- Sandarkan kumpulan fail baca sahaja dengan jarang
- Fokuskan sandaran yang kerap pada kumpulan fail aktif
- Gunakan sandaran peringkat fail untuk kawalan berbutir
Contoh sandaran fail:
-- Back up specific file
BACKUP DATABASE LargeDB
FILE = 'LargeDB_Data1'
TO DISK = 'C:\Backups\LargeDB_File1.bak'
WITH COMPRESSION;
GO
11.1.2 Pengoptimuman Prestasi Sandaran
Tingkatkan prestasi sandaran VLDB:
- Sandaran berjalur: Tulis ke berbilang fail serentak
- Pemampatan: Kurangkan keperluan I/O dan storan
- Berbilang peranti sandaran: Selarikan operasi sandaran
- Penyimpanan pantas: Gunakan SSD untuk pementasan sandaran
- Kiraan penimbal: Tingkatkan pilihan BUFFERCOUNT
- Saiz pemindahan maksimum: Optimumkan tetapan 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 Sandaran dalam Kumpulan Ketersediaan Sentiasa Dihidupkan
Kumpulan Sentiasa Hidupkan Ketersediaan mengagihkan beban sandaran merentas replika:
- Konfigurasikan pilihan sandaran (utama, menengah, atau mana-mana replika)
- Muatkan sandaran ke replika sekunder untuk mengurangkan beban kerja utama
- Gunakan sandaran COPY_ONLY pada replika kedua
- Pantau tetapan keutamaan sandaran
-- 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 Sandaran untuk Pencerminan Pangkalan Data
Dalam senario pencerminan pangkalan data:
- Sandarkan pangkalan data utama dengan kerap
- Sandaran log transaksi adalah penting untuk pencerminan
- Pangkalan data cermin berada dalam keadaan MEMULIHKAN (tidak boleh disandarkan secara langsung)
- Pertimbangkan untuk menyandarkan cermin selepas failover
11.4 Sandaran ke Storan Blob Azure
SQL Server boleh membuat sandaran terus ke Azure Blob Storage:
- Buat Akaun Storan Azure
- Buat SQL Server kelayakan untuk pengesahan Azure
- Gunakan sintaks URL untuk destinasi sandaran
-- 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 Sandaran ke URL
Faedah membuat sandaran ke URL:
- Kapasiti storan awan tanpa had
- Lebihan geografi dikendalikan secara automatik
- Model harga bayar-semasa-anda-pergi
- Tiada ruang cakera tempatan diperlukan
- Menyokong sehingga 64 URL setiap sandaran (jalur)
11.6 Sandaran Berjalur untuk Prestasi
Sandaran berjalur memisahkan data merentas berbilang fail untuk I/O yang lebih pantas:
-- 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
Nota: Semua fail jalur diperlukan untuk pemulihan. Ketiadaan sebarang fail menyebabkan sandaran tidak dapat digunakan.
12. Penyelesaian masalah SQL Server Isu Sandaran
12.1 Ralat dan Penyelesaian Sandaran Biasa
Ralat: "Ralat sistem pengendalian 5: Akses dinafikan"
- Punca: SQL Server akaun perkhidmatan tidak mempunyai kebenaran
- penyelesaian: Berikan kebenaran Tulis kepada SQL Server akaun perkhidmatan pada folder sandaran
Ralat: "Tidak boleh membuka peranti sandaran... Ralat peranti atau peranti di luar talian"
- Punca: Laluan tidak sah atau perkongsian rangkaian tidak tersedia
- penyelesaian: Sahkan laluan wujud, semak ketersambungan rangkaian, pastikan ruang cakera mencukupi
Ralat: "Tidak cukup ruang pada cakera"
- Punca: Ruang cakera tidak mencukupi untuk sandaran
- penyelesaian: Kosongkan ruang cakera, gunakan pemampatan, sandaran ke lokasi yang berbeza
Ralat: "Pangkalan data sedang digunakan. Pangkalan data sedang digunakan oleh pengguna lain"
- Punca: Sambungan aktif semasa pemulihan
- penyelesaian: Gunakan pilihan WITH REPLACE atau putuskan sambungan pengguna dahulu
12.2 Isu Prestasi Sandaran
Diagnosis sandaran perlahan:
- Semak prestasi I/O cakera menggunakan Monitor Prestasi
- Pantau kemajuan sandaran dengan pilihan STATS
- ULASAN SQL Server log ralat untuk kesesakan
- Pertimbangkan pemampatan untuk mengurangkan I/O
- Gunakan sandaran berjalur merentas berbilang cakera
Pertanyaan untuk memantau kemajuan sandaran:
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
Cegah masalah storan:
- Laksanakan dasar pengekalan: Padamkan sandaran lama secara automatik
- Gunakan pemampatan: Kurangkan saiz fail sandaran sebanyak 50-70%
- Arkibkan ke storan yang lebih murah: Alihkan sandaran lama ke storan arkib
- Pantau ruang cakera: Sediakan makluman untuk ruang cakera yang rendah
- Anggarkan saiz sandaran: Kira saiz yang dijangkakan sebelum membuat sandaran
Anggarkan saiz sandaran:
-- Estimate full backup size
EXEC sp_spaceused;
GO
12.4 Isu Kebenaran dan Capaian
Keizinan yang diperlukan untuk sandaran:
- PANGKALAN DATA SANDARAN kebenaran
- db_backupoperator keahlian peranan
- pentadbir sistem peranan pelayan (untuk semua operasi sandaran)
Berikan kebenaran sandaran:
-- 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 Fail Sandaran Korup
Kesan dan kendalikan sandaran yang rosak:
Sahkan integriti sandaran:
RESTORE VERIFYONLY
FROM DISK = 'C:\Backups\AdventureWorks.bak'
WITH CHECKSUM;
GO
Dayakan CHECKSUM untuk sandaran masa hadapan:
BACKUP DATABASE AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks.bak'
WITH CHECKSUM, INIT;
GO
Strategi pencegahan:
- Sentiasa gunakan pilihan CHECKSUM semasa membuat sandaran
- Sahkan sandaran serta-merta selepas penciptaan
- Ujian dipulihkan dengan kerap
- Simpan sandaran pada storan yang boleh dipercayai
- Kekalkan berbilang salinan sandaran
12.6 Pulihkan Data daripada Fail Sandaran Korup
Jika fail sandaran anda rosak dan anda masih mahu memulihkan data daripadanya, anda boleh menggunakan alat pihak ketiga seperti DataNumen SQL Recovery, seperti di bawah:
- Start DataNumen SQL Recovery.
- Pilih fail sandaran yang rosak sebagai fail sumber dengan menukar penapis kepada “Semua fail (*.*)”:
- Tetapkan fail .MDF output jika perlu.
- Klik “Start Pemulihan” dan ikut arahan untuk memulihkan pangkalan data.
- Selepas proses pemulihan, pangkalan data pemulihan baharu akan muncul dalam SQL Server yang mengandungi semua data yang dipulihkan.
13. SQL Server Keselamatan Sandaran
13.1 Melindungi Fail Sandaran
Lindungi fail sandaran daripada akses tanpa kebenaran:
- Kebenaran sistem fail: Hadkan akses kepada pentadbir yang dibenarkan sahaja
- Keselamatan rangkaian: Gunakan protokol selamat untuk sandaran rangkaian
- Sekuriti fizikal: Simpan media sandaran di lokasi selamat
- Log akses: Audit akses fail sandaran
13.2 Pilihan Penyulitan
SQL Server menyokong penyulitan sandaran telus:
Buat sijil untuk penyulitan:
-- 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
Sandaran yang disulitkan:
BACKUP DATABASE AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks_Encrypted.bak'
WITH COMPRESSION,
ENCRYPTION (
ALGORITHM = AES_256,
SERVER CERTIFICATE = BackupCertificate
);
GO
Penting: Sandarkan sijil dan kunci peribadi secara berasingan. Tanpanya, sandaran yang disulitkan tidak boleh 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 Kawalan Akses dan Kebenaran
Laksanakan prinsip keistimewaan paling rendah:
- Berikan kebenaran sandaran hanya kepada akaun yang diperlukan
- Gunakan akaun berasingan untuk operasi sandaran dan pemulihan
- Elakkan menggunakan akaun sa untuk sandaran
- Sentiasa mengaudit kebenaran sandaran
- Alih keluar kebenaran apabila tidak diperlukan lagi
13.4 Pertimbangan Pematuhan
Menangani keperluan kawal selia:
- GDPR: Sulitkan sandaran yang mengandungi data peribadi, laksanakan dasar pengekalan
- HIPAA: Sulitkan PHI dalam sandaran, mengawal akses, mengekalkan jejak audit
- PCI DSS: Sulitkan sandaran data pemegang kad, storan sandaran selamat
- SOX: Mengekalkan integriti sandaran, dasar pengekalan dokumen
14. Memantau dan Menyelenggara Operasi Sandaran
14.1 Menjejak Sejarah Sandaran
SQL Server menyimpan sejarah sandaran dalam pangkalan data 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
Cari pangkalan data tanpa sandaran 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 Studio Pengurusan termasuk laporan sandaran terbina dalam:
- Klik kanan pada pangkalan data dalam Object Explorer
- pilih Laporan -> Laporan Standard
- Pilih daripada laporan yang tersedia:
- Sandaran dan Pulihkan Acara
- Semua Sandaran
- Status Penghantaran Log Transaksi
14.3 Alat Pemantauan Pihak Ketiga
Penyelesaian pemantauan komersial:
- SQL Sentry: Pemantauan dan amaran yang menyeluruh
- Redgate SQL Monitor: Pemantauan dan diagnosis masa nyataostics
- Penganalisis Prestasi Pangkalan Data SolarWinds: Pemantauan prestasi dan sandaran
- Idera SQL DiagnostPengurus ic: Pengesahan dan amaran sandaran
14.4 Pemeriksaan Kesihatan Sandaran
Buat prosedur pemeriksaan kesihatan:
-- 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 Soalan Lazim Sandaran
15.1 Berapa Kerap Saya Perlu Membuat Sandaran SQL Server?
Kekerapan sandaran bergantung pada Objektif Titik Pemulihan (RPO) anda:
- Pangkalan data pengeluaran kritikal: Mingguan penuh, perbezaan setiap hari, log setiap 15-30 minit
- Pangkalan data pengeluaran standard: Mingguan penuh, berbeza setiap hari, log setiap 1-2 jam
- Pangkalan data pembangunan: Penuh setiap hari atau mingguan
- Pangkalan data baca sahaja: Penuh selepas setiap perubahan data
15.2 Apakah Perbezaan Antara Sandaran Penuh dan Berbeza?
Sandaran penuh menyalin keseluruhan pangkalan data, manakala sandaran pembezaan hanya menangkap perubahan sejak sandaran penuh terakhir. Sandaran berbeza adalah lebih kecil dan lebih pantas tetapi memerlukan sandaran penuh asas untuk pemulihan.
15.3 Bolehkah saya membuat sandaran SQL Server Semasa Ia Berlari?
Ya, SQL Server menyokong sandaran dalam talian. Pengguna boleh terus bekerja semasa operasi sandaran. SQL Server menggunakan log transaksinya untuk mengekalkan konsistensi, memastikan sandaran adalah sah walaupun dengan pengubahsuaian serentak.
15.4 Berapa Lama SQL Server Ambil Sandaran?
Tempoh sandaran berbeza-beza berdasarkan:
- Saiz pangkalan data: Pangkalan data yang lebih besar mengambil masa yang lebih lama
- Jenis sandaran: Sandaran penuh mengambil masa paling lama
- Pemampatan: Boleh meningkatkan masa CPU tetapi mengurangkan tempoh keseluruhan
- Kelajuan penyimpanan: SSD jauh lebih pantas daripada HDD
- Muatan pelayan: Aktiviti yang lebih tinggi memperlahankan sandaran
Julat biasa: Pangkalan data 10GB mungkin mengambil masa 5-15 minit untuk sandaran penuh dengan pemampatan pada perkakasan moden.
15.5 Di Mana Harus Saya Simpan SQL Server Sandaran?
Amalan terbaik: Ikut peraturan 3-2-1:
- 3 salinan data anda
- 2 jenis storan yang berbeza (cth, cakera dan pita/awan)
- 1 salin di luar tapak
Lokasi yang disyorkan:
- Cakera tempatan untuk pemulihan cepat
- Storan rangkaian untuk pengurusan berpusat
- Storan awan (Azure, AWS) untuk pemulihan bencana
15.6 Apakah Sambungan Fail .bak?
Sambungan .bak ialah sambungan fail lalai untuk SQL Server fail sandaran. Ia adalah konvensyen, bukan keperluan - SQL Server sandaran berfungsi dengan mana-mana sambungan fail. Walau bagaimanapun, menggunakan .bak menjadikan fail sandaran mudah dikenal pasti dan merupakan amalan standard industri.
15.7 Cara Membuat Sandaran SQL Server ke Pemacu Rangkaian?
Untuk membuat sandaran ke pemacu rangkaian:
- Pastikan SQL Server akaun perkhidmatan mempunyai kebenaran menulis pada bahagian rangkaian
- Gunakan laluan UNC dalam arahan sandaran:
\\ServerName\ShareName\BackupFile.bak - Uji ketersambungan sebelum menjadualkan sandaran automatik
BACKUP DATABASE AdventureWorks
TO DISK = '\\BackupServer\SQLBackups\AdventureWorks.bak'
WITH COMPRESSION, INIT;
GO
15.8 Bolehkah saya Memampat SQL Server Sandaran?
Ya, SQL Server menyokong pemampatan sandaran asli (Edisi Perusahaan, atau Edisi Standard starting SQL Server 2016 SP1). Mampatan biasanya mengurangkan saiz sandaran sebanyak 50-70% dan selalunya mengurangkan masa sandaran dengan mengurangkan I/O, walaupun ia meningkatkan penggunaan CPU.
BACKUP DATABASE AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks.bak'
WITH COMPRESSION;
GO
16. kesimpulan
16.1 Pengambilan Utama
Berkesan SQL Server strategi sandaran melindungi data anda dan memastikan kesinambungan perniagaan. Ingat perkara penting ini:
- Fahami jenis sandaran: Pilih jenis sandaran yang sesuai (penuh, pembezaan, log transaksi) berdasarkan keperluan pemulihan anda
- Pilih model pemulihan yang betul: Pemulihan penuh untuk data kritikal, mudah untuk pangkalan data pembangunan
- Laksanakan jadual sandaran: Sandaran penuh biasa digabungkan dengan sandaran pembezaan dan log meminimumkan kehilangan data
- Prosedur pemulihan ujian: Sandaran hanya bernilai jika ia berjaya dipulihkan
- Automatik dan pantau: Penggunaan SQL Server Ejen, pelan penyelenggaraan dan alat pemantauan
- Sandaran selamat: Sulitkan data sensitif dan kawal akses kepada fail sandaran
- Simpan salinan luar tapak: Lindungi daripada bencana seluruh tapak dengan awan atau storan jauh
- Dokumen semua: Mengekalkan dokumentasi yang jelas mengenai prosedur sandaran dan pemulihan
16.2 Langkah dan Sumber Seterusnya
Untuk menambah baik anda SQL Server pelaksanaan sandaran:
- Nilai strategi sandaran semasa anda terhadap amalan terbaik
- Kira keperluan RTO dan RPO anda
- Uji prosedur pemulihan pada sistem bukan pengeluaran
- Semak dan kemas kini jadual sandaran dengan kerap
- Laksanakan pemantauan dan amaran automatik
- Latih ahli pasukan mengenai prosedur pemulihan
Sumber tambahan:
- microsoft SQL Server Dokumentasi: Panduan sandaran dan pemulihan rasmi
- SQL Server forum komuniti sandaran: Kongsi pengalaman dan penyelesaian
- Pensijilan profesional: Microsoft Certified: Azure Database Administrator Associate
16.3 Alat dan Penyelesaian Disyorkan
Berdasarkan senario yang berbeza:
Perniagaan kecil:
- Asli SQL Server sandaran dengan dijadualkan SQL Server Pekerjaan ejen
- SQLBackupAndFTP untuk penyepaduan awan
- Azure Backup untuk SQL Server
Perusahaan sederhana:
- SQL Server Pelan Penyelenggaraan
- Alat pihak ketiga seperti Redgate SQL Backup Pro
- Sandaran Veeam untuk SQL Server
Perusahaan besar:
- Cari LiteSpeed untuk pemampatan maksimum
- Commvault atau Veritas NetBackup untuk pengurusan sandaran perusahaan
- Kumpulan Ketersediaan Sentiasa Aktif untuk ketersediaan tinggi
SQL Server sandaran adalah asas kepada pentadbiran pangkalan data. Dengan perancangan, pelaksanaan dan ujian yang betul, anda boleh memastikan data anda kekal dilindungi dan boleh dipulihkan apabila diperlukan. Start melaksanakan amalan terbaik ini hari ini untuk memastikan anda SQL Server pangkalan data.
Mengenai Penulis
Yuan Sheng ialah pentadbir pangkalan data kanan (DBA) dengan lebih 10 tahun pengalaman dalam SQL Server persekitaran dan pengurusan pangkalan data perusahaan. Beliau telah berjaya menyelesaikan ratusan senario pemulihan pangkalan data merentas perkhidmatan kewangan, penjagaan kesihatan dan organisasi pembuatan.
Yuan pakar dalam SQL Server pemulihan pangkalan data, penyelesaian ketersediaan tinggi dan pengoptimuman prestasi. Pengalaman praktikalnya yang luas termasuk mengurus pangkalan data berbilang terabait, melaksanakan Kumpulan Ketersediaan Sentiasa Dihidupkan, dan membangunkan strategi sandaran dan pemulihan automatik untuk sistem perniagaan yang kritikal misi.
Melalui kepakaran teknikal dan pendekatan praktikalnya, Yuan menumpukan pada mencipta panduan komprehensif yang membantu pentadbir pangkalan data dan profesional IT menyelesaikan kompleks SQL Server cabaran dengan cekap. Dia kekal terkini dengan yang terkini SQL Server keluaran dan teknologi pangkalan data Microsoft yang sedang berkembang, menguji senario pemulihan secara kerap untuk memastikan cadangannya mencerminkan amalan terbaik dunia sebenar.
Ada soalan tentang SQL Server pemulihan atau memerlukan panduan penyelesaian masalah pangkalan data tambahan? Yuan mengalu-alukan maklum balas dan cadangan untuk menambah baik sumber teknikal ini.











