DBCC CHECKDB-dir SQL Server's əsas verilənlər bazası bütövlüyü aləti. Onu nümunələrlə necə istifadə etməyi, korrupsiyanı aradan qaldırmağı və performansı optimallaşdırmağı öyrənin.
1. əhəmiyyəti SQL Server Verilənlər Bazasının Sağlamlığı
1.1 Hansı Verilənlər Bazasında Korrupsiya Costs Bizneslər
Bu gün most müəssisələr öz kritik məlumatlarını verilənlər bazalarında saxlayırlar. Verilənlər bazası korlanması baş verdikdə, nəticələr fəlakətlidir:
- Maliyyə itkiləri Məlumat itkisi səbəbiylə hər il orta hesabla 2.3 milyon ABŞ dolları, hardware çatışmazlığı və korrupsiya əsas səbəblərdir (EMC Corporation)
- Biznesin bağlanması dərəcələri Aparat nasazlığı səbəbindən məlumat itkisi ilə üzləşən kiçik müəssisələrin 50%-nin iki il ərzində fəaliyyətini dayandırdığını, məlumat itkisi ilə üzləşən müəssisələrin 94%-nin isə ümumiyyətlə sağ qalmadığını göstərir.
- Məlumatların pozulması tezliyi hər il kritik tətbiqlərin 20%-nə təsir edir və biznesin davamlılığının pozulmasına səbəb olur (Gartner tədqiqatı)
- Aparatla əlaqəli korrupsiya Sərt disk qəzaları və sistem nasazlığı nəticəsində baş verən bütün məlumat itkisi hadisələrinin 67%-ni təşkil edir, məlumat itkisinin 40%-i bilavasitə aparat nasazlığı ilə bağlıdır.
- Proqram təminatının pozulması costs şiddətindən və əhatə dairəsindən asılı olaraq minlərlə dollardan milyonlarla dollara qədər dəyişir, bizneslərin 82%-i korrupsiyanın əsas səbəb olduğu plansız fasilələrlə üzləşir.
1.2 Niyə Daimi Sağlamlıq Yoxlamaları Kritikdir
Potensial xəstəlikləri erkən aşkar etmək üçün insanlar mütəmadi olaraq tibbi müayinədən keçməlidirlər. Eynilə, verilənlər bazası da müntəzəm sağlamlıq yoxlamalarına ehtiyac duyur:
- Potensial korrupsiyanı erkən aşkar edin və onunla operativ şəkildə məşğul olun, problemlərin ciddi və geniş yayılmasının qarşısını alın ki, bu da biznes üçün fəlakətli nəticələrə gətirib çıxara bilər.
- Verilənlər bazasının optimal performansla işləməsini təmin edin.
- Cost proaktiv verilənlər bazası sağlamlıq yoxlamaları verilənlər bazası fəlakəti baş verdikdən sonra reaktiv məlumatların bərpasından xeyli aşağıdır.
1.3 Verilənlər Bazasının Dürüstlüyü Əmrlərinə Giriş
SQL Server ilə verilənlər bazası sağlamlığını qorumaq üçün bir neçə daxili əmrləri təmin edir DBCC CHECKDB m kimi xidmət edirost hərtərəfli bütövlüyü yoxlama vasitəsi mövcuddur. Bu əmrlər fərdi cədvəllərdən tutmuş bütün verilənlər bazası ardıcıllığına qədər verilənlər bazası strukturunuzun müxtəlif aspektlərini yoxlamaq üçün birlikdə işləyir və məlumatlarınızı təhlükəsiz və əlçatan saxlayan tam texniki xidmət strategiyasını formalaşdırır.
2. DBCC CHECKDB nədir
DBCC CHECKDB is SQL Serververilənlər bazasının bütövlüyünü yoxlamaq və korrupsiya problemlərini müəyyən etmək üçün əsas alətdir.
- Bu GUI aləti deyil, T-SQL ifadəsidir.
- kimi ümumi üsullarla icra edə bilərsiniz SQL Server İdarəetmə Studio (SSMS), SQL Server Agent, SQLCMD və s.
2.1 CHECKDB faktiki olaraq verilənlər bazanızda nəyi yoxlayır
DBCC CHECKDB-ni işə saldığınız zaman, əmr verilənlər bazası strukturunuzda bir neçə doğrulama qatını həyata keçirir:
- Səhifə yoxlama məbləğlərinin yoxlanılması fiziki korrupsiya və aparatla bağlı problemləri aşkar etmək
- İndeksin uyğunluğunun yoxlanılması düzgün məlumat axtarışı və sorğu performansını təmin etmək
- Bölmə strukturunun yoxlanılması dəqiq yer istifadəsini və səhifənin ayrılmasını təsdiqləmək üçün
- Referensial dürüstlük müayinəsi əlaqəli cədvəllər və xarici açar əlaqələri arasında
- Sistem cədvəlinin uyğunluğunun yoxlanılması təmin etmək SQL Serverdaxili metadata etibarlı olaraq qalır
- Məlumat səhifəsi əlaqəsinin yoxlanılması düzgün səhifə zəncirinin bütövlüyünü təsdiqləmək üçün
- Verilənlər bazası sxeminin uyğunluğu obyekt təriflərini və asılılıqlarını təsdiqləmək üçün
Bu hərtərəfli yoxlamalar həm istifadəçi məlumatlarını, həm də sistem strukturlarını əhatə edir və verilənlər bazanızın sağlamlıq vəziyyətinin tam görünməsini təmin edir.
3. DBCC CHECKDB-nin icrası: Addım-addım
3.1 İlkin şərtlər
Aşağıda hər hansı DBCC CHECKDB əməliyyatını yerinə yetirməzdən əvvəl yoxlama siyahısı verilmişdir:
- Tam verilənlər bazası ehtiyat nüsxəsi – Korrupsiya aşkar edildikdə və ya təmir əməliyyatlarına ehtiyac yaranarsa, təhlükəsizlik şəbəkəniz kimi bütövlük yoxlanışından əvvəl tam ehtiyat nüsxəsini yaradın.
- Düzgün icazələr – DBCC CHECKDB əmrlərini yerinə yetirmək üçün sizə sysadmin və ya db_owner icazələri lazımdır
- Kifayət qədər sistem resursları:
- Yaddaş: verilənlər bazası ölçüsünün 25%-i
- Tempdb sahəsi: verilənlər bazası ölçüsünün 10-15%-i
- CPU: Baxım zamanı 50-70% əlçatanlıq
- I/O: Ağır oxu əməliyyatlarını gözləyin
- Verilənlər bazası əlçatanlığı – CHECKDB bütün verilənlər bazası səhifələrinə oxumaq girişini tələb etdiyi üçün verilənlər bazanızın məhdud vəziyyətdə olmadığını yoxlayın
3.2 Əsas əmr
most əsas DBCC CHECKDB əmrinə üç ümumi variasiya daxildir:
(1) Cari verilənlər bazasını yoxlayın (parametrlər yoxdur):
DBCC CHECKDB
(2) Verilənlər bazasını adı ilə yoxlayın:
DBCC CHECKDB ('YourDatabaseName')
(3) ID ilə verilənlər bazasını yoxlayın:
DBCC CHECKDB(5) -- Replace 5 with your database ID
Bu fundamental əmr bütün cədvəlləri, indeksləri və sistem strukturlarını yoxlayaraq, göstərilən verilənlər bazasının tam bütövlüyünü yoxlayır. Boşluq olmayan standart adları olan verilənlər bazası üçün sitatları buraxa bilərsiniz. Komanda tərəqqi mesajlarını və yekun nəticələri göstərən tamamlanana qədər işləyəcək. Bu əsas sintaksis kiçik verilənlər bazaları üçün və ya kifayət qədər texniki xidmət vaxtınız olduqda mükəmməl işləyir.
Aşağıda DBCC CHECKDB-nin işə salınmasının ekran görüntüsü verilmişdir SQL Server Management Studio (SSMS):
3.3 Seçimləri tamamlayın
Aşağıda DBCC CHECKDB üçün tam seçimlər var:
| Kateqoriya | Variantları | Təsvir: Hər maşın üçün dəqiq və cəlbedici təsvir yazmağınız daha yaxşı olar. Bunun üçün chat.openai.com saytına daxil olaraq, orada aşağıdakı kimi sorğu yarada bilərsiniz: "Create the most powerful SEO-friendly text about [avtomobil modeli] for rentacarXNUMX.az site." Qeyd: "[avtomobil modeli]" yerinə təsvirini yazmaq istədiyiniz avtomobilin adını qeyd edin. | DBCC CHECKDB nümunəsi |
|---|---|---|---|
| Təmir Seçimləri | REPAIR_REBUILD |
Məlumat itkisi olmadan təmir (məsələn, indeksin yenidən qurulması) | DBCC CHECKDB ('MyDB', REPAIR_REBUILD) |
REPAIR_FAST |
Təmir yoxdur. Yalnız geriyə uyğunluq | DBCC CHECKDB ('MyDB', REPAIR_FAST) |
|
REPAIR_ALLOW_DATA_LOSS |
Bütün səhvləri düzəldir (məlumat itkisinə səbəb ola bilər) | DBCC CHECKDB ('CorruptDB', REPAIR_ALLOW_DATA_LOSS) |
|
| Əhatə dairəsinə nəzarət | NOINDEX |
Qruplaşdırılmamış indeks yoxlamalarını keçir | DBCC CHECKDB ('LargeDB', NOINDEX) |
PHYSICAL_ONLY |
Yalnız fiziki yaddaşın bütövlüyünü yoxlayır (səhifələr/qeydlər) | DBCC CHECKDB ('ProdDB', PHYSICAL_ONLY) |
|
DATA_PURITY |
Məntiqi sütun-dəyər xətalarını yoxlayır (məsələn, etibarsız tarixlər) | DBCC CHECKDB ('OldDB', DATA_PURITY) |
|
EXTENDED_LOGICAL_CHECKS |
Dərin məntiqi yoxlamalar (indekslənmiş görünüşlər, XML/məkan indeksləri) | DBCC CHECKDB ('ComplexDB', EXTENDED_LOGICAL_CHECKS) |
|
| Çıxışa nəzarət | ALL_ERRORMSGS |
Bütün səhvləri göstərir (defolt: hər obyekt üçün 200) | DBCC CHECKDB ('MyDB', ALL_ERRORMSGS) |
NO_INFOMSGS |
Məlumat mesajlarını gizlədir | DBCC CHECKDB ('MyDB', NO_INFOMSGS) |
|
| Icra | TABLOCK |
Cədvəl kilidlərindən istifadə edir (TempDB istifadəsini azaldır, lakin yazmağı bloklayır) | DBCC CHECKDB ('BigDB', TABLOCK) |
MAXDOP = number |
Paralellik parametrlərini ləğv edir | DBCC CHECKDB ('MyDB', MAXDOP = 2) |
|
| Faydalılıq | ESTIMATEONLY |
Tələb olunan TempDB sahəsini hesablayır. (faktik yoxlama yoxdur) | DBCC CHECKDB ('MyDB', ESTIMATEONLY) |
4. Nəticələrinizi Anlamaq
DBCC CHECKDB, icrasının müvəffəqiyyətlə başa çatıb-çatmamasından asılı olaraq fərqli nəticələr verəcəkdir. Onları ətraflı izah edək.
4.1 CHECKDB İcrası Uğurla Tamamlandı
DBCC CHECKDB icrası uğurla başa çatarsa, o, verilənlər bazanızın sağlamlıq vəziyyətindən asılı olaraq müxtəlif növ nəticələr haqqında məlumat verəcəkdir.
4.1.1 Heç bir problem tapılmadı
DBCC CHECKDB heç bir problem tapmazsa, siz buna oxşar çıxışı görəcəksiniz:
CHECKDB found 0 allocation errors and 0 consistency errors in database 'YourDatabase'.
DBCC execution completed. If DBCC printed error messages, contact your system administrator.
Bu nəticə göstərir ki, verilənlər bazanız bütün yoxlanılan strukturlar arasında mükəmməl bütövlüyü qoruyur.
4.1.2 Tapılan Korrupsiya Səhvləri
DBCC CHECKDB korrupsiya xətası aşkar etdikdə, o, aşağıdakı strukturu olan xəta mesajı barədə məlumat verəcək:
Ciddilik Səviyyəsi Bələdçisi:
- Səviyyə 16-19: İstifadəçi tərəfindən düzəldilə bilən səhvlər, tez-tez kiçik korrupsiya
- Səviyyə 20-24: Sistem səhvləri, təcili diqqət tələb edən ciddi korrupsiya
- Səviyyə 25: Ölümcül səhvlər, verilənlər bazası əlçatmaz ola bilər
Ümumi səhvlərə aşağıdakılar daxildir:
- Səhifə yoxlama cəmi uğursuzluqları (mesaj 824)
- Yerləşdirmə xətaları (mesaj 8928)
- İndeks ardıcıllığı problemləri (mesaj 8964)
Mesaj strukturunu başa düşmək cavab tədbirlərini prioritetləşdirməyə və müvafiq bərpa strategiyalarını müəyyən etməyə kömək edir.
4.1.3 Ümumi məlumat və xəbərdarlıq mesajları
Bütün DBCC CHECKDB çıxışları ciddi problemləri göstərmir. O, həmçinin bəzi məlumat və xəbərdarlıq mesajlarını çıxara bilər, o cümlədən:
- Təmir bəyanatları – Kiçik problemləri həll etmək üçün təmir əmrlərini təklif edən mesajlar
- Ayrılma xəbərdarlıqları – Məlumata girişə təsir etməyən yerin ayrılması ilə bağlı xəbərdarlıqlar
- Performans tövsiyələri – İndeksin saxlanması və optimallaşdırılması üçün təkliflər
- Məlumat bildirişləri – Dərhal hərəkət tələb etməyən ümumi status mesajları
Bu mesajlar təcili tədbirlər tələb edən kritik korrupsiya ilə müntəzəm texniki xidmət pəncərələri zamanı həll edilə bilən xırda problemlər arasında fərq qoyarkən dəyərli texniki təlimatlar təqdim edir.
Nümunə xəbərdarlıq mesajı:
DBCC results for 'InventoryDatabase'.
Msg 2570, Level 16, State 3, Line 1
Page (2:8452), slot 17 in object ID 485577333, index ID 0, partition ID 72057594038845456,
alloc unit ID 72057594042515968 (type "In-row data").
Column "ProductPrice" value is out of range for data type "decimal". Update column to a legal value.
There are 45892 rows in 1247 pages for object "Products".
CHECKDB found 0 allocation errors and 1 consistency errors in table 'Products' (object ID 485577333).
CHECKDB found 0 allocation errors and 1 consistency errors in database 'InventoryDatabase'.
4.2 CHECKDB icrasını dayandırır
CHECKDB müxtəlif səbəblərə görə icrası zamanı dayandırılırsa, o, səhv mesajı verəcək və aşağıdakı dövlət kodu ilə xəta jurnalı əlavə edəcək:
| dövlət | Təsvir: Hər maşın üçün dəqiq və cəlbedici təsvir yazmağınız daha yaxşı olar. Bunun üçün chat.openai.com saytına daxil olaraq, orada aşağıdakı kimi sorğu yarada bilərsiniz: "Create the most powerful SEO-friendly text about [avtomobil modeli] for rentacarXNUMX.az site." Qeyd: "[avtomobil modeli]" yerinə təsvirini yazmaq istədiyiniz avtomobilin adını qeyd edin. |
|---|---|
0 |
8930 nömrəli xəta qaldırıldı. Bu, DBCC əmrini dayandıran metadata pozuntusunu göstərir. |
1 |
8967 nömrəli xəta qaldırıldı. Daxili DBCC xətası var idi. |
2 |
Fövqəladə rejim verilənlər bazası təmiri zamanı nasazlıq baş verdi. |
3 |
Bu, DBCC əmrini dayandıran metadata pozuntusunu göstərir. |
4 |
Təsdiq və ya giriş pozuntusu aşkar edildi. |
5 |
DBCC əmrini dayandıran naməlum xəta baş verdi. |
Misal xəta mesajı:
Failed:(-1073548784) Executing the query "DBCC CHECKDB('InventoryDB') WITH NO_INFOMSGS" failed with the following error: "There is insufficient system memory to run this query.Check terminated. A failure was detected while collecting facts. Possibly tempdb out of space or a system table is inconsistent. Check previous errors.". Possible failure reasons: Problems with the query, "ResultSet" property not set correctly, parameters not set correctly, or connection not established correctly.
or
2024-11-18 09:52:41.38 spid35 I/O error (bad page ID) detected during read at offset 0x00000024886000 in file 'C:\Data\MSSQL\DATA\SalesDatabase.mdf'.
Misal xəta qeydi:
11/15/2024 09:23:17,spid52,Unknown,DBCC CHECKDB (SalesDatabase) WITH all_errormsgs no_infomsgs executed by CORP\dbadmin terminated abnormally due to error state 3. Elapsed time: 1 hours 32 minutes 18 seconds.
Belə bir vəziyyətdə, kimi alternativ inkişaf etmiş variantları sınaya bilərsiniz DataNumen SQL Recovery verilənlər bazanızdakı korrupsiyanı düzəltmək üçün.
5. Korrupsiya Səhvlərinin Təmiri
5.1 Yedəkləmə və Bərpa: Ən Təhlükəsiz Düzəliş
DBCC CHECKDB korrupsiya səhvlərini müəyyən etdikdə, təmiz ehtiyat nüsxədən bərpa etmək ən təhlükəsiz və m.ost etibarlı həll. Bu yanaşma əsas korrupsiya səbəblərini aradan qaldırarkən məlumatların bütövlüyünə zəmanət verir. Bərpa etməzdən əvvəl istifadə edərək ehtiyat nüsxəsinin bütövlüyünü yoxlayın YALNIZ DOĞRULAB BƏRPA EDİN əmrləri istifadə edin və məlumat itkisini minimuma endirmək üçün vaxtında bərpa variantlarını nəzərdən keçirin. Kök səbəb təhlili üçün korrupsiya təfərrüatlarını sənədləşdirin, çünki aparat problemləri və ya proqram təminatı xətaları təkrarlanmanın qarşısını almaq üçün əlavə diqqət tələb edə bilər.
5.2 Səhifə Səviyyəsində Korrupsiya Həllləri
Kiçik məlumat hissələrinə təsir edən təcrid olunmuş səhifə pozuntuları üçün, SQL Server Enterprise Edition, verilənlər bazasını tam bərpa etmədən xüsusi zədələnmiş səhifələri təmir edən səhifələrin bərpası imkanlarını təklif edir. Bu qabaqcıl texnika tam bərpa modeli və cari log ehtiyat nüsxələrini tələb edir.
Addım-addım səhifənin bərpası prosesi:
- Zədələnmiş səhifəni müəyyənləşdirin CHECKDB xəta mesajından (məsələn, səhifə 1:256)
- Cari jurnalın ehtiyat nüsxəsini götürün son əməliyyatları tutmaq üçün:
BACKUP LOG YourDatabase TO DISK = 'C:\Backups\YourDB_Log.trn'
- Zədələnmiş səhifəni bərpa edin m-dənost son tam ehtiyat:
RESTORE DATABASE YourDatabase PAGE = '1:256'
FROM DISK = 'C:\Backups\YourDB_Full.bak'
- Diferensial ehtiyat nüsxəsini tətbiq edin (əgər varsa):
RESTORE DATABASE YourDatabase PAGE = '1:256'
FROM DISK = 'C:\Backups\YourDB_Diff.bak'
- Bütün log ehtiyat nüsxələrini tətbiq edin yeni yaradılmış da daxil olmaqla ardıcıllıqla:
RESTORE LOG YourDatabase FROM DISK = 'C:\Backups\YourDB_Log1.trn'
RESTORE LOG YourDatabase FROM DISK = 'C:\Backups\YourDB_Log2.trn'
-- Continue for all log backups in order
RESTORE LOG YourDatabase FROM DISK = 'C:\Backups\YourDB_Log.trn'
- Son jurnalın ehtiyat nüsxəsini çıxarın və bərpa edin səhifəni aktuallaşdırmaq üçün:
BACKUP LOG YourDatabase TO DISK = 'C:\Backups\YourDB_Final.trn'
RESTORE LOG YourDatabase FROM DISK = 'C:\Backups\YourDB_Final.trn'
Kritik olmayan məlumatlar üçün alternativ: Korrupsiya kritik olmayan məlumatlara təsir edərsə, zədələnmiş strukturları bərpa etməzdən əvvəl təsirsiz sətirləri yeni cədvəllərə ixrac edə bilərsiniz:
-- Export good data to a new table
SELECT * INTO YourTable_Backup
FROM YourTable
WHERE NOT EXISTS (SELECT 1 FROM corrupt_page_list WHERE page_id = target_page)
-- Drop and recreate the corrupted table
DROP TABLE YourTable
-- Recreate table structure and reload clean data
5.3 İndeks Korrupsiyasının Tez Düzəlişləri
İndeks korrupsiyası tez-tez əsas cədvəl məlumatlarına təsir etmədən indeks strukturlarını yenidən yaradan əməliyyatların yenidən qurulmasına yaxşı cavab verir:
ALTER INDEX ALL ON YourTable REBUILD
Bu yanaşma xüsusilə qruplaşdırılmamış indeks korrupsiyası üçün yaxşı işləyir, çünki yenidən qurulması mənbə cədvəli məlumatlarından indeks səhifələrini bərpa edir, bütün orijinal məlumatları qoruyarkən korrupsiyanı effektiv şəkildə aradan qaldırır.
6. REPAIR_REBUILD və REPAIR_ALLOW_DATA_LOSS istifadə edin
Əvvəlki üsulların hamısı uğursuz olarsa və ya mümkün deyilsə, verilənlər bazasını təmir etmək üçün REPAIR_REBUILD və REPAIR_ALLOW_DATA_LOSS seçimlərindən istifadə edə bilərsiniz.
6.1 REPAIR_REBUILD (Daha təhlükəsiz seçim):
- üçün istifadə edin: İndekslərin pozulması və kiçik yerləşdirmə səhvləri
- Məlumat təhlükəsizliyi: Məlumatı silmədən korrupsiyanı düzəltməyə çalışır
- Risk səviyyəsi: Aşağı - məlumat itkisi gözlənilmir
- Tipik ssenarilər: Qeyri-klasterli indeks korrupsiyası, kiçik metadata problemləri
- Əmr nümunəsi:
DBCC CHECKDB('YourDB', REPAIR_REBUILD)
6.2 REPAIR_ALLOW_DATA_LOSS (Son çıxış yolu):
- üçün istifadə edin: Ehtiyat nüsxələr mövcud olmadıqda ciddi korrupsiya
- Məlumat təhlükəsizliyi: Verilənlər bazası funksionallığını bərpa etmək üçün zədələnmiş məlumatları silə bilər
- Risk səviyyəsi: Yüksək - daimi məlumat itkisi mümkündür
- Tipik ssenarilər: Səhifənin pozulması, sistem cədvəlinin zədələnməsi, ayırma zənciri xətaları
- Əmr nümunəsi:
DBCC CHECKDB('YourDB', REPAIR_ALLOW_DATA_LOSS)
6.3 Bu Seçimlər üçün Ən Yaxşı Təcrübələr:
- Həmişə test edin mümkün olduqda verilənlər bazası nüsxələrində təmir əməliyyatları
- Həmişə yedəkləyin bu seçimləri işə salmadan əvvəl
- Bütün dəyişiklikləri sənədləşdirin uyğunluq və problemlərin aradan qaldırılması məqsədləri üçün
- Verilənlər bazasını tək istifadəçi rejiminə təyin edin təmir əməliyyatlarına başlamazdan əvvəl
Normalda cəhd etməliyik REPAIR_REBUILD birinci variant. Əgər uğursuz olarsa, cəhd edin DATA_İTİRİNİ TƏMİR EDİN seçin.
6.4 REPAIR_ALLOW_DATA_LOSS Nəticələri
6.4.1 Təmir məlumat itkisi ilə uğurla başa çatır
Bəzən də DATA_İTİRİNİ TƏMİR EDİN seçim uğurlu olacaq, lakin bəzi məlumatlar lost təmirdən sonra.
Aşağıda bir neçə nümunə mesaj var:
CHECKDB found 0 allocation errors and 103 consistency errors in database ‘SalesDatabase’.
CHECKDB fixed 0 allocation errors and 103 consistency errors in database ‘SalesDatabase’.
DBCC execution completed. If DBCC printed error messages, contact your system administrator.
Msg 8909, Level 16, State 1, Line 8
Table error: Object ID 0, index ID -1, partition ID 0, alloc unit ID 45035996309880832 (type Unknown), page ID (1:553) contains an incorrect page ID in its page header. The PageId in the page header = (0:0).
The error has been repaired.
Msg 8939, Level 16, State 98, Line 8
Table error: Object ID 0, index ID -1, partition ID 0, alloc unit ID 111464090777419776 (type Unknown), page (0:0). Test (IS_OFF (BUF_IOERR, pBUF->bstat)) failed. Values are 2057 and -1.
Could not repair this error.
Bunun səbəbi, DBCC CHECKDB bəzi zədələnmiş qeydləri tərk edərək verilənlər bazasını düzəldir, lakin əslində, most onlardan hələ də vasitəsilə bərpa oluna bilər DataNumen SQL Recovery.
Nümunə faylları:
| SQL Server variant | Zədələnmiş MDF faylı | MDF faylı tərəfindən düzəldildi DataNumen SQL Recovery |
| SQL Server 2014 | Xəta10_1.mdf (SMS 8909 və ardınca Mesaj 8939) (600 qeyd lost REPAIR_ALLOW_DATA_LOSS ilə) | Error10_1_fixed.mdf (Qeyd yoxdur lost) |
| SQL Server 2014 | Xəta10_2.mdf (SMS 8909 və ardınca Mesaj 8939) (6000 qeyd(50%) lost REPAIR_ALLOW_DATA_LOSS ilə) | Error10_2_fixed.mdf (Cəmi 100 qeyd lost) |
| SQL Server 2014 | Xəta7.mdf (100 qeyd lost REPAIR_ALLOW_DATA_LOSS ilə) | Error7_fixed.mdf (Yalnız bir rekord lost) |
6.4.2 Təmirdə Uğursuzluqlar – Peşəkar Həll variantını nəzərdən keçirin
If DATA_İTİRİNİ TƏMİR EDİN uğursuz olarsa, bir və ya bir neçə səhv mesajı çıxaracaq.
Aşağıda bəzi nümunələr verilmişdir:
DBCC results for ‘MyDatabase’.
CHECKDB found 0 allocation errors and 0 consistency errors in database ‘MyDatabase’.
Msg 824, Level 24, State 2, Line 8
SQL Server detected a logical consistency-based I/O error: incorrect checksum (expected: 0xea8a9a2f; actual: 0x37adbff8). It occurred during a read of page (1:28) in database ID 39 at offset 0x00000000038000 in file ‘MyDatabase.mdf’. Additional messages in the SQL Server error log or system event log may provide more detail. This is a severe error condition that threatens database integrity and must be corrected immediately. Complete a full database consistency check (DBCC CHECKDB). This error can be caused by many factors; for more information, see SQL Server Books Online.
Msg 7909, Level 20, State 1, Line 8
The emergency-mode repair failed.You must restore from backup.
Msg 8992, Level 16, State 1, Line 8
Check Catalog Msg 3852, State 1: Row (object_id=69) in sys.objects (type=S ) does not have a matching row (object_id=69,column_id=1) in sys.columns.
Msg 8945, Level 16, State 1, Line 8
Table error: Object ID 41, index ID 1 will be rebuilt.
Could not repair this error.
Msg 2510, Level 16, State 17, Line 8
DBCC checkdb error: This system table index cannot be recreated.
Repair: The Nonclustered index successfully rebuilt for the object “sysidxstats” in database “MyDatabase”.
Msg 8921, Level 16, State 1, Line 8
Check terminated. A failure was detected while collecting facts. Possibly tempdb out of space or a system table is inconsistent. Check previous errors.
Msg 8998, Level 16, State 2, Line 8
Page errors on the GAM, SGAM, or PFS pages prevent allocation integrity checks in database ID 39 pages from (1:0) to (1:8087). See other errors for cause.
CHECKDB found 1 allocation errors and 0 consistency errors not associated with any single object.
Msg 2575, Level 16, State 1, Line 8
The Index Allocation Map (IAM) page (1:157) is pointed to by the next pointer of IAM page (0:0) in object ID 3, index ID 1, partition ID 196608, alloc unit ID 196608 (type In-row data), but it was not detected in the scan.
Could not repair this error.
CHECKDB found 1 allocation errors and 0 consistency errors in table ‘sys.sysrscols’ (object ID 3).
Msg 8948, Level 16, State 3, Line 8
Database error: Page (1:295) is marked with the wrong type in PFS page (1:1). PFS status 0x70 expected 0x60.
The error has been repaired.
Msg 8905, Level 16, State 1, Line 8
Extent (1:296) in database ID 39 is marked allocated in the GAM, but no SGAM or IAM has allocated it.
The error has been repaired.
Msg 5028, Level 16, State 4, Line 4
The system could not activate enough of the database to rebuild the log.
Msg 5125, Level 24, State 2, Line 2
File ‘C:Program FilesMicrosoft SQL ServerMSSQL12.SQL2014MSSQLDATASalesDatabase.mdf’ appears to have been truncated by the operating system. Expected size is 5120 KB but actual size is 5112 KB.
Msg 3414, Level 21, State 1, Line 2
An error occurred during recovery, preventing the database ‘SalesDatabase’ (39:0) from restarting. Diagnose the recovery errors and fix them, or restore from a known good backup. If errors are not corrected or expected, contact Technical Support.
Msg 3313, Level 21, State 1, Line 2
During redoing of a logged operation in database ‘SalesDatabase’, an error occurred at log record ID (135:752:2). Typically, the specific failure is previously logged as an error in the Windows Event Log service. Restore the database from a full backup, or repair the database.
Bu ssenarilərdə, kimi peşəkar bir həll istifadə etməlisiniz DataNumen SQL Recovery verilənlər bazanızı düzəltmək üçün.
Nümunə faylları
| SQL Server variant | Zədələnmiş MDF faylı | MDF faylı tərəfindən düzəldildi DataNumen SQL Recovery |
| SQL Server 2014 | Xəta1_3.mdf (Tək Mesaj 824) | Error1_3_fixed.mdf |
| SQL Server 2014 | Xəta1_1.mdf (Davamlı Mesaj 824 xətaları) | Xəta1_1_fixed.mdf |
| SQL Server 2014 | Xəta1_2.mdf ((SMS 824, ardınca Mesaj 7909) | Error1_2_fixed.mdf |
| SQL Server 2014 | Xəta4_1.mdf (SMS 8992 və ardınca Mesaj 3852) | Error4_1_fixed.mdf |
| SQL Server 2014 | Xəta4_2.mdf (SMS 8992 və ardınca Mesaj 3852) | Error4_2_fixed.mdf |
| SQL Server 2014 | Error5.mdf (SMS 8945) | Error5_fixed.mdf |
| SQL Server 2014 | Error6.mdf (SMS 2510) | Error6_fixed.mdf |
| SQL Server 2014 | Error2.mdf (SMS 2575) | Error2_fixed.mdf |
| SQL Server 2014 | Error11.mdf (SMS 8905) | Error11_fixed.mdf |
| SQL Server 2014 | Error3.mdf (SMS 5028) | Error3_fixed.mdf |
| SQL Server 2014 | Xəta8.mdf (SMS 5125) | Xəta8_fixed.mdf |
| SQL Server 2014 | Error9.mdf (SMS 3313) | Error9_fixed.mdf |
7. Ən yaxşı təcrübələr
7.1 Daimi CHECKDB Əməliyyatlarının Planlaşdırılması
Yüksək əməliyyat sistemləri üçün gündəlik yoxlamalarla kritik istehsal məlumat bazaları üçün həftəlik DBCC CHECKDB icrasını həyata keçirin. Performans təsirini minimuma endirmək üçün aşağı istifadə dövrlərində əməliyyatları planlaşdırın və verilənlər bazası ölçüsünə və texniki xidmət pəncərələrinə əsaslanaraq tam yoxlamalar və YALNIZ FİZİKSAL seçimlər arasında fırlanmanı nəzərdən keçirin. vasitəsilə avtomatlaşdırılmış planlaşdırma SQL Server Agent mərkəzləşdirilmiş monitorinq və xəbərdarlıq imkanları təmin edərkən ardıcıl icranı təmin edir.
7.2 Performans Təsirinin İdarə Edilməsi
DBCC CHECKDB əməliyyatları potensial olaraq eyni vaxtda istifadəçi fəaliyyətinə təsir edən əhəmiyyətli sistem resurslarını istehlak edir. Performans təsir nümunələrini anlamaq üçün yoxlamalar zamanı CPU istifadəsini, yaddaş sərfiyyatını və disk giriş/çıxışını izləyin. Aylıq texniki xidmət pəncərələri üçün tam doğrulama ehtiyatı saxlayaraq, müntəzəm yoxlamalar üçün NOINDEX seçimlərindən istifadə etməyi nəzərdən keçirin. Dürüstlüyün yoxlanılması dövrlərində gözləntiləri idarə etmək üçün sorğunun vaxt aşımı uzantılarını və istifadəçi ünsiyyət strategiyalarını həyata keçirin.
7.3 Baxım pəncərəsinin planlaşdırılması
DBCC CHECKDB cədvəlini ehtiyat əməliyyatlar, indeksin yenidən qurulması və statistika yeniləmələri kimi digər texniki xidmət fəaliyyətləri ilə əlaqələndirin. Performansın azalmasına və ya vaxt aşımı problemlərinə səbəb ola biləcək resurs tutumlu əməliyyatların üst-üstə düşməsindən çəkinin. Məlumatların həcmi artdıqca tam bütövlüyün yoxlanılması üçün adekvat vaxt təmin etməklə verilənlər bazası ölçüsünün artım proqnozlarına əsaslanaraq texniki xidmət pəncərələrini planlaşdırın.
7.4 Avtomatlaşdırılmış monitorinq və xəbərdarlıq
Set SQL Server DBCC CHECKDB korrupsiyanı müəyyən etdikdə agent dərhal administratorları xəbərdar etmək üçün xəbərdarlıq edir. Dürüstlüyün yoxlanılması nəticələrini çıxaran və kateqoriyalara ayıran jurnal təhlili həllərini tətbiq edin, trend təhlili və proaktiv problemlərin müəyyənləşdirilməsinə imkan verin. Fərqli korrupsiyanın şiddət dərəcələri üçün cavab müddəti və məsul işçi heyəti müəyyən edən eskalasiya prosedurlarını yaradın.
8. DBCC CHECKTABLE: Yüngül Alternativ
8.1 CHECKDB əvəzinə CHECKTABLE-dən nə vaxt istifadə edilməlidir
DBCC CHECKTABLE fərdi cədvəllər üçün diqqətli bütövlüyün yoxlanılmasını təmin edərək onu ideal hala gətirir tarxüsusi verilənlər bazası obyektlərində problemlərin aradan qaldırılması və texniki xidmət əldə edilmişdir. Xüsusi cədvəllərin performans məsələlərini araşdırarkən, tam verilənlər bazası yoxlamaları arasında kritik biznes cədvəllərini təsdiqləyərkən və ya vaxt məhdudiyyətləri verilənlər bazasının tam təsdiqlənməsinə mane olduqda CHECKTABLE-dən istifadə edin. Bu yanaşma, tam CHECKDB əməliyyatlarının mövcud texniki xidmət pəncərələrini aşdığı böyük verilənlər bazalarında xüsusilə dəyərlidir.
8.2 DBCC CHECKTABLE Sintaksis və Nümunələr
Əsas CHECKTABLE əmri tarxüsusi cədvəllər alır:
DBCC CHECKTABLE('YourTable')
CHECKDB kimi, CHECKTABLE da performansın optimallaşdırılması üçün NOINDEX və korrupsiyanın həlli üçün təmir parametrləri daxil olmaqla müxtəlif variantları dəstəkləyir. Cədvəlin dəqiq identifikasiyası üçün sxem adlarını da təyin edə bilərsiniz:
DBCC CHECKTABLE('SchemaName.TableName', NOINDEX)
bu tarəldə edilmiş yanaşma, iş saatları ərzində sistemin işini qoruyarkən dənəvər bütövlüyün yoxlanılmasına imkan verir.
8.3 Böyük verilənlər bazaları üçün performans üstünlükləri
CHECKTABLE əməliyyatları tam verilənlər bazası yoxlamalarından əhəmiyyətli dərəcədə daha sürətli tamamlanır və kritik cədvəllərin düzgünlüyünün daha tez-tez yoxlanılmasına imkan verir. Bu yanaşma həftəlik və ya aylıq cədvəllər üçün hərtərəfli CHECKDB əməliyyatlarını rezerv edərkən əsas biznes cədvəllərinin gündəlik təsdiqlənməsinə imkan verir. Azaldılmış resurs istehlakı CHECKTABLE-i minimum istifadəçi təsiri ilə istehsal mühitinin icrası üçün uyğun edir.
9. CHECKDB uğursuz olduqda
DBCC CHECKDB müxtəlif ssenarilərdə uğursuz olacaq, o cümlədən:
- DBCC CHECKDB icrası anormal şəkildə bitir
- DBCC CHECKDB icrası uğurla tamamlanır, lakin təmir variantları verilənlər bazasını təmir edə bilməmək.
Bu ssenarilərdə verilənlər bazasındakı pozğunluqları düzəltmək üçün bizə daha peşəkar alət lazımdır.
9.1 Giriş DataNumen SQL Recovery
DataNumen SQL Recovery daha təkmil imkanlar təmin edir:
- Ən yaxşı bərpa dərəcəsi sənayedə.
- Ciddi şəkildə zədələnmiş verilənlər bazası fayllarını bərpa edin.
- Cədvəllər, indekslər, görünüşlər, tetikleyiciler, qaydalar və standart parametrlər daxil olmaqla bütün verilənlər bazası obyektlərini bərpa edin.
- Saxlanılan prosedurları, skalyar funksiyaları, daxili cədvəl qiymətli funksiyaları və çoxstatementli cədvəl qiymətli funksiyaları bərpa edin.
- Həmişə silinmiş qeydləri bərpa edin.
- Şifrələnmiş obyektlərin şifrəsini açın SQL Server məlumat bazaları.
- MDF fayllarını toplu şəkildə təmir edin.
- Kompleks təmir variantları.
- Təkmil giriş və hesabat.
- Hamı üçün dəstək SQL Server versiyasını.
- Texniki dəstəyin mövcudluğu
- Daimi yeniləmələr və təkmilləşdirmələr
9.2 Müvəffəqiyyət dərəcəsinin müqayisəsi
Bərpa müvəffəqiyyət dərəcələri əhəmiyyətli dərəcədə fərqlənir:
- DBCC CHECKDB & CHECKTABLE: 1.27% orta bərpa dərəcəsi
- DataNumen: 92.6% bərpa dərəcəsi
Aşağıda tam rəqabətli müqayisə:
9.3 Ağır Korrupsiyadan Bərpa
Ağır hallarda inkişaf etmiş imkanlar:
- Fiziki cəhətdən zədələnmiş anbardan bərpa
- Formatlanmış disklərdən və ya qəzalı sistemlərdən bərpa
- Disk şəkillərindən, ehtiyat fayllarından, virtual maşın disk fayllarından, tempdən bərpa edinrary faylları və s.
9.4 Peşəkar həlləri nə vaxt nəzərdən keçirməli
- Ən son yedəkləmə əlçatanlığı yoxdur
- DBCC CHECKDB uğursuz oldu
- Ağır korrupsiya ssenariləri
- Kritik biznes məlumatları ilə məşğul olmaq
- Zaman kritik olanda
- Maksimum bərpa vacib olduqda
10. Suallar
10.1 Əsas İstifadə Sualları
S: DBCC CHECKDB-ni nə qədər tez-tez işə salmalıyam?
A: Kritik istehsal verilənlər bazaları üçün həftəlik CHECKDB-ni işə salın. Yüksək əməliyyat sistemləri üçün hər həftə tam çeklərlə YALNIZ PHYSICAL_opsiyasından istifadə edərək gündəlik çekləri nəzərdən keçirin. İnkişaf verilənlər bazası aylıq yoxlanıla bilər.
S: DBCC CHECKDB-ni canlı istehsal verilənlər bazasında işlədə bilərəmmi?
A: Bəli, DBCC CHECKDB istifadəçiləri bloklamadan onlayn verilənlər bazalarında işləyə bilər. Bununla belə, o, əhəmiyyətli resurs sərf edir, ona görə də onu aşağı aktivlik dövrlərində planlaşdırın və sistemin işinə nəzarət edin.
S: CHECKDB və CHECKTABLE arasında fərq nədir?
A: CHECKDB bütün verilənlər bazasını yoxlayır, CHECKTABLE isə fərdi cədvəllərə diqqət yetirir. Üçün CHECKTABLE istifadə edin tarproblemlərin aradan qaldırılması və ya bütün verilənlər bazasını skan etmədən xüsusi cədvəlləri yoxlamaq lazım olduqda.
10.2 Performans və Resurs Sualları
S: DBCC CHECKDB nə üçün mənim böyük verilənlər bazamda bu qədər uzun çəkir?
A: CHECKDB müddəti verilənlər bazası ölçüsündən, aparat performansından və istifadə edilən seçimlərdən asılıdır. Daha sürətli yoxlamalar üçün PHYSICAL_ONLY-dən və ya qruplaşdırılmamış indeksləri keçmək üçün NOINDEX-dən istifadə edin. Xüsusi resursları olan təmir pəncərələri zamanı işləməyi düşünün.
S: CHECKDB-yə nə qədər tempdb sahəsi lazımdır?
A: Ümumiyyətlə, CHECKDB əməliyyatları zamanı verilənlər bazası ölçüsünün 10-15%-ni tempdb üçün ayırın. Dəqiq təxminlər əldə etmək üçün YALNIZ ESTIMATEONLY seçimindən istifadə edin: DBCC CHECKDB('YourDB') WITH ESTIMATEONLY
S: Çalışan CHECKDB əməliyyatını ləğv edə bilərəmmi?
A: Bəli, sessiya ID-də KILL əmrindən istifadə edərək CHECKDB-ni ləğv edə bilərsiniz. Bununla belə, ləğvetmə verilənlər bazası bütövlüyü haqqında məlumat vermir və siz onu daha sonra yenidən işə salmalı olacaqsınız.
10.3 Sualların həllində səhvlər
S: CHECKDB səhvlər tapdı – panik etməliyəm?
A: Panik etməyin, amma tez hərəkət edin. Birincisi, CHECKDB-nin müvəffəqiyyətlə tamamlanıb, lakin korrupsiya aşkar edilib-edilmədiyini və ya CHECKDB-nin özünün işə düşmədiyini müəyyənləşdirin. Səhvlərin yalnız qruplaşdırılmamış indekslərə (daha az kritik) və ya cədvəl məlumatlarına (daha ciddi) təsir edib-etmədiyini yoxlayın.
S: REPAIR_ALLOW_DATA_LOSS-dan nə vaxt istifadə etməliyəm?
A: Yalnız istifadə edilə bilən ehtiyat nüsxələriniz olmadıqda və məlumat itkisi ümumi verilənlər bazası itkisi ilə müqayisədə məqbuldursa, mütləq son çarə kimi. Həmişə əvvəlcə ehtiyat nüsxədən bərpa etməyə çalışın, çünki təmir əməliyyatları daimi məlumat itkisinə səbəb ola bilər.
S: “Verilənlər bazasında ardıcıllıq xətaları” və “bölüşdürmə xətaları” nə deməkdir?
A: Ayrılma səhvləri necə təsir edir SQL Server disk sahəsinin istifadəsini izləyir, ardıcıllıq səhvləri isə məlumat və ya indeks strukturları ilə bağlı problemləri göstərir. Hər ikisi diqqət tələb edir, lakin ardıcıllıq xətaları adətən məlumatların əlçatanlığına daha birbaşa təsir göstərir.
10.4 Yedəkləmə və Bərpa Sualları
S: Mən ehtiyat nüsxələrimdə CHECKDB-ni işə salmalıyam?
A: Mütləq! Test serverləri üçün ehtiyat nüsxələri bərpa etdikdən sonra CHECKDB-ni işə salın. Bu, ehtiyat nüsxəsinin bütövlüyünü yoxlayır və həqiqətən korrupsiyadan xilas olmağınızı təmin edir. Mümkünsə bu prosesi avtomatlaşdırın.
S: Mənim ehtiyat nüsxəm də xarab olub – indi nə olacaq?
A: Təmiz birini tapana qədər köhnə ehtiyat nüsxələrini sınayın. Təmiz ehtiyat nüsxələri yoxdursa, kimi peşəkar bərpa həllərini nəzərdən keçirin DataNumen SQL Recovery. Gələcək hadisələrin qarşısını almaq üçün korrupsiya vaxt qrafikini sənədləşdirin.
S: Səhifəni tam verilənlər bazası bərpa etmədən bərpa edə bilərmi?
A: Bəli, ancaq içəridə SQL Server Tam bərpa modeli və cari log ehtiyat nüsxələri ilə Enterprise Edition. Səhifənin bərpası təcrid olunmuş səhifənin korlanması üçün işləyir, lakin müvafiq prosedurlardan sonra diqqətli icra tələb edir.
10.5 Problemlərin aradan qaldırılması üçün suallar
S: CHECKDB “yersiz” səhvləri ilə uğursuz olur – mən nə edə bilərəm?
A: Tempdb yaddaşını boşaltın, tempdb-ni daha sürətli yaddaşa köçürün və ya tempdb istifadəsini azaltmaq üçün TABLOCK seçimindən istifadə edin. Resurs tələblərini azaltmaq üçün CHECKDB-ni NOINDEX və ya PHYSICAL_ONLY ilə işlətməyi düşünün.
S: CHECKDB çıxışından hansı cədvəldə korrupsiyanın olduğunu necə müəyyən edə bilərəm?
A: Səhv mesajlarında “obyekt ID” nömrələrini axtarın, sonra istifadə edin: SELECT OBJECT_NAME(object_id) cədvəl adlarını tapmaq üçün. Səhv mesajlarına həmçinin dəqiq yer müəyyən etmək üçün səhifə və yuva nömrələri daxildir.
S: Aparat problemləri CHECKDB-nin yanlış pozitivlər bildirməsinə səbəb ola bilərmi?
A: Bəli, uğursuz aparat (xüsusilə yaddaş) CHECKDB əməliyyatları arasında görünən və yox olan fasilələrlə korrupsiyaya səbəb ola bilər. Səhvlər uyğun gəlmirsə, I/O alt sisteminizi araşdırın və nümunələri təsdiqləmək üçün çoxsaylı yoxlamalar aparın.
10.6 Təkmil Konfiqurasiya Sualları
S: Hansı iz bayraqları CHECKDB performansını yaxşılaşdıra bilər?
A: İzləmə bayrağı 2562 CHECKDB-ni tək dəst kimi işə salmaqla performansı yaxşılaşdıra bilər. İzləmə bayrağı 2549 verilənlər bazası faylları ayrı disklərdə olduqda kömək edir. Bunları diqqətlə istifadə edin və əvvəlcə qeyri-istehsalda sınaqdan keçirin.
S: CHECKDB monitorinqini və xəbərdarlığını necə avtomatlaşdıra bilərəm?
A: istifadə SQL Server 8930, 8939 və digər xəta nömrələri üçün agent xəbərdarlıqları. CHECKDB nəticələrini çıxarmaq üçün jurnalın təhlilini həyata keçirin və hər hansı korrupsiya aşkarlanması üçün bildirişlər yaradın. Ola Hallengrenin skriptləri kimi baxım həlli çərçivələrindən istifadə etməyi düşünün.
S: EXTENDED_LOGICAL_CHECKS seçimindən istifadə etməliyəm?
A: Yalnız mürəkkəb məntiqi korrupsiyadan şübhələnirsinizsə və adekvat performans yükünüz varsa. Bu seçim indeksləşdirilmiş görünüşlər, XML indeksləri və məkan indeksləri üzərində əlavə yoxlamalar aparır, lakin icra müddətini əhəmiyyətli dərəcədə artırır.
11. Nəticə
11.1 Əsas Nöqtələrin xülasəsi
11.1.1 Əsas DBCC CHECKDB Əmrlərinin xülasəsi
Hərtərəfli verilənlər bazası yoxlanışı üçün əsas DBCC CHECKDB sintaksisini mənimsəyin, performansın optimallaşdırılması üçün NOINDEX və YALNIZ PHYSICAL_opsiyalarından istifadə edin və CHECKTABLE-i anlayın. tarCədvəl yoxlaması alındı. Bu fundamental əmrlər korrupsiyanın erkən aşkarlanmasına və sistemli bütövlüyün monitorinqinə imkan verən proaktiv verilənlər bazası texniki xidmətinin əsasını təşkil edir.
11.1.2 Ən Yaxşı Təcrübələrə dair Xatırlatma
Dürüstlük yoxlamalarını həyata keçirməzdən əvvəl həmişə cari ehtiyat nüsxələrini saxlayın, verilənlər bazası kritikliyinə əsaslanaraq müntəzəm CHECKDB əməliyyatlarını planlaşdırın və dərhal korrupsiya xəbərdarlığı üçün avtomatlaşdırılmış monitorinq həyata keçirin. Unutmayın ki, müntəzəm monitorinq vasitəsilə qarşısının alınması reaktiv yanaşmaları üstələyir və standart alətlər kifayət etmədikdə peşəkar bərpa həlləri dəyərli ehtiyat seçimləri təmin edir.
11.2 DBCC CHECKDB-dən nə vaxt istifadə etməli. Qabaqcıl Həllər
Daimi bütövlük monitorinqi və kiçik korrupsiyanın həlli üçün DBCC CHECKDB-dən istifadə edin, eyni zamanda daxili təmir imkanlarından kənar ciddi korrupsiya ssenariləri üçün peşəkar bərpa alətlərini ehtiyatda saxlayın. Qərar çərçivəsi ehtiyat nüsxələrin mövcudluğunu, məlumatların kritikliyini, vaxt məhdudiyyətlərini və korrupsiyanın şiddətini nəzərə almalıdır. Uğurlu verilənlər bazası administratorları standart yanaşmaların qeyri-adekvat olduğu sübut edildikdə, müntəzəm CHECKDB monitorinqini hərtərəfli ehtiyat strategiyaları və qabaqcıl bərpa seçimləri haqqında məlumatlılıqla birləşdirir.
11.3 DBA-lar üçün sürətli gündəlik sağlamlıq yoxlama siyahısı
DBCC CHECKDB-ni işlətməklə yanaşı, bu vacib gündəlik təcrübələrlə optimal verilənlər bazası sağlamlığını qoruyun:
1. Ehtiyat nüsxənin bütövlüyünü yoxlayın
- Planlaşdırılmış ehtiyat nüsxələrinin uğurla tamamlandığını təsdiqləyin
- Ehtiyat nüsxənin oxuna biləcəyini yoxlamaq üçün YALNIZ BƏRPA VERİFYON istifadə edin
- Saytdan kənar nüsxələrin sinxronlaşdırıldığını və əlçatan olmasını təmin edin
Əlavə məlumatı siz də əldə edə bilərsiniz haqqında hərtərəfli bələdçimiz SQL Server nüsxəsini.
2. Ardıcıllıq Statusunu nəzərdən keçirin
- Avtomatlaşdırılmış DBCC CHECKDB nəticələrini gecəlik qaçışlardan yoxlayın
- Monitor SQL Server korrupsiya xəbərdarlıqları üçün xəta qeydləri
- Hər hansı dürüstlük nasazlığını dərhal araşdırın
3. Server sağlamlığına nəzarət edin
- CPU, yaddaş və disk giriş/çıxış göstəricilərini yoxlayın
- Tempdb boşluğunun mövcudluğunu yoxlayın
- Bloklanmış prosesləri və uzun müddət davam edən sorğuları müəyyən edin
4. Deadlock Fəaliyyətini izləyin
- Sistem sağlamlığı hadisələrindən çıxılmaz vəziyyət qrafiklərini nəzərdən keçirin
- Problemli sorğuları müəyyənləşdirin və inkişaf qrupları ilə optimallaşdırın
- Çıxılmaz qurbanların sayına və biznes təsirinə nəzarət edin
Vacib xatırlatmalar
- Tez-tez verilənlər bazası kiçilməsindən çəkinin - parçalanmağı artırır və performansı aşağı salır. Yalnız ciddi məlumatların silinməsindən sonra həqiqətən lazım olduqda kiçildin.
- Monitorinq tapşırıqlarını avtomatlaşdırın istifadə SQL Server Kritik məsələlər üçün xəbərdarlıqlarla agent işləri və ya texniki xidmət planları.
- Fəlakətin bərpası prosedurlarını sınaqdan keçirin ehtiyat nüsxələrin bərpa oluna biləcəyini və bərpa məqsədlərinin əldə edilə biləcəyini təmin etmək üçün həftəlik.
Bu gündəlik yoxlama siyahısını müntəzəm DBCC CHECKDB əməliyyatları ilə birləşdirərək, siz proaktiv monitorinq və operativ problem cavabı vasitəsilə verilənlər bazası mühitiniz üçün hərtərəfli qoruma yaradırsınız.
12. References
- Microsoft Learn. "DBCC CHECKDB (Transact-SQL)." SQL Server Documentation. Microsoft korporasiyası.
https://learn.microsoft.com/en-us/sql/t-sql/database-console-commands/dbcc-checkdb-transact-sql?view=sql-server-ver17 - Microsoft Learn. “DBCC CHECKDB tərəfindən bildirilən verilənlər bazası ardıcıllığı xətaları ilə bağlı problemləri həll edin.” SQL Server Documentation. Microsoft korporasiyası.
https://learn.microsoft.com/en-us/troubleshoot/sql/database-engine/database-file-operations/troubleshoot-dbcc-checkdb-errors



