Kongsi Sekarang:
Jadual Kandungan menyembunyikan

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

Sandaran Penuh lwn 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.

Gambar rajah yang menerangkan sandaran log ekor dalam SQL Server.

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

  1. pelancaran SQL Server Studio Pengurusan
  2. Masukkan nama pelayan anda dalam Nama pelayan bidang
  3. Pilih kaedah pengesahan anda
  4. Klik Hubungi

4.2.2 Memilih Pangkalan Data dan Pilihan Sandaran

  1. In Penjelajah Objek, mengembangkannya Pangkalan data lain nod
  2. Klik kanan pangkalan data yang ingin anda sandarkan
  3. pilih Tugas -> Kembali Up
    Starta tugas sandaran untuk a SQL Server pangkalan data dalam SQL Server Studio Pengurusan.
  4. Dalam Pangkalan Data Sandaran tetingkap, sahkan nama pangkalan data
  5. pilih Penuh sebagai Jenis sandaran
    Buat sandaran penuh a SQL Server pangkalan data dalam SQL Server Studio Pengurusan.

4.2.3 Mengkonfigurasi Destinasi Sandaran

  1. Di bawah Destinasi, Klik Batalkan untuk mengosongkan laluan lalai (jika perlu)
  2. Klik Tambah untuk menentukan lokasi sandaran baharu
  3. Masukkan laluan fail dan namakan dengan .bak lanjutan
  4. Klik OK untuk mengesahkan destinasi

Tetapkan destinasi sandaran dalam SQL Server Studio Pengurusan.

4.2.4 Advanced Backup Tetapan

  1. Klik Pilihan Media di panel kiri
  2. 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

    Tetapkan pilihan media sandaran dalam SQL Server Studio Pengurusan.

  3. Klik Pilihan Backup di panel kiri
  4. Konfigurasikan tetapan pilihan:
    • Mampatkan sandaran – Mengurangkan saiz fail sandaran
    • Sulitkan sandaran – Melindungi data sensitif
    • Sahkan sandaran apabila selesai – Memeriksa integriti sandaran

    Tetapkan pilihan sandaran dalam SQL Server Studio Pengurusan.

4.2.5 Melaksanakan Sandaran

  1. Semak semua tetapan dalam Pangkalan Data Sandaran tetingkap
  2. Klik OK kepada start proses sandaran
  3. Tunggu sandaran selesai
  4. Mesej kejayaan muncul apabila sandaran selesai
  5. 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.

Buat sandaran pembezaan a SQL Server pangkalan data dalam SQL Server Studio Pengurusan.

4.4 Membuat Sandaran Log Transaksi dengan SSMS

Sandaran log transaksi hanya tersedia untuk pangkalan data yang menggunakan model pemulihan Penuh atau Log Pukal.

  1. Klik kanan pangkalan data dalam Penjelajah Objek
  2. pilih Tugas -> Kembali Up
  3. Pilih Log Transaksi sebagai jenis sandaran
  4. Konfigurasikan destinasi dan pilihan mengikut keperluan
  5. Klik OK untuk membuat sandaran log

Buat sandaran log transaksi a SQL Server pangkalan data dalam SQL Server Studio Pengurusan.

4.5 Mencipta Sandaran Salin Sahaja dengan SSMS

Sandaran salin sahaja tidak mengganggu urutan sandaran biasa anda.

  1. Ikuti langkah untuk membuat sandaran penuh
  2. Dalam Pilihan Backup halaman
  3. Periksa Sandaran salinan sahaja pilihan
  4. Selesaikan proses sandaran seperti biasa

Buat sandaran salinan sahaja a SQL Server pangkalan data dalam SQL Server Studio Pengurusan.

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:

  1. Buka Command Prompt or PowerShell
  2. Navigasi ke SQL Server direktori alat (biasanya ditambahkan pada PATH semasa pemasangan)
  3. Laksanakan perintah pangkalan data sandaran SQLCMD dengan parameter yang sesuai
  4. 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:

  1. Buka Command Prompt
  2. Sahkan OSQL tersedia dalam anda SQL Server pemasangan
  3. 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

  1. Buka SQL Server Studio Pengurusan dan sambung ke pelayan anda
  2. In Penjelajah Objek, Klik kanan Pangkalan data lain
  3. pilih Pulihkan Pangkalan Data
  4. Dalam Source seksyen, pilih Peranti
  5. Klik ... butang untuk menyemak imbas fail sandaran
  6. Klik Tambah dan navigasi ke fail .bak anda
  7. Pilih fail sandaran dan klik OK
  8. Dalam Destinasi bahagian, masukkan nama pangkalan data
  9. Semak set sandaran untuk dipulihkan
  10. 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:

  1. Mula-mula, pulihkan sandaran penuh dengan NORECOVERY pilihan
  2. 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:

  1. Pulihkan sandaran penuh dengan NORECOVERY
  2. Pulihkan sandaran berbeza dengan NORECOVERY (jika ada)
  3. Pulihkan sandaran log transaksi mengikut susunan dengan NORECOVERY
  4. 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:

  1. Pulihkan sandaran kepada temporarpangkalan data y
  2. 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:

  1. Pulihkan sandaran kepada persekitaran ujian
  2. Sahkan integriti dan kesempurnaan data
  3. Semak fungsi aplikasi
  4. Masa pemulihan dokumen (sahkan RTO)
  5. 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:

  1. Mengembangkan SQL Server AgentLink Luar dalam SSMS
  2. Klik kanan Jawatan Kosong dan pilih Pekerjaan baru
  3. Namakan kerja (cth, “Sandaran Penuh Harian”)
  4. Tambah Langkah dengan arahan sandaran T-SQL
  5. Mewujudkan Jadual untuk masa pelaksanaan
  6. Konfigurasi Pemberitahuan untuk kejayaan/kegagalan

10.6.2 Pelan Penyelenggaraan

SQL Server Pelan Penyelenggaraan menyediakan antara muka visual untuk automasi sandaran:

  1. Navigasi ke Pengurusan -> Pelan Penyelenggaraan
  2. Klik kanan dan pilih Wizard Pelan Penyelenggaraan
  3. Pilih tugasan sandaran untuk diautomatikkan
  4. Konfigurasikan jadual dan pilihan sandaran
  5. 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:

  1. Buat Akaun Storan Azure
  2. Buat SQL Server kelayakan untuk pengesahan Azure
  3. 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:

  1. Start DataNumen SQL Recovery.
  2. Pilih fail sandaran yang rosak sebagai fail sumber dengan menukar penapis kepada “Semua fail (*.*)”:
    Pilih fail sandaran yang rosak (*.bak) sebagai fail sumber untuk dipulihkan.
  3. Tetapkan fail .MDF output jika perlu.
  4. Klik “Start Pemulihan” dan ikut arahan untuk memulihkan pangkalan data.
  5. Selepas proses pemulihan, pangkalan data pemulihan baharu akan muncul dalam SQL Server yang mengandungi semua data yang dipulihkan.

Penggunaan DataNumen SQL Recovery untuk memulihkan data daripada korup SQL Server fail sandaran (*.bak).

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:

  1. Klik kanan pada pangkalan data dalam Object Explorer
  2. pilih Laporan -> Laporan Standard
  3. 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:

  1. Pastikan SQL Server akaun perkhidmatan mempunyai kebenaran menulis pada bahagian rangkaian
  2. Gunakan laluan UNC dalam arahan sandaran: \\ServerName\ShareName\BackupFile.bak
  3. 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.

Kongsi Sekarang: