Backup SQL Server tam 2025 bələdçimizlə verilənlər bazası. Bütün bacarıq səviyyələri üçün addım-addım təlimatlar və ən yaxşı təcrübələr.
1. Giriş SQL Server Backup
1.1 Nədir SQL Server Yedəklənsin?
SQL Server ehtiyat nüsxə məlumat itkisindən qorunmaq üçün verilənlər bazası fayllarınızın surətlərinin yaradılması prosesidir. Ehtiyat nüsxə verilənlər bazanızın vəziyyətini müəyyən bir vaxtda ələ keçirərək, hardware nasazlığı, insan səhvləri və ya fəlakətlər baş verərsə, məlumatları bərpa etməyə imkan verir.
SQL Server ehtiyat nüsxələri default olaraq cədvəllər, saxlanılan prosedurlar, görünüşlər, indekslər və əməliyyat jurnalları daxil olmaqla bütün verilənlər bazası obyektlərini ehtiva edən .bak fayllarında saxlayır.
1.2 Niyə SQL Server Yedəkləmə kritikdir
Verilənlər bazasının ehtiyat nüsxələri məlumat itkisinə qarşı son müdafiə xəttiniz kimi xidmət edir. Müvafiq ehtiyat nüsxələri olmadan təşkilatınız risklər daşıyır:
- Daimi məlumat itkisi hardware nasazlığından və ya korrupsiyadan
- Uzadılmış fasilələr bərpa cəhdləri zamanı
- Biznesin pozulması və gəlir itkisi
- Uyğunluq pozuntuları məlumatların bərpası mümkün olmadıqda
- Reputasiyaya zərər xidmət fasilələrindən
müntəzəm SQL Server ehtiyat nüsxələr işin davamlılığını təmin edir və məlumatların qorunması üçün normativ tələblərə cavab verir.
1.3 Ümumi məlumat itkisi ssenariləri
Məlumat itkisinin nə vaxt baş verdiyini anlamaq sizə effektiv ehtiyat strategiyası hazırlamağa kömək edir:
- Avadanlıq uğursuzluqları: Disk qəzaları, server nasazlıqları və ya saxlama sistemindəki nasazlıqlar
- İnsan səhvləri: Təsadüfən silinmələr, səhv yeniləmələr və ya düşmüş cədvəllər
- Proqram təminatı problemləri: Tətbiq səhvləri, zədələnmiş yeniləmələr və ya sistem qəzaları
- Təhlükəsizlik pozuntuları: Ransomware hücumları, zərərli silmələr və ya icazəsiz giriş
- Təbii fəlakətlər: Məlumat mərkəzlərinə təsir edən yanğınlar, daşqınlar və ya elektrik kəsilməsi
2. Anlaşma SQL Server Yedək Növləri
SQL Server çoxlu ehtiyat nüsxə növlərini dəstəkləyir, hər biri müxtəlif bərpa ehtiyaclarına və saxlama tələblərinə xidmət edir.
2.1 Tam Yedəkləmə
Tam ehtiyat nüsxə bütün məlumat faylları və bərpa üçün lazım olan əməliyyat jurnalının bir hissəsi daxil olmaqla, bütün verilənlər bazanızın tam surətini yaradır.
2.1.1 Tam ehtiyat nüsxədən nə vaxt istifadə edilməlidir
Tam ehtiyat nüsxələri aşağıdakılar üçün idealdır:
- Digər ehtiyat növləri üçün bazanın yaradılması
- Yedəkləmə vaxtının məqbul olduğu kiçik və orta verilənlər bazaları
- Həftəlik və ya aylıq ehtiyat planları
- Nadir dəyişikliklərlə verilənlər bazası
2.1.2 Tam Yedəkləmə Üstünlükləri və Məhdudiyyətlər
Üstünlükləri:
- Ən sadə bərpa prosesi - bir fayl hər şeyi ehtiva edir
- Öz-özünə və digər ehtiyat nüsxələrindən müstəqildir
- Tam verilənlər bazası bərpası üçün ən sürətli bərpa müddəti
Məhdudiyyətlər:
- Əhəmiyyətli saxlama sahəsi tələb edir
- Böyük verilənlər bazaları üçün daha uzun ehtiyat vaxtı
- Ehtiyat əməliyyatları zamanı daha yüksək resurs istehlakı
2.2 Diferensial ehtiyat nüsxəsi
Diferensial ehtiyat nüsxə yalnız sonuncu tam ehtiyat nüsxədən sonra məlumat dəyişikliklərini qeyd edir, ehtiyat nüsxə vaxtını və saxlama tələblərini azaldır.
2.2.1 Diferensial Yedəkləmə Necə İşləyir
Diferensial ehtiyat nüsxələri dəyişdirilmiş genişliklərdən istifadə edərək dəyişiklikləri izləyir. Bərpa etdikdə, SQL Server əvvəlcə sonuncu tam ehtiyat nüsxəsini tətbiq edir, sonra m tətbiq edirost son diferensial ehtiyat nüsxəsi.
2.2.2 Tam və Diferensial Yedəkləmə
| Aspekt | Tam Yedəkləmə | Diferensial ehtiyat nüsxəsi |
|---|---|---|
| boy | Tam verilənlər bazası | Yalnız sonuncu tam yedəkləmədən sonra dəyişikliklər |
| Yedəkləmə vaxtı | uzun | Doludan daha sürətli |
| Bərpa Prosesi | Tək faylın bərpası | Tam + diferensial tələb edir |
| Saxlama Tələb olunur | Most kosmik | Əvvəlcə daha az yer, zamanla böyüyür |
2.3 Transaction Log Backup
Tranzaksiya jurnalının ehtiyat nüsxələri son qeydin ehtiyat nüsxəsindən bəri bütün əməliyyatları ələ keçirərək, vaxtında bərpa etməyə imkan verir.
2.3.1 Əməliyyat qeydlərini başa düşmək
Əməliyyat jurnalı verilənlər bazanıza edilən hər dəyişikliyi qeyd edir. Günlük ehtiyat nüsxələri jurnalın qeyri-aktiv hissəsini kəsərək onun qeyri-müəyyən müddətə böyüməsinin və diskinizi doldurmasının qarşısını alır.
2.3.2 Vaxtında Bərpa
Tranzaksiya jurnalının ehtiyat nüsxələri sizə verilənlər bazanızı log ehtiyat nüsxəsi daxilində istənilən xüsusi məqama bərpa etməyə imkan verir. Bu, məlumatların təsadüfən dəyişdirilməsi və ya silinməsi nəticəsində bərpa üçün çox vacibdir.
Vaxtında bərpa etmək üçün sizə lazımdır:
- Sonuncu tam ehtiyat
- most son diferensial ehtiyat nüsxəsi (isteğe bağlı)
- Tam/diferensial ehtiyat nüsxəsindən sizin üçün bütün əməliyyat jurnalının ehtiyat nüsxələri tarvaxt qazan
2.4 Tail-Log Backup
Tail-log ehtiyat nüsxələri hələ ehtiyat nüsxəsi nüsxələnməmiş log qeydlərini tutur, məlumat itkisinin qarşısını alır və bütöv log zəncirini saxlayır. Sağalmadan əvvəl a SQL Server verilənlər bazası ən son vaxtına qədər onun əməliyyat jurnalının ehtiyat nüsxəsini çıxarmalısınız. Quyruq qeydinin ehtiyat nüsxəsi verilənlər bazası üçün bərpa planına maraq göstərən son ehtiyat nüsxəsidir.

Qeyd: Bütün bərpa ssenariləri quyruq jurnalının ehtiyat nüsxəsini tələb etmir. Bərpa nöqtəsi əvvəlki log ehtiyat nüsxəsindədirsə, sizə lazım deyil. Əgər siz verilənlər bazasını köçürür və ya əvəz edirsinizsə (üzərinə yazırsınızsa) və onu m.ost son ehtiyat nüsxəsi.
2.4.1 Tail-Log ehtiyat nüsxələri lazım olduqda
Aşağıdakı ssenarilər, quyruq jurnalının ehtiyat nüsxəsini nə vaxt götürməli olduğunuzu təsvir edir:
Onlayn verilənlər bazasının bərpası: Əgər verilənlər bazası onlayndırsa və siz verilənlər bazasında bərpa əməliyyatı həyata keçirməyi planlaşdırırsınızsa, jurnalın quyruğunun ehtiyat nüsxəsini çıxarmaqla başlayın. Onlayn verilənlər bazası üçün xətanın qarşısını almaq üçün ehtiyat nüsxəsini çıxardığınız zaman BACKUP Transact-SQL ifadəsinin WITH NORECOVERY variantından istifadə etməlisiniz. SQL Server verilənlər bazası.
Oflayn verilənlər bazasının bərpası: Əgər verilənlər bazası oflayndırsa və start və verilənlər bazasını bərpa etməlisiniz, əvvəlcə jurnalın quyruğunun ehtiyat nüsxəsini çıxarın. Hazırda heç bir əməliyyat baş vermədiyi üçün WITH NORECOVERY seçimindən istifadə isteğe bağlıdır. NORECOVERY bu ssenaridə yalnız nüsxə üçün əməliyyat jurnalının ehtiyat nüsxəsi ilə effektiv şəkildə eynidir.
Zədələnmiş verilənlər bazasının ehtiyat nüsxəsi: Əgər verilənlər bazası zədələnibsə, BACKUP bəyanatının WITH CONTINUE_AFTER_ERROR seçimindən istifadə edərək, log-log ehtiyat nüsxəsini götürməyə çalışın. Zədələnmiş verilənlər bazasında, jurnalın quyruğunun ehtiyat nüsxəsinin çıxarılması yalnız log faylları zədələnmədikdə, verilənlər bazası tail-log ehtiyat nüsxələrini dəstəkləyən vəziyyətdə olarsa və verilənlər bazasında toplu daxil edilmiş dəyişikliklər olmadıqda uğur qazana bilər. Quyruq jurnalının ehtiyat nüsxəsi yaradıla bilmirsə, ən son MS-dən sonra edilən hər hansı əməliyyatlar SQL Server ehtiyat verilənlər bazası lost.
2.4.2 Tail-Log Yedəkləmələri üçün Əsas Seçimlər
NORECOVERY İLƏ: Əgər siz sonradan bərpa etməyi planlaşdırdığınız onlayn verilənlər bazası jurnalının ehtiyat nüsxəsini çıxarırsınızsa, NORECOVERY İLƏ istifadə edin. NORECOVERY verilənlər bazasını oflayn edir. Siz həmçinin ehtiyat nüsxəsini çıxara bilərsiniz SQL Server oflayn verilənlər bazasının quyruq jurnalı. Əgər verilənlər bazasını oflayn tərk etmək istəyirsinizsə, WITH NORECOVERY-dən istifadə edin. Nəzərə alın ki, siz YALNIZCA COPY_ONLY və ya NO_TRUNCATE seçimini göstərməyincə jurnal kəsiləcək.
CONTINUE_AFTER_ERROR İLƏ: Yalnız zədələnmiş verilənlər bazasının ehtiyat nüsxəsini çıxarırsınızsa, CONTINUE_AFTER_ERROR istifadə edin. Zədələnmiş verilənlər bazasında jurnalın quyruğunun ehtiyat nüsxəsini çıxardığınız zaman, adətən jurnalın ehtiyat nüsxələrində ələ keçirilən bəzi metadata əlçatan olmaya bilər.
2.5 Yalnız nüsxə üçün ehtiyat nüsxə
Yalnız kopyalanan ehtiyat nüsxələri normal ehtiyat ardıcıllığına təsir etmədən müstəqil ehtiyat nüsxəsini yaradır. Onlar diferensial ehtiyat zəncirlərini və ya əməliyyat jurnalının davamlılığını pozmur.
Yalnız nüsxə üçün ehtiyat nüsxələrdən istifadə edin:
- Test və ya inkişaf verilənlər bazası nüsxələrinin yaradılması
- Planlaşdırılmış ehtiyat nüsxələrə təsir etmədən ad-hoc ehtiyat nüsxələri
- Böyük dəyişikliklərdən və ya sınaqdan əvvəl ehtiyat nüsxəsini çıxarın
2.6 Fayl və Fayl Qrupunun Yedəklənməsi
Fayl və fayl qrupunun ehtiyat nüsxələri tarbütün verilənlər bazası əvəzinə xüsusi verilənlər bazası fayllarını və ya fayl qruplarını əldə edin. Bu yanaşma hər şeyin ehtiyat nüsxəsinin çıxarılmasının çox uzun sürdüyü çox böyük verilənlər bazaları üçün yaxşı işləyir.
Faydaları daxildir:
- Böyük verilənlər bazası üçün daha sürətli ehtiyat əməliyyatları
- Çox fayl qruplarının paralel ehtiyat nüsxəsi
- Qranul bərpa variantları
- Yalnız oxumaq üçün fayl qrupları üçün optimallaşdırılmış ehtiyat cədvəlləri
2.7 Qismən Yedəkləmə
Qismən ehtiyat nüsxələrə yalnız oxunan fayl qrupları istisna olmaqla, əsas fayl qrupundakı bütün məlumatları və hər hansı oxumaq-yazma fayl qruplarını əhatə edir. Bu, yalnız oxuna bilən fayl qruplarında saxlanılan statik tarixi məlumatları olan verilənlər bazası üçün ehtiyat ölçüsünü və vaxtını azaldır.
3. SQL Server Bərpa modelləri
SQL Server bərpa modelləri hansı ehtiyat növlərinin mövcud olduğunu və əməliyyat qeydlərinin necə idarə olunduğunu müəyyən edir.
3.1 Sadə Bərpa Modeli
3.1.1 Xarakteristikalar və istifadə halları
Sadə bərpa hər bir yoxlama nöqtəsindən sonra əməliyyat jurnalını avtomatik olaraq kəsir, qeydlərin ehtiyat nüsxələrini tələb etmədən boş yer tutur.
Ən yaxşı:
- Məlumat bazalarının hazırlanması və sınaqdan keçirilməsi
- Yedəkləmələr arasında məlumat itkisinin məqbul olduğu verilənlər bazaları
- Yenidən işə salına bilən ETL prosesləri olan məlumat anbarları
- Yalnız oxumaq üçün və ya hesabat verən verilənlər bazası
3.1.2 Yedəkləmə Seçimləri Mövcuddur
Sadə bərpa dəstəkləyir:
- Tam ehtiyat nüsxələri
- Fərqli ehtiyat nüsxələri
- Fayl və fayl qrupunun ehtiyat nüsxələri
- Yalnız kopyalanan ehtiyat nüsxələri
Tranzaksiya jurnalının ehtiyat nüsxələri var Mövcud deyil sadə bərpa modelində.
3.2 Tam Bərpa Modeli
3.2.1 Xüsusiyyətlər və üstünlüklər
Tam bərpa bütün əməliyyatları qeyd edir və siz onların ehtiyat nüsxəsini çıxarana qədər qeydləri saxlayır. Bu, əməliyyat jurnalının ehtiyat nüsxəsi çərçivəsində istənilən vaxta tam məlumat bərpa etməyə imkan verir.
Əsas üstünlükləri:
- Minimum məlumat itkisi potensialı
- Vaxtında bərpa etmək imkanı
- Log göndərilməsini və verilənlər bazası əks etdirməsini dəstəkləyir
- Maksimum bərpa çevikliyi
3.2.2 Əməliyyatlar jurnalının idarə edilməsi
Tam bərpa zamanı siz aşağıdakılar üçün müntəzəm əməliyyat jurnalının ehtiyat nüsxəsini çıxarmalısınız:
- Əməliyyat jurnalının disk yerini doldurmasının qarşısını alın
- Davamlı ehtiyat zəncirini qoruyun
- Vaxtında bərpanı aktivləşdirin
- Günlük faylının böyüməsinə nəzarət edin
Tipik ehtiyat cədvəli: həftəlik tam ehtiyat nüsxələri, gündəlik diferensial ehtiyat nüsxələri, hər 15-30 dəqiqədən bir ehtiyat nüsxələri qeyd edin.
3.3 Toplu Qeydiyyatlı Bərpa Modeli
3.3.1 Toplu qeydiyyatdan nə vaxt istifadə edilməlidir
Toplu daxil edilmiş bərpa, BULK INSERT, SELECT INTO kimi toplu əməliyyatları minimal olaraq qeyd edir və adi əməliyyatlar üçün tam girişi təmin etməklə indeksin yenidən qurulmasını təmin edir.
Aşağıdakı hallarda toplu daxil edilmiş bərpadan istifadə edin:
- Böyük həcmli idxal əməliyyatlarının həyata keçirilməsi
- Böyük cədvəllərdə indekslərin yenidən qurulması
- Minimum girişdən faydalanan əməliyyatların icrası
- Xüsusi əməliyyatlar zamanı əməliyyat jurnalının ölçüsünü azaltmaq lazımdır
3.3.2 Məhdudiyyətlər və Mülahizələr
Əhəmiyyətli məhdudiyyətlər:
- Vaxtında bərpa toplu əməliyyatlar zamanı mövcud deyil
- Kütləvi əməliyyatlar baş verdikdə log ehtiyat nüsxələri daha böyük olur
- Lazım gələrsə, tam və toplu qeyd arasında keçid edilməlidir
3.4 Düzgün bərpa modelinin seçilməsi
Biznes tələblərinə əsasən bərpa modelinizi seçin:
| Qurtarma modeli | Məlumat itkisi riski | Vaxtında Bərpa | üçün ən yaxşı |
|---|---|---|---|
| Sadə | Son yedəkləmədən sonra dəyişikliklər | Yox | İnkişaf/test, məqbul məlumat itkisi |
| Full | Minimal (adətən dəqiqə) | bəli | İstehsal məlumat bazaları, kritik məlumatlar |
| Toplu daxil edilmiş | Son log yedəkləməsindən sonra dəyişikliklər | Kütləvi əməliyyatlar zamanı məhdudlaşdırılır | tempirary toplu əməliyyatlar zamanı istifadə edin |
4. Backup SQL Server SSMS istifadə edərək verilənlər bazası
4.1 İlkin şərtlər və hazırlıq
Yedəkləmədən əvvəl SQL Server verilənlər bazası, təmin edin:
- Müvafiq icazələriniz var (db_owner və ya BACKUP DATABASE icazəsi)
- Yedək faylı üçün kifayət qədər disk sahəsi
- SQL Server Management Studio (SSMS) quraşdırılıb
- Şəbəkə yerlərinə ehtiyat nüsxə nüsxəsini çıxardıqda şəbəkə yolları əlçatandır
4.2 Addım-addım: SSMS ilə tam ehtiyat nüsxə
Tam ehtiyat nüsxəsini yaratmaq üçün bu addımları izləyin SQL Server SSMS istifadə edərək verilənlər bazası.
4.2.1 Açılış SQL Server İdarəetmə Studiyası
- Başlat SQL Server İdarəetmə Studiyası
- Server adınızı daxil edin Server adı sahə
- Doğrulama üsulunuzu seçin
- Basın Birləşdirmək
4.2.2 Verilənlər Bazası və Yedəkləmə Seçimlərinin Seçilməsi
- In Obyekt Explorergenişləndirin Verilənlər bazası node
- Yedəkləmək istədiyiniz verilənlər bazasına sağ vurun
- seçmək Tapşırıqlar -> Up Geri
- Ci Verilənlər Bazasının Yedəklənməsi pəncərəsində verilənlər bazası adını yoxlayın
- seçmək Full kimi Yedəkləmə növü
4.2.3 Yedəkləmə təyinatının konfiqurasiyası
- Altında DestinationBasın Aradan qaldırılması standart yolu təmizləmək üçün (lazım olduqda)
- Basın əlavə etmək yeni ehtiyat yeri təyin etmək üçün
- Fayl yolunu və adını daxil edin .Oğlaq artırma
- Basın OK təyinatı təsdiqləmək üçün
4.2.4 Advanced Backup Parametrlər
- Basın Media Seçimləri sol paneldə
- Yedəkləmə seçimlərini seçin:
- Bütün mövcud ehtiyat dəstlərinin üzərinə yazın – Mövcud ehtiyat nüsxələrini əvəz edir
- Mövcud ehtiyat dəstinə əlavə edin – Mövcud ehtiyat faylına əlavə edir
- Basın Yedekleme Seçimləri sol paneldə
- Əlavə parametrləri konfiqurasiya edin:
- Yedəkləməni sıxışdırın – Yedek faylın ölçüsünü azaldır
- Yedəkləməni şifrələyin - Həssas məlumatları qoruyur
- Bitirdikdə ehtiyat nüsxəsini yoxlayın – Ehtiyat nüsxənin bütövlüyünü yoxlayır
4.2.5 Yedəkləmənin yerinə yetirilməsi
- Bütün parametrləri nəzərdən keçirin Verilənlər Bazasının Yedəklənməsi pəncərə
- Basın OK start ehtiyat prosesi
- Yedəkləmənin tamamlanmasını gözləyin
- Yedəkləmə tamamlandıqda müvəffəqiyyət mesajı görünür
- Basın OK təsdiq dialoqunu bağlamaq üçün
4.3 SSMS ilə Diferensial Yedəkləmənin yaradılması
Diferensial ehtiyat nüsxəsini yaratmaq üçün tam ehtiyat nüsxə ilə eyni addımları yerinə yetirin, lakin seçin Fərqli 4.2.2-ci addımda ehtiyat nüsxə növü kimi. Yadda saxlayın ki, diferensial ehtiyat nüsxələri əsas kimi əvvəlcədən tam ehtiyat nüsxəsini tələb edir.
4.4 SSMS ilə əməliyyat jurnalının ehtiyat nüsxəsinin yaradılması
Tranzaksiya jurnalının ehtiyat nüsxələri yalnız Tam və ya Toplu Qeydli bərpa modellərindən istifadə edən verilənlər bazası üçün əlçatandır.
- Verilənlər bazasına sağ vurun Obyekt Explorer
- seçmək Tapşırıqlar -> Up Geri
- Seçmək Əməliyyat jurnalı ehtiyat növü kimi
- Təyinatı və seçimləri lazım olduqda konfiqurasiya edin
- Basın OK log ehtiyat nüsxəsini yaratmaq üçün
4.5 SSMS ilə yalnız nüsxə nüsxəsinin yaradılması
Yalnız kopyalanan ehtiyat nüsxələri adi ehtiyat ardıcıllığınıza müdaxilə etmir.
- Tam ehtiyat nüsxəsini yaratmaq üçün addımları izləyin
- Ci Yedekleme Seçimləri səhifə
- Də yoxlayın Yalnız kopyalanan ehtiyat nüsxə seçimi
- Yedəkləmə prosesini normal şəkildə tamamlayın
5. Backup SQL Server T-SQL istifadə edərək verilənlər bazası
5.1 Əsas Ehtiyat Verilənlər Bazasının Sintaksisi
T-SQL BACKUP DATABASE əmri üzərində proqram nəzarəti təmin edir SQL Server ehtiyat nüsxələr.
BACKUP DATABASE database_name
TO DISK = 'backup_file_path'
WITH options;
5.2 Tam Yedəkləmə T-SQL Əmrləri
5.2.1 Sadə Tam Yedəkləmə Skripti
Minimum seçimlərlə əsas tam ehtiyat nüsxəsini yaradın:
BACKUP DATABASE AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks.bak'
GO
5.2.2 Seçimlərlə Tam Yedəkləmə
Təsviredici məlumat və format seçimləri əlavə edin:
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
Seçimlər izah edildi:
- Formatda – Yeni ehtiyat dəsti yaradır
- init – Mövcud ehtiyat faylın üzərinə yazır
- NAME – Yedəkləmə dəsti adını təyin edir
- TƏSVİRİ - Təsviri mətn əlavə edir
- STATS - Hər 10% irəliləyiş göstərir
5.3 Diferensial Yedəkləmə T-SQL Əmrləri
Diferensial ehtiyat nüsxələri DIFFERENTIAL seçimindən istifadə edir:
BACKUP DATABASE AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks_Diff.bak'
WITH DIFFERENTIAL,
INIT,
NAME = 'AdventureWorks-Differential Backup',
STATS = 10
GO
5.4 Transaction Log Backup T-SQL Commands
Tranzaksiya jurnalının ehtiyat nüsxələri üçün BACKUP LOG istifadə edin:
BACKUP LOG AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks_Log.trn'
WITH INIT,
NAME = 'AdventureWorks-Transaction Log Backup',
STATS = 10
GO
5.5 Təkmil T-SQL Yedəkləmə Seçimləri
5.5.1 Çoxlu Fayllara Yedəkləmə
Daha sürətli performans üçün ehtiyat nüsxəni birdən çox fayl arasında paylayın:
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 Sıxılma ilə ehtiyat nüsxə
Yedək fayl ölçüsünü və şəbəkə bant genişliyini azaldın:
BACKUP DATABASE AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks_Compressed.bak'
WITH COMPRESSION,
INIT,
STATS = 10
GO
5.5.3 Şifrələmə ilə ehtiyat nüsxə
Şifrələmə ilə həssas məlumatları qoruyun:
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 Parol Mühafizəsi ilə Yedəkləmə
Parol mühafizəsi əlavə edin (köhnəlmişdir, əvəzinə şifrələmədən istifadə edin):
BACKUP DATABASE AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks.bak'
WITH PASSWORD = 'StrongPassword123!',
INIT
GO
5.5.5 Güzgülənmiş ehtiyat nüsxələr
Müxtəlif yerlərdə eyni vaxtda nüsxələri yaradın:
BACKUP DATABASE AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks.bak'
MIRROR TO DISK = 'D:\Backups\AdventureWorks_Mirror.bak'
WITH FORMAT, INIT
GO
5.6 T-SQL Yedəkləmə Nümunələri və Skriptləri
Səhvlərin idarə edilməsi ilə tam ehtiyat skripti:
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 PowerShell istifadə edərək verilənlər bazası
6.1 PowerShell Yedəkləmə Cmdletləri
SQL Server PowerShell modulu ehtiyat nüsxəsinin avtomatlaşdırılması üçün cmdletlər təqdim edir:
- Backup-SqlDatabase – Verilənlər bazası ehtiyat nüsxələrini yaradır
- Bərpa-SqlDatabase – Verilənlər bazası ehtiyat nüsxələrini bərpa edir
- Get-SqlDatabase – Verilənlər bazası məlumatlarını əldə edir
İdxal edin SQL Server modul:
Import-Module SqlServer
6.2 PowerShell ilə ehtiyat skriptlərin yaradılması
Əsas PowerShell ehtiyat əmri:
Backup-SqlDatabase -ServerInstance "localhost" `
-Database "AdventureWorks" `
-BackupFile "C:\Backups\AdventureWorks.bak" `
-BackupAction Database `
-CompressionOption On
Diferensial ehtiyat nümunəsi:
Backup-SqlDatabase -ServerInstance "localhost" `
-Database "AdventureWorks" `
-BackupFile "C:\Backups\AdventureWorks_Diff.bak" `
-BackupAction Database `
-Incremental
Tranzaksiya jurnalının ehtiyat nüsxəsi:
Backup-SqlDatabase -ServerInstance "localhost" `
-Database "AdventureWorks" `
-BackupFile "C:\Backups\AdventureWorks_Log.trn" `
-BackupAction Log
6.3 PowerShell ilə ehtiyat nüsxələrin avtomatlaşdırılması
Çoxlu verilənlər bazası üçün avtomatlaşdırılmış ehtiyat skript yaradın:
# 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 Komanda xəttindən istifadə edərək verilənlər bazası
SQL Server ehtiyat nüsxəsini çıxarmağa imkan verən komanda xətti utilitləri təqdim edir SQL Server SSMS və ya qrafik interfeyslərdən istifadə etmədən verilənlər bazası. Bu alətlər avtomatlaşdırma, skript və uzaqdan idarəetmə ssenariləri üçün vacibdir.
7.1 SQLCMD Backup Database istifadə edin
SQLCMD müasir komanda xətti yardım proqramıdır SQL Server OSQL-i əvəz etdi. O, təkmilləşdirilmiş funksionallığı təmin edir və əmr sorğusundan T-SQL əmrlərini yerinə yetirmək üçün tövsiyə olunan vasitədir.
7.1.1 Əsas SQLCMD Sintaksisi
sqlcmd -S ServerName -d DatabaseName -Q "BACKUP DATABASE statement"
- -S: Müəyyən edir SQL Server misal adı
- -d: Verilənlər bazasının adını müəyyən edir
- -Q: Sorğunu yerinə yetirir və çıxır
- -VƏ: Windows Authentication istifadə edir
- -U: Müəyyən edir SQL Server giriş istifadəçi adı
- -P: üçün parol təyin edir SQL Server daxil ol
7.1.2 SQLCMD ilə ehtiyat nüsxənin yaradılması
Yedəkləmək üçün SQL Server SQLCMD istifadə edərək, bu addımları yerinə yetirin:
- açıq Command Prompt or PowerShell
- gedin SQL Server alətlər kataloqu (adətən quraşdırma zamanı PATH-ə əlavə olunur)
- Müvafiq parametrlərlə SQLCMD ehtiyat verilənlər bazası əmrini yerinə yetirin
- Yedək faylının uğurla yaradıldığını yoxlayın
Windows Authentication istifadə edərək tam ehtiyat əmrinə nümunə:
sqlcmd -S localhost -E -Q "BACKUP DATABASE AdventureWorks TO DISK='C:\Backups\AdventureWorks.bak' WITH COMPRESSION, INIT"
İstifadə nümunəsi SQL Server İdentifikasiyası:
sqlcmd -S localhost -U sa -P YourPassword -Q "BACKUP DATABASE AdventureWorks TO DISK='C:\Backups\AdventureWorks.bak' WITH COMPRESSION, INIT"
SQLCMD ilə Diferensial Yedəkləmənin yaradılması
sqlcmd -S localhost -E -Q "BACKUP DATABASE AdventureWorks TO DISK='C:\Backups\AdventureWorks_Diff.bak' WITH DIFFERENTIAL, COMPRESSION, INIT"
SQLCMD ilə Transaction Log Backup yaradılması
sqlcmd -S localhost -E -Q "BACKUP LOG AdventureWorks TO DISK='C:\Backups\AdventureWorks_Log.trn' WITH COMPRESSION, INIT"
7.1.3 Yayımçı Verilənlər Bazasının Yedəklənməsi SQL Server Replikasiya
Naşir verilənlər bazalarının ehtiyat nüsxəsini çıxararkən SQL Server Replikasiya zamanı replikasiya metaməlumatlarını qorumaq və əməliyyat ardıcıllığını təmin etmək üçün WITH REPLICATION seçimindən istifadə edin.
-- Backup publisher database with replication support
BACKUP DATABASE PublisherDB
TO DISK = 'C:\Backup\PublisherDB_Full.bak'
WITH REPLICATION,
COMPRESSION,
CHECKSUM,
INIT,
STATS = 10;
GO
Daha ətraflı məlumat üçün SQL Server replikasiya, bizimkilərə baxın ətraflı guide.
7.2 OSQL Backup Database istifadə edin
OSQL köhnə əmr xətti yardım proqramıdır SQL Server. Microsoft əvəzinə SQLCMD istifadə etməyi tövsiyə etsə də, OSQL köhnə skriptlər və sistemlərlə geriyə uyğunluq üçün əlçatan olaraq qalır.
7.2.1 Əsas OSQL Sintaksisi
OSQL sintaksisi SQLCMD ilə oxşardır:
osql -S ServerName -d DatabaseName -Q "BACKUP DATABASE statement"
- -S: SQL Server misal adı
- -d: Verilənlər bazası adı
- -Q: Sorğunu yerinə yetirir və çıxır
- -VƏ: Etibarlı bağlantıdan istifadə edir (Windows Authentication)
- -U: Daxil ol istifadəçi adı
- -P: Giriş parolu
7.2.2 OSQL ilə ehtiyat nüsxənin yaradılması
OSQL ehtiyat verilənlər bazası əməliyyatlarını yerinə yetirmək üçün:
- açıq Command Prompt
- OSQL-in sizdə mövcud olduğunu yoxlayın SQL Server quraşdırma
- OSQL backup əmrini yerinə yetirin
Tam ehtiyat nümunəsi:
osql -S localhost -E -Q "BACKUP DATABASE AdventureWorks TO DISK='C:\Backups\AdventureWorks.bak' WITH INIT"
Diferensial ehtiyat nüsxəsinə nümunə:
osql -S localhost -E -Q "BACKUP DATABASE AdventureWorks TO DISK='C:\Backups\AdventureWorks_Diff.bak' WITH DIFFERENTIAL, INIT"
8. Üçüncü Tərəf SQL Server Yedəkləmə Alətləri
Isə SQL Server yerli ehtiyat imkanları daxildir, üçüncü tərəf alətləri mürəkkəb tələbləri olan təşkilatlar üçün təkmilləşdirilmiş funksiyalar, avtomatlaşdırma və müəssisə səviyyəli idarəetmə təklif edir. Bu həllər ehtiyat nüsxə üçün qabaqcıl sıxılma, mərkəzləşdirilmiş idarəetmə və sadələşdirilmiş iş axını təmin edir SQL Server çox mühitlərdə verilənlər bazası.
8.1 Veeam Backup üçün SQL Server
Veeam xüsusi olaraq ehtiyat nüsxə üçün nəzərdə tutulmuş hərtərəfli məlumatların qorunması həlləri təklif edir SQL Server istehsal sistemlərinə minimal təsir göstərən verilənlər bazası.
Açar Xüsusiyyətlər:
- üçün proqram məlumatlı emal SQL Server ehtiyat ardıcıllığı
- Tranzaksiya jurnalının ehtiyat nüsxəsi və idarə edilməsi
- Qranul bərpa variantları ilə vaxtında bərpa
- Vahid məlumatların qorunması üçün Veeam Backup & Replication ilə inteqrasiya
- Avtomatlaşdırılmış ehtiyat nüsxəsinin yoxlanılması və təsdiqlənməsi
- Always On Availability Groups üçün dəstək
- VM-səviyyəsi və tətbiq səviyyəsi SQL Server ehtiyat variantları
8.2 Barracuda üçün ehtiyat nüsxəsi SQL Server
Barracuda MS üçün sadələşdirilmiş idarəetmə ilə buludla inteqrasiya olunmuş ehtiyat həlləri təqdim edir SQL Server ehtiyat verilənlər bazası əməliyyatları.
Açar Xüsusiyyətlər:
- Avtomatlaşdırılmış SQL Server ehtiyat planlaması
- Barracuda Cloud Storage-a daxili bulud replikasiyası
- Qlobal təkmilləşdirmə və sıxılma
- Ani yerli bərpa imkanları
- Veb əsaslı idarəetmə konsolu
- Tam, diferensial və əməliyyat qeydlərinin ehtiyat nüsxələrini dəstəkləmək
- Dəyişməz ehtiyat nüsxələri ilə ransomware qorunması
8.3 Veritas NetBackup üçün SQL Server
Veritas NetBackup hərtərəfli mühafizəni təmin edən korporativ səviyyəli ehtiyat platformadır SQL Server mürəkkəb İT mühitlərində verilənlər bazası.
Açar Xüsusiyyətlər:
- Minlərlə korporativ miqyaslı ehtiyat idarəetmə SQL Server hallarda
- Təkmilləşdirilmiş təkmilləşdirmə və sıxılma alqoritmləri
- Çevik ehtiyat siyasətləri və planlaşdırma
- Hamı üçün dəstək SQL Server bərpa modelləri
- Tape lib ilə inteqrasiyararies və bulud saxlama
- Verilənlər bazalarının, cədvəllərin və obyektlərin dənəvər bərpası
- Çox platforma dəstəyi (Windows, Linux SQL Server)
- Avtomatlaşdırılmış ehtiyat nüsxəsinin həyat dövrünün idarə edilməsi
8.4 Commvault üçün Tam Yedəkləmə və Bərpa SQL Server
Commvault hərtərəfli ehtiyat nüsxə ilə ağıllı məlumat idarəetməsini təmin edir SQL Server imkanları və qabaqcıl avtomatlaşdırma xüsusiyyətləri.
Açar Xüsusiyyətlər:
- Süni intellektə əsaslanan ehtiyat nüsxənin optimallaşdırılması və anomaliyaların aşkarlanması
- Yedəkləmə, bərpa və arxivləşdirmə üçün vahid platforma
- Qabaqcıl SQL Server ehtiyat sıxılma (90%-ə qədər azalma)
- Avtomatlaşdırılmış fəlakətin bərpası orkestri
- Sıfıra yaxın RPO qorunması üçün Live Sync
- Dəstək SQL Server yerli, bulud və hibrid yerləşdirmələr
- Snapshot əsaslı ehtiyat nüsxələri üçün IntelliSnap
- Hərtərəfli uyğunluq və e-kəşf imkanları
8.5 Cohesity DataProtect üçün SQL Server
Cohesity müasirlər üçün hiper birləşmiş infrastrukturla yeni nəsil məlumatların idarə edilməsini təmin edir SQL Server ehtiyat əməliyyatları.
Açar Xüsusiyyətlər:
- Sadələşdirilmiş idarəetmə üçün veb miqyaslı arxitektura
- Üçün ani kütləvi bərpa imkanları SQL Server Məlumat bazaları
- Tətbiqə uyğun snapshotlar
- Bütün ehtiyat nüsxələrində qlobal təkmilləşdirmə
- Yerli bulud inteqrasiyası (AWS, Azure, Google Cloud)
- Daxili analitika və monitorinq panelləri
- Verilənlər bazası imkanlarını klonlayın və sınayın
- Dəyişməz snapshotlarla ransomware qorunması
8.6 Red Gate SQL Backup Pro
Red Gate SQL Backup Pro, yalnız optimallaşdırmaya yönəlmiş xüsusi bir vasitədir SQL Server üstün sıxılma və performans ilə əməliyyatların ehtiyat nüsxəsini çıxarın və bərpa edin.
Açar Xüsusiyyətlər:
- Sənayedə aparıcı sıxılma nisbətləri (95%-ə qədər)
- Yedəkləmə üçün şəbəkə davamlılığı SQL Server etibarsız əlaqələr vasitəsilə
- 256-bit AES ilə ehtiyat şifrələmə
- Ehtiyat nüsxənin yoxlanılması və bütövlüyün yoxlanılması
- Ətraflı ehtiyat tarixçəsi və hesabat
- İnteqrasiya SQL Server İdarəetmə Studiyası
- Şəbəkə məkanlarına və bulud yaddaşına ehtiyat nüsxə üçün dəstək
- Daha sürətli əməliyyatlar üçün paralel ehtiyat nüsxə və bərpa
9. Necə bərpa etmək olar SQL Server Database
9.1 Bərpa prosesini başa düşmək
Bərpa a SQL Server verilənlər bazası verilənlər bazasını ehtiyat fayllarından yenidən yaradır. Bərpa prosesi ehtiyat faylı oxuyur və verilənlər bazasını ehtiyat nüsxələnmiş vəziyyətinə qaytarır.
Mühüm mülahizələr:
- Bərpa mövcud verilənlər bazasının üzərinə yazır
- Bərpa zamanı istifadəçilərin əlaqəsi kəsilir
- Bərpa ehtiyat nüsxə ardıcıllığına əməl etməlidir (tam, sonra diferensial, sonra qeydlər)
- Bərpa əməliyyatı zamanı verilənlər bazası əlçatan deyil
9.2 SSMS istifadə edərək tam ehtiyat nüsxəsinin bərpası
Tam verilənlər bazası ehtiyat nüsxəsini bərpa etmək üçün bu addımları yerinə yetirin.
9.2.1 Addım-addım Bərpa Prosesi
- açıq SQL Server İdarəetmə Studiyası və serverinizə qoşulun
- In Obyekt Explorer, sağ basın Verilənlər bazası
- seçmək Verilənlər bazasını bərpa edin
- Ci mənbə bölümünü seçin cihaz
- Basın ... nüsxə fayllarına baxmaq üçün düymə
- Basın əlavə etmək və .bak faylınıza keçin
- Yedek faylı seçin və üzərinə klikləyin OK
- Ci Destination bölməsində verilənlər bazası adını daxil edin
- Bərpa etmək üçün ehtiyat dəstlərini nəzərdən keçirin
- Basın OK start bərpa
9.2.2 Seçimləri və Parametrləri bərpa edin
Basın Nizamlamalar konfiqurasiya etmək üçün sol paneldə:
- Mövcud verilənlər bazasının üzərinə yazın (REPLACE İLƏ) – Mövcud verilənlər bazası üzərindən bərpa etməyə imkan verir
- Replikasiya vəziyyətlərini qoruyun (WITH KEEP_REPLICATION ilə) - saxlayın SQL Server replikasiya idi
- Bərpa edilmiş verilənlər bazasına girişi məhdudlaşdırın (WITH RESTRICTED_USER) – Limitlər səhost- girişi bərpa edin
- Bərpa vəziyyəti – BƏRPA İLƏ BƏRPA və ya NORECOVERY arasında seçim edin
9.3 Diferensial ehtiyat nüsxəsinin bərpası
Diferensial bərpa həm tam, həm də diferensial ehtiyat nüsxələrini tələb edir:
- Birincisi, ilə tam ehtiyat nüsxəsini bərpa edin NORECOVERY seçimi
- Sonra diferensial ehtiyat nüsxəsini bərpa edin RECOVERY seçimi
T-SQL nümunəsi:
-- 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 Transaction Log Backups ilə bərpa
Vaxtında bərpa etmək üçün ardıcıllıqla bərpa edin:
- NORECOVERY ilə tam yedəkləməni bərpa edin
- NORECOVERY ilə diferensial ehtiyat nüsxəsini bərpa edin (əgər varsa)
- NORECOVERY ilə əməliyyat jurnalının ehtiyat nüsxələrini bərpa edin
- RECOVERY ilə son jurnalın ehtiyat nüsxəsini bərpa edin
-- 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 Vaxtında Bərpa
STOPAT seçimindən istifadə edərək verilənlər bazasını müəyyən bir vaxta bərpa edin:
-- 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 Cədvəl Bərpası
SQL Server ehtiyat nüsxə fayllarından birbaşa cədvəl səviyyəsində bərpanı dəstəkləmir. Bununla belə, hələ də bəzi həllər mövcuddur.
9.6.1 Metod 1: Verilənlər Bazasının Anlıq Görüntüləri (Qarşısının Alınması Üçün Ən Yaxşısı)
Verilənlər bazası anlıq görüntüləri, problem yaranmazdan əvvəl yaradıldığı təqdirdə cədvəl məlumatlarını bərpa etməyin ən sürətli yolunu təmin edir. Anlıq görüntü, verilənlər bazasının müəyyən bir zamanda yalnız oxunan, statik görünüşüdür.
Verilənlər Bazasının Anlıq Görüntüsünün Yaradılması:
-- 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
Cədvəl Məlumatlarının Snapshot-dan Bərpası:
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
Versiya Tələbləri: Verilənlər bazası anlıq görüntüləri burada mövcuddur SQL Server Enterprise Edition (bütün versiyalar) və Standard Edition starilə ting SQL Server 2016 SP1.
9.6.2 Metod 2: Tempoya bərpa edinrary Verilənlər Bazası (Most Ümumi)
Bu üsul, problem yarandıqdan və anlıq görüntü olmadığından sonra cədvəl məlumatlarını bərpa etmək lazım olduqda işləyir:
- Yedəkləməni tempinə bərpa edinrary verilənlər bazası
- Cədvəl məlumatlarını tempdən kopyalayınrary verilənlər bazası cari verilənlər bazasına
9.7 Səhifə Bərpası
Səhifə bərpası, bütün verilənlər bazasını bərpa etmədən fərdi zədələnmiş səhifələri bərpa edir və bununla da boşalma müddətini minimuma endirir taryalnız zədələnmiş səhifələrin alınması. Bu xüsusiyyət yalnız Tam və ya Toplu Qeydiyyatlı bərpa modellərində mövcuddur və səhifə ehtiyat nüsxəsindən cari qeyd faylı vasitəsilə əməliyyat qeydlərinin fasiləsiz ehtiyat nüsxələrinin zəncirini tələb edir.
Səhifə bərpasını həyata keçirmək üçün əvvəlcə zədələnmiş səhifələri müəyyən edin, son jurnalın ehtiyat nüsxəsini çıxarın, müəyyən səhifələri bərpa edin və sonra bütün əməliyyat jurnallarını tətbiq edin:
-- 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
Qeyd: Sadə bərpa modelində səhifə bərpası mümkün deyil. Səhifələri sistem cədvəllərindən və ya əsas fayl qrupu metaməlumatlarından bərpa edə bilməzsiniz.
9.8 Parçalı Bərpa
Hissə-hissə bərpa (qismən bərpa) verilənlər bazasını fayl qrupu səviyyəsində mərhələlərlə bərpa edir, starƏsas fayl qrupu ilə əlaqə. Bu, kritik məlumatları dərhal onlayn hala gətirir, daha az kritik məlumatlar isə arxa planda bərpa olunur. Sadə bərpa modelində bütün oxumaq-yazmaq fayl qrupları əsas fayl qrupu ilə birlikdə bərpa edilməlidir; yalnız oxumaq üçün fayl qrupları ayrıca bərpa edilə bilər. Tam və ya Toplu Qeydiyyatlı bərpa modellərində hər bir fayl qrupu əməliyyat qeydləri tətbiq edildikdən sonra müstəqil olaraq onlayn hala gətirilə bilər.
| Qurtarma modeli | Parça-parça Bərpa Davranışı |
|---|---|
| Sadə | Əsas və bütün oxumaq-yazmaq fayl qrupları birlikdə bərpa edildi. Yalnız oxumaq üçün fayl qrupları ayrıca bərpa edildi. |
| Tam/Toplu Qeydiyyatdan Keçmiş | Hər bir fayl qrupu fayl qrupu səviyyəsində müstəqil şəkildə bərpa edildi. |
Tam bərpa modelinə nümunə – əvvəlcə verilənlər bazasını işə salmaq üçün əsas fayl qrupunu bərpa edin, sonra verilənlər bazası işlək vəziyyətdə qalarkən ikinci dərəcəli fayl qruplarını bərpa edin:
-- 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
Sadə bərpa modeli üçün nümunə:
-- 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 T-SQL əmrlərindən istifadə edərək bərpa
Faylın yerini dəyişdirməklə bərpa skriptini tamamlayın:
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 Bərpa etməzdən əvvəl ehtiyat nüsxənin bütövlüyünün yoxlanılması
Bərpa etmədən ehtiyat nüsxəsinin etibarlılığını yoxlayın:
RESTORE VERIFYONLY
FROM DISK = 'C:\Backups\AdventureWorks.bak';
GO
Bu əmr verilənlər bazasını bərpa etmədən ehtiyat nüsxə dəstinin tam və oxunaqlı olduğunu yoxlayır.
10. SQL Server Yedəkləmə Ən Yaxşı Təcrübələr
10.1 Ehtiyat strategiyasının hazırlanması
10.1.1 Biznes Tələblərinin Qiymətləndirilməsi
Yedəkləməni həyata keçirməzdən əvvəl qiymətləndirin:
- Məlumat kritikliyi: Bu məlumat əməliyyatlar üçün nə dərəcədə vacibdir?
- Tezliyi dəyişdirin: Məlumatlar nə qədər tez-tez dəyişir?
- Verilənlər bazasının ölçüsü: Verilənlər bazası nə qədər böyükdür?
- Mövcud resurslar: Hansı yaddaş və bant genişliyi mövcuddur?
- Uyğunluq tələbləri: Hansı qaydalara əməl etməlisiniz?
10.1.2 RTO və RPO-nun müəyyən edilməsi
Bərpa Zamanı Məqsədi (RTO): Maksimum məqbul dayanma müddəti. Əməliyyatları nə qədər tez bərpa etməyiniz lazım olduğunu müəyyən edir.
Bərpa Nöqtəsi Məqsədi (RPO): Maksimum məqbul məlumat itkisi. Yedəkləmə tezliyini müəyyən edir.
| RTO/RPO Tələbləri | Tövsiyə olunan Yedəkləmə Strategiyası |
|---|---|
| RPO: Saatlar, RTO: Saatlar | Gündəlik tam + hər 1-2 saatdan bir əməliyyat jurnalı |
| RPO: Dəqiqələr, RTO: Saatlar | Gündəlik tam + gündəlik ehtiyat nüsxələri hər 15-30 dəqiqədən bir |
| RPO: Sıfıra yaxın, RTO: Dəqiqələr | Həmişə Mövcud Qruplar + tez-tez jurnal ehtiyat nüsxələri |
| RPO: Günlər, RTO: Günlər | Həftəlik tam + gündəlik diferensial |
10.2 Ehtiyat Cədvəlin yaradılması
10.2.1 Tezlik üzrə tövsiyələr
İstehsal verilənlər bazası üçün tipik ehtiyat cədvəli:
- Tam ehtiyat nüsxələri: Həftəlik (az aktivlik zamanı bazar günü gecəsi)
- Diferensial ehtiyat nüsxələri: Gündəlik (hər gecə)
- Tranzaksiya jurnalının ehtiyat nüsxələri: İş saatları ərzində hər 15-30 dəqiqədən bir
- Yalnız kopyalanan ehtiyat nüsxələri: Test və ya inkişaf üçün lazım olduqda
10.2.2 Performans və Mühafizənin balanslaşdırılması
Planlaşdırarkən bu amilləri nəzərə alın:
- Qeyri-pik saatlar: Aşağı aktivlik dövrlərində tam ehtiyat nüsxələrini işə salın
- Resurs təsiri: Sıxılma I/O-nu azaldır, lakin CPU istifadəsini artırır
- Şəbəkə bant genişliyi: Trafik az olduqda şəbəkə ehtiyat nüsxələrini planlaşdırın
- Yedək pəncərələri: Yedəkləmələrin iş saatlarından əvvəl tamamlanmasını təmin edin
10.3 Ehtiyat Saxlama üzrə Ən Yaxşı Təcrübələr
10.3.1 On-Site vs Off-Site Storage
Saytda ehtiyat nüsxələri:
- Daha sürətli yedəkləmə və bərpa vaxtları
- Aşağı cost yüksək tezlikli giriş üçün
- Yerli fəlakətlərə qarşı həssasdır
- Sürətli bərpa ssenariləri üçün ən yaxşısı
Saytdan kənar ehtiyat nüsxələri:
- Sahəyə məxsus fəlakətlərdən qorunma
- Coğrafi ehtiyat tələblərinə uyğunluq
- Daha yavaş bərpa müddətləri
- Fəlakətin bərpası üçün vacibdir
10.3.2 Bulud Yedəkləmə Seçimləri
Bulud saxlama üstünlükləri:
- Azure Blob Yaddaşı: Doğma SQL Server inteqrasiya, cost-nadir daxil olmaq üçün effektivdir
- Amazon S3: Yüksək davamlı, çevik saxlama pillələri
- Google Bulud Yaddaşı: Rəqabətli qiymət, qlobal mövcudluq
10.3.3 Ehtiyat Nümunələrin Saxlanması Siyasətləri
Nümunə saxlama siyasəti:
- Gündəlik ehtiyat nüsxələrini 7 gün saxlayın
- Həftəlik ehtiyat nüsxələrini 4 həftə saxlayın
- 12 ay ərzində aylıq ehtiyat nüsxələrini saxlayın
- İllik ehtiyat nüsxələrini 7 il saxlayın (uyğunluq)
10.4 Ehtiyat Sıxılma və Şifrələmə
Kompressiyanın üstünlükləri:
- Yedək faylın ölçüsünü 50-70% azaldır
- Yedəkləmə vaxtını azaldır
- Yaddaşı azaldır costs
- Uzaqdan ehtiyat nüsxələri üçün şəbəkə bant genişliyini azaldır
Ən yaxşı şifrələmə təcrübələri:
- Həssas məlumatları ehtiva edən ehtiyat nüsxələri həmişə şifrələyin
- AES 256-bit şifrələmədən istifadə edin
- Təhlükəsiz sertifikat və ya açar idarəetmə
- Şifrələmə açarlarını sənədləşdirin və onları ayrıca saxlayın
10.5 Ehtiyat nüsxələrin sınaqdan keçirilməsi və yoxlanması
10.5.1 Müntəzəm Bərpa Testi
Rüblük və ya aylıq sınaq bərpa prosedurları:
- Yedəkləri sınaq mühitinə bərpa edin
- Məlumatların tamlığını və tamlığını yoxlayın
- Tətbiqin funksionallığını yoxlayın
- Sənədin bərpa müddəti (RTO-nu təsdiqləyin)
- Hər hansı bir problemi müəyyənləşdirin və həll edin
10.5.2 YALNIZ BƏRPA VERİFONDAN Istifadə
Yedək nüsxəsinin təsdiqlənməsini avtomatlaşdırın:
-- Verify backup integrity
RESTORE VERIFYONLY
FROM DISK = 'C:\Backups\AdventureWorks.bak'
WITH CHECKSUM;
GO
Təsdiqləməni ehtiyat nüsxəni tamamladıqdan dərhal sonra və ya planlaşdırılmış texniki xidmətin bir hissəsi kimi işə salın.
10.6 Ehtiyat nüsxələrin avtomatlaşdırılması və monitorinqi
10.6.1 SQL Server Agent Jobs
Avtomatlaşdırılmış ehtiyat işləri yaradın:
- Genişləndirilməsi SQL Server Agent
SSMS-də
- Sağ-klik Jobs və seçin Yeni iş
- İşi adlandırın (məsələn, “Gündəlik Tam Yedəkləmə”)
- Bir et Addım T-SQL ehtiyat əmrləri ilə
- Bir yaradın Cədvəl icra müddəti üçün
- Set Bildirişlər uğur/uğursuzluq üçün
10.6.2 Baxım Planları
SQL Server Baxım Planları ehtiyat nüsxəsinin avtomatlaşdırılması üçün vizual interfeys təmin edir:
- gedin idarə -> Baxım Planları
- Sağ basın və seçin Baxım Planı Sihirbazı
- Avtomatlaşdırmaq üçün ehtiyat tapşırıqları seçin
- Yedəkləmə cədvəlini və seçimlərini konfiqurasiya edin
- Hesabat və qeydləri qurun
10.6.3 Ehtiyat Xəbərdarlıqlar və Bildirişlər
E-poçt bildirişlərini konfiqurasiya edin:
- Database Mail-i quraşdırın SQL Server
- Yedəkləmə uğursuzluqları üçün xəbərdarlıqlar yaradın
- Yedəkləmə iş tarixinə nəzarət edin
- Xülasə hesabatlarını idarəçilərə göndərin
10.7 Sənədləşdirmə və Fəlakətin Bərpasının Planlaşdırılması
Hərtərəfli sənədləri qoruyun:
- Yedəkləmə cədvəli: Nə vaxt və nə yedəklənir
- Saxlama siyasəti: Nə qədər ehtiyat nüsxələri saxlanılır
- Saxlama yerləri: Ehtiyat nüsxələrin saxlandığı yer
- Bərpa prosedurları: Addım-addım bərpa təlimatları
- Əlaqə məlumatı: Əsas heyət və satıcılar
- Bərpa testinin nəticələri: Sənədləşdirilmiş test nəticələri
11. Ətraflı SQL Server Yedəkləmə Ssenariləri
11.1 Çox Böyük Verilənlər Bazalarının Yedeklənməsi (VLDB)
11.1.1 Fayl və Fayl Qrupu Strategiyaları
Bir neçə yüz giqabaytdan çox verilənlər bazası üçün:
- Yalnız oxumaq və oxumaq-yazmaq üçün məlumatları müxtəlif fayl qruplarına ayırın
- Yalnız oxumaq üçün fayl qruplarını nadir hallarda yedəkləyin
- Tez-tez ehtiyat nüsxələrini aktiv fayl qruplarına yönəldin
- Qranul nəzarət üçün fayl səviyyəli ehtiyat nüsxələrindən istifadə edin
Nümunə fayl ehtiyat nüsxəsi:
-- Back up specific file
BACKUP DATABASE LargeDB
FILE = 'LargeDB_Data1'
TO DISK = 'C:\Backups\LargeDB_File1.bak'
WITH COMPRESSION;
GO
11.1.2 Ehtiyat Performans Optimizasiyası
VLDB ehtiyat performansını yaxşılaşdırın:
- Zolaqlı ehtiyat nüsxələri: Birdən çox fayla eyni vaxtda yazın
- Sıxış: I/O və saxlama tələblərini azaldın
- Çoxlu ehtiyat cihazları: Yedəkləmə əməliyyatlarını paralelləşdirin
- Sürətli saxlama: Yedəkləmə üçün SSD-lərdən istifadə edin
- Bufer sayı: BUFFERCOUNT seçimini artırın
- Maksimum köçürmə ölçüsü: MAXTRANSFERSIZE parametrini optimallaşdırın
-- 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 Always On Availability Qruplarında Yedəkləmə
Always On Availability Groups ehtiyat yükü replikalar arasında paylayır:
- Yedək seçimlərini konfiqurasiya edin (əsas, ikincil və ya hər hansı replika)
- Əsas iş yükünü azaltmaq üçün ehtiyat nüsxələri ikinci dərəcəli replikalara yükləyin
- İkinci dərəcəli replikalarda COPY_ONLY ehtiyat nüsxələrindən istifadə edin
- Yedəkləmə prioritet parametrlərinə nəzarət edin
-- 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 Database Mirroring üçün ehtiyat nüsxə
Verilənlər bazası əks etdirmə ssenarilərində:
- Əsas verilənlər bazasını müntəzəm olaraq ehtiyat nüsxəsini çıxarın
- Tranzaksiya jurnalının ehtiyat nüsxələri yansıtma üçün vacibdir
- Güzgü verilənlər bazası BƏRPA vəziyyətindədir (birbaşa yedəkləmək mümkün deyil)
- Fasilədən sonra güzgünün ehtiyat nüsxəsini çıxarmağı düşünün
11.4 Azure Blob Yaddaşına Yedəkləmə
SQL Server birbaşa Azure Blob Storage-a ehtiyat nüsxəsini çıxara bilər:
- Azure Storage Hesabı yaradın
- Yaratmaq SQL Server Azure autentifikasiyası üçün etimadnamə
- Yedək təyinatı üçün URL sintaksisindən istifadə edin
-- 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 URL-in ehtiyat nüsxəsini çıxarın
URL-in ehtiyat nüsxəsinin çıxarılmasının üstünlükləri:
- Limitsiz bulud saxlama qabiliyyəti
- Coğrafi artıqlıq avtomatik idarə olunur
- İstifadə etdikcə ödə qiymət modeli
- Yerli disk sahəsi tələb olunmur
- Yedəkləmə üçün 64-ə qədər URL-i dəstəkləyir (zolaqlama)
11.6 Performans üçün zolaqlı ehtiyat nüsxələri
Zolaqlı ehtiyat nüsxələri daha sürətli I/O üçün məlumatları birdən çox fayla bölür:
-- 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
Qeyd: Bütün zolaq faylları bərpa üçün tələb olunur. Hər hansı bir faylın olmaması ehtiyat nüsxəni yararsız edir.
12. Giderme SQL Server Yedəkləmə Problemləri
12.1 Ümumi ehtiyat nüsxə xətaları və həll yolları
Xəta: "Əməliyyat sistemi xətası 5: Giriş rədd edildi"
- Niyə: SQL Server xidmət hesabında icazə yoxdur
- Həll: Yazmağa icazə verin SQL Server ehtiyat qovluğunda xidmət hesabı
Xəta: "Yedək cihazı aça bilmir... Cihaz xətası və ya oflayn cihaz"
- Niyə: Yanlış yol və ya şəbəkə paylaşımı əlçatan deyil
- Həll: Yolun mövcudluğunu yoxlayın, şəbəkə bağlantısını yoxlayın, kifayət qədər disk sahəsini təmin edin
Xəta: "Diskdə kifayət qədər yer yoxdur"
- Niyə: Yedəkləmə üçün kifayət qədər disk sahəsi yoxdur
- Həll: Disk yerini boşaldın, sıxılmadan istifadə edin, başqa yerə ehtiyat nüsxə edin
Xəta: "Verilənlər bazası istifadə olunur. Verilənlər bazası digər istifadəçilər tərəfindən istifadə olunur"
- Niyə: Bərpa zamanı aktiv əlaqələr
- Həll: WITH REPLACE seçimindən istifadə edin və ya əvvəlcə istifadəçilərin əlaqəsini kəsin
12.2 Ehtiyat Performans Problemləri
Yavaş ehtiyat nüsxələrini diaqnoz edin:
- İstifadə edərək diskin I/O performansını yoxlayın Performance Monitor
- STATS seçimi ilə ehtiyat nüsxənin gedişatını izləyin
- baxış SQL Server darboğazlar üçün səhv jurnalı
- I/O azaltmaq üçün sıxılmanı nəzərdən keçirin
- Çoxlu disklərdə zolaqlı ehtiyat nüsxələrindən istifadə edin
Yedəkləmə prosesini izləmək üçün sorğu:
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 Məkan və Saxlama Problemləri
Saxlama problemlərinin qarşısının alınması:
- Saxlama siyasətlərini həyata keçirin: Köhnə ehtiyat nüsxələrini avtomatik silin
- Kompressiyadan istifadə edin: Yedək fayl ölçüsünü 50-70% azaldın
- Daha ucuz saxlama üçün arxivləşdirin: Köhnə ehtiyat nüsxələri arxiv yaddaşına köçürün
- Disk sahəsinə nəzarət edin: Az disk sahəsi üçün xəbərdarlıqlar qurun
- Təxmini ehtiyat ölçüsü: Yedəkləmədən əvvəl gözlənilən ölçüsü hesablayın
Təxmini ehtiyat ölçüsü:
-- Estimate full backup size
EXEC sp_spaceused;
GO
12.4 İcazə və Giriş Problemləri
Yedəkləmə üçün tələb olunan icazələr:
- MƏLUMAT BAZASININ YEDƏKLƏNMƏSİ icazəsi
- db_backupoperator rol üzvlük
- sistem meneceri server rolu (bütün ehtiyat əməliyyatları üçün)
Yedəkləmə icazələri verin:
-- 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 Zədələnmiş Yedək Faylları
Zərərli ehtiyat nüsxələrini aşkar edin və idarə edin:
Ehtiyat nüsxəsinin bütövlüyünü yoxlayın:
RESTORE VERIFYONLY
FROM DISK = 'C:\Backups\AdventureWorks.bak'
WITH CHECKSUM;
GO
Gələcək ehtiyat nüsxələri üçün CHECKSUM-u aktiv edin:
BACKUP DATABASE AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks.bak'
WITH CHECKSUM, INIT;
GO
Qarşısının alınması strategiyaları:
- Yedəkləmə zamanı həmişə CHECKSUM seçimindən istifadə edin
- Yaradılandan dərhal sonra ehtiyat nüsxələri yoxlayın
- Test müntəzəm olaraq bərpa edir
- Ehtiyat nüsxələri etibarlı yaddaşda saxlayın
- Birdən çox ehtiyat nüsxəsini saxlayın
12.6 Korrupsiyaya uğramış ehtiyat fayllarından məlumatların bərpası
Əgər ehtiyat nüsxə fayllarınız xarabdırsa və siz hələ də onlardan məlumatları bərpa etmək istəyirsinizsə, siz üçüncü tərəf alətlərindən istifadə edə bilərsiniz, məsələn DataNumen SQL Recovery, aşağıdakı kimi:
- Start DataNumen SQL Recovery.
- Filtri “Bütün fayllar (*.*)” olaraq dəyişdirərək mənbə faylı kimi zədələnmiş ehtiyat nüsxə faylını seçin:
- Lazım gələrsə, çıxış .MDF faylını təyin edin.
- “Start Bərpa” seçin və verilənlər bazasını bərpa etmək üçün təlimatlara əməl edin.
- Bərpa prosesindən sonra yeni bərpa verilənlər bazası görünəcək SQL Server bütün bərpa edilmiş məlumatları ehtiva edir.
13. SQL Server Yedəkləmə Təhlükəsizliyi
13.1 Ehtiyat faylların qorunması
Yedək faylları icazəsiz girişdən qoruyun:
- Fayl sistemi icazələri: Yalnız səlahiyyətli idarəçilərə girişi məhdudlaşdırın
- Şəbəkə təhlükəsizliyi: Şəbəkə ehtiyat nüsxələri üçün təhlükəsiz protokollardan istifadə edin
- Fiziki təhlükəsizlik: Ehtiyat medianı təhlükəsiz yerlərdə saxlayın
- Giriş qeydi: Ehtiyat fayl girişini yoxlayın
13.2 Şifrələmə Seçimləri
SQL Server şəffaf ehtiyat şifrələməsini dəstəkləyir:
Şifrələmə üçün sertifikat yaradın:
-- 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
Şifrələnmiş yedəkləmə:
BACKUP DATABASE AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks_Encrypted.bak'
WITH COMPRESSION,
ENCRYPTION (
ALGORITHM = AES_256,
SERVER CERTIFICATE = BackupCertificate
);
GO
Vacib: Sertifikat və şəxsi açarın ehtiyat nüsxəsini ayrıca çıxarın. Onlar olmadan şifrələnmiş ehtiyat nüsxələri bərpa etmək mümkün deyil.
-- 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 Girişə Nəzarət və İcazələr
Ən az imtiyaz prinsipini həyata keçirin:
- Yedəkləmə icazələrini yalnız lazımi hesablara verin
- Yedəkləmə və bərpa əməliyyatları üçün ayrı hesablardan istifadə edin
- Yedəkləmə üçün sa hesabından istifadə etməyin
- Yedəkləmə icazələrini mütəmadi olaraq yoxlayın
- Artıq lazım olmadıqda icazələri silin
13.4 Uyğunluq Mülahizələri
Tənzimləyici tələbləri ünvanlayın:
- GDPR: Şəxsi məlumatları ehtiva edən ehtiyat nüsxələrini şifrələyin, saxlama siyasətini həyata keçirin
- HIPAA: PHI-ni ehtiyat nüsxələrdə şifrələyin, girişi idarə edin, audit yollarını qoruyun
- PCI DSS: Kart sahibi məlumatlarının ehtiyat nüsxələrini şifrələyin, ehtiyat nüsxəsini qoruyun
- SOX: Ehtiyat nüsxələrin bütövlüyünü, sənədlərin saxlanması siyasətlərini qoruyun
14. Ehtiyat əməliyyatların monitorinqi və saxlanması
14.1 Yedəkləmə Tarixçəsinin İzlənməsi
SQL Server msdb verilənlər bazasında ehtiyat nüsxə tarixini saxlayır:
-- 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
Son ehtiyat nüsxələri olmayan verilənlər bazalarını tapın:
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 İstifadə SQL Server Hesabatlar
SQL Server Management Studio daxili ehtiyat hesabatları ehtiva edir:
- Object Explorer-də verilənlər bazasına sağ klikləyin
- seçmək Hesabatlar -> Standart Hesabatlar
- Mövcud hesabatlardan seçin:
- Hadisələrin ehtiyat nüsxəsini çıxarın və bərpa edin
- Bütün Yedəkləmələr
- Tranzaksiya Qeydiyyatı Göndərmə Status
14.3 Üçüncü Tərəfin Monitorinq Alətləri
Kommersiya monitorinq həlləri:
- SQL Sentry: Hərtərəfli monitorinq və xəbərdarlıq
- Redgate SQL Monitor: Real vaxt rejimində monitorinq və diaqnostikaostics
- SolarWinds Database Performance Analyzer: Performans və ehtiyat monitorinqi
- Idera SQL Diaqnozuostic meneceri: Ehtiyat nüsxənin təsdiqlənməsi və xəbərdarlıq
14.4 Sağlamlıq yoxlamalarının ehtiyat nüsxəsi
Sağlamlıq yoxlaması prosedurunu yaradın:
-- 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 Yedəkləmə tez-tez verilən suallar
15.1 Nə qədər tez-tez ehtiyat nüsxəsini çıxarmalıyam SQL Server?
Yedəkləmə tezliyi Bərpa Nöqtəsi Məqsədinizdən (RPO) asılıdır:
- Kritik istehsal məlumat bazaları: Tam həftəlik, gündəlik diferensial, hər 15-30 dəqiqədən bir daxil olun
- Standart istehsal məlumat bazaları: Tam həftəlik, gündəlik diferensial, hər 1-2 saatdan bir daxil olun
- İnkişaf verilənlər bazası: Tam gündəlik və ya həftəlik
- Yalnız oxumaq üçün verilənlər bazası: Hər məlumat dəyişikliyindən sonra tam
15.2 Tam və Diferensial Yedəkləmə Arasındakı Fərq Nədir?
Tam ehtiyat nüsxə bütün verilənlər bazasını kopyalayır, diferensial ehtiyat isə yalnız sonuncu tam ehtiyat nüsxədən sonra dəyişiklikləri qeyd edir. Diferensial ehtiyat nüsxələri daha kiçik və daha sürətlidir, lakin bərpa üçün əsas tam ehtiyat nüsxəsini tələb edir.
15.3 Yedəkləyə bilərəm SQL Server Çalışarkən?
Bəli, SQL Server onlayn ehtiyat nüsxələrini dəstəkləyir. İstifadəçilər ehtiyat əməliyyatları zamanı işləməyə davam edə bilərlər. SQL Server ardıcıllığı qorumaq üçün əməliyyat jurnalından istifadə edir, ehtiyat nüsxələrin eyni vaxtda edilən dəyişikliklərlə belə etibarlı olmasını təmin edir.
15.4 Nə qədər davam edir SQL Server Yedəklənsin?
Yedəkləmə müddəti aşağıdakılardan asılı olaraq dəyişir:
- Verilənlər bazasının ölçüsü: Daha böyük verilənlər bazası daha uzun çəkir
- Yedəkləmə növü: Tam ehtiyat nüsxələri ən uzun çəkir
- Sıxış: CPU vaxtını artıra bilər, lakin ümumi müddəti azalda bilər
- Saxlama sürəti: SSD-lər HDD-lərdən əhəmiyyətli dərəcədə sürətlidir
- Server yükü: Yüksək aktivlik ehtiyat nüsxələri yavaşlatır
Tipik diapazonlar: 10 GB verilənlər bazası müasir avadanlıqda sıxılma ilə tam ehtiyat nüsxə üçün 5-15 dəqiqə çəkə bilər.
15.5 Harada saxlamalıyam SQL Server Yedəkləmələr?
Ən yaxşı təcrübə: 3-2-1 qaydasına əməl edin:
- 3 məlumatlarınızın surətləri
- 2 müxtəlif saxlama növləri (məsələn, disk və lent/bulud)
- 1 saytdan kənar kopyalayın
Tövsiyə olunan yerlər:
- Tez bərpa üçün yerli disk
- Mərkəzləşdirilmiş idarəetmə üçün şəbəkə saxlama
- Fəlakətin bərpası üçün bulud yaddaşı (Azure, AWS).
15.6 .bak Fayl Genişlənməsi nədir?
.bak uzantısı standart fayl uzantısıdır SQL Server ehtiyat faylları. Bu, tələb deyil, konvensiyadır - SQL Server ehtiyat nüsxələri istənilən fayl uzantısı ilə işləyir. Bununla belə, .bak-dan istifadə ehtiyat nüsxə fayllarını asanlıqla müəyyən edilə bilən edir və sənaye standartı praktikasıdır.
15.7 Necə Yedəkləmə SQL Server Şəbəkə Diskinə?
Şəbəkə sürücüsünə ehtiyat nüsxə etmək üçün:
- Təmin etmək SQL Server xidmət hesabının şəbəkə paylaşımında yazma icazələri var
- Yedəkləmə əmrində UNC yolunu istifadə edin:
\\ServerName\ShareName\BackupFile.bak - Avtomatlaşdırılmış ehtiyat nüsxələri planlaşdırmadan əvvəl əlaqəni sınayın
BACKUP DATABASE AdventureWorks
TO DISK = '\\BackupServer\SQLBackups\AdventureWorks.bak'
WITH COMPRESSION, INIT;
GO
15.8 Mən sıxışdıra bilərəm SQL Server Yedəkləmələr?
Bəli, SQL Server yerli ehtiyat sıxılmasını dəstəkləyir (Enterprise Edition və ya Standard Edition starting SQL Server 2016 SP1). Sıxılma adətən ehtiyat nüsxəsinin ölçüsünü 50-70% azaldır və CPU istifadəsini artırsa da, I/O-nu azaldaraq ehtiyat vaxtını tez-tez azaldır.
BACKUP DATABASE AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks.bak'
WITH COMPRESSION;
GO
16. Nəticə
16.1 Əsas Çıxarışlar
Effektiv SQL Server ehtiyat strategiyaları məlumatlarınızı qoruyur və işin davamlılığını təmin edir. Bu vacib məqamları yadda saxla:
- Yedəkləmə növlərini anlayın: Bərpa tələblərinizə əsasən müvafiq ehtiyat növlərini (tam, diferensial, əməliyyat jurnalı) seçin
- Düzgün bərpa modelini seçin: Kritik məlumatlar üçün tam bərpa, inkişaf verilənlər bazası üçün sadə
- Yedəkləmə cədvəlini həyata keçirin: Diferensial və log ehtiyat nüsxələri ilə birlikdə müntəzəm tam ehtiyat nüsxələri məlumat itkisini minimuma endirir
- Test bərpa prosedurları: Yedək nüsxələri yalnız uğurla bərpa oluna bildikdə dəyərlidir
- Avtomatlaşdırın və nəzarət edin: istifadə SQL Server Agent, texniki xidmət planları və monitorinq alətləri
- Təhlükəsiz ehtiyat nüsxələri: Həssas məlumatları şifrələyin və ehtiyat fayllarına girişi idarə edin
- Saytdan kənar nüsxələri saxlayın: Bulud və ya uzaqdan saxlama ilə sayt boyu fəlakətlərdən qoruyun
- Hər şeyi sənədləşdirin: Yedəkləmə və bərpa prosedurlarının aydın sənədlərini saxlayın
16.2 Növbəti Addımlar və Resurslar
Özünüzü yaxşılaşdırmaq üçün SQL Server ehtiyat nüsxə tətbiqi:
- Cari ehtiyat strategiyanızı ən yaxşı təcrübələrlə müqayisə edin
- RTO və RPO tələblərinizi hesablayın
- Qeyri-istehsal sistemlərində bərpa prosedurlarını sınaqdan keçirin
- Yedəkləmə cədvəllərini mütəmadi olaraq nəzərdən keçirin və yeniləyin
- Avtomatlaşdırılmış monitorinq və xəbərdarlıq tətbiq edin
- Komanda üzvlərinə bərpa prosedurları üzrə təlim keçin
Əlavə ehtiyatlar:
- microsoft SQL Server Sənədləşdirmə: Rəsmi ehtiyat nüsxə və bərpa təlimatı
- SQL Server ehtiyat icma forumları: Təcrübə və həll yollarını paylaşın
- Peşəkar sertifikatlar: Microsoft Certified: Azure Database Administrator Associate
16.3 Tövsiyə olunan alətlər və həllər
Müxtəlif ssenarilərə əsasən:
Kiçik müəssisələr:
- Doğma SQL Server planlaşdırılmış ehtiyat nüsxəsi SQL Server Agent işləri
- Bulud inteqrasiyası üçün SQLBackupAndFTP
- üçün Azure Backup SQL Server
Orta müəssisələr:
- SQL Server Baxım Planları
- Redgate SQL Backup Pro kimi üçüncü tərəf alətləri
- Veeam Backup üçün SQL Server
İri müəssisələr:
- Maksimum sıxılma üçün LiteSpeed-i axtarın
- Müəssisə ehtiyat nüsxəsinin idarə edilməsi üçün Commvault və ya Veritas NetBackup
- Həmişə Mövcud Qruplar üçün yüksək mövcudluğu
SQL Server backup verilənlər bazası idarəçiliyi üçün əsasdır. Düzgün planlaşdırma, həyata keçirmə və sınaqla məlumatlarınızın qorunub saxlanmasını və lazım olduqda bərpa oluna biləcəyini təmin edə bilərsiniz. Start təhlükəsizliyinizi təmin etmək üçün bu ən yaxşı təcrübələri bu gün həyata keçirmək SQL Server məlumat bazaları.
Müəllif haqqında
Yuan Şenq sahəsində 10 ildən çox təcrübəsi olan baş verilənlər bazası administratorudur (DBA). SQL Server mühitlər və müəssisə verilənlər bazası idarə edilməsi. O, maliyyə xidmətləri, səhiyyə və istehsal təşkilatlarında yüzlərlə verilənlər bazası bərpa ssenarisini uğurla həll edib.
Yuan ixtisaslaşır SQL Server verilənlər bazası bərpası, yüksək əlçatanlıq həlləri və performansın optimallaşdırılması. Onun geniş praktiki təcrübəsinə çox terabaytlıq verilənlər bazalarının idarə edilməsi, Həmişə Əlçatımlılıq Qruplarının tətbiqi və kritik missiya sistemləri üçün avtomatlaşdırılmış ehtiyat nüsxə və bərpa strategiyalarının hazırlanması daxildir.
Texniki təcrübəsi və praktik yanaşması sayəsində Yuan verilənlər bazası administratorlarına və İT mütəxəssislərinə mürəkkəb problemləri həll etməyə kömək edən hərtərəfli bələdçilərin yaradılmasına diqqət yetirir. SQL Server problemlərini səmərəli həll edir. O, ən son xəbərlərdən xəbərdardır SQL Server relizlər və Microsoft-un inkişaf edən verilənlər bazası texnologiyaları, onun tövsiyələrinin real dünyanın ən yaxşı təcrübələrini əks etdirməsini təmin etmək üçün bərpa ssenarilərini müntəzəm olaraq sınaqdan keçirir.
haqqında suallarınız var SQL Server bərpası və ya əlavə verilənlər bazası problemlərinin aradan qaldırılması üçün təlimat lazımdır? Yuan salamlayır rəy və təkliflər bu texniki resursların təkmilləşdirilməsi üçün.











