ഡാറ്റാബേസ് അഴിമതി എല്ലാമാണ് SQL Server അഡ്മിനിസ്ട്രേറ്ററുടെ പേടിസ്വപ്നം. നിർണായക ബിസിനസ്സ് ഡാറ്റ ആക്സസ് ചെയ്യാൻ കഴിയാത്തതോ വിശ്വസനീയമല്ലാത്തതോ ആയിത്തീരുമ്പോൾ, സിost ഡാറ്റാബേസ് ആരോഗ്യം നിലനിർത്തുന്നതിനും അഴിമതി തടയുന്നതിനും DBCC CHECKDB ഉപയോഗിക്കുന്നതിനെക്കുറിച്ച് നിങ്ങൾ അറിയേണ്ടതെല്ലാം ഈ സമഗ്ര ഗൈഡ് ഉൾക്കൊള്ളുന്നു, കൂടാതെ സ്റ്റാൻഡേർഡ് ഉപകരണങ്ങൾ പര്യാപ്തമല്ലാത്തപ്പോൾ വിപുലമായ വീണ്ടെടുക്കൽ പരിഹാരങ്ങളും.
1 പ്രാധാന്യം SQL Server ഡാറ്റാബേസ് ഹെൽത്ത്
1.1 എന്ത് ഡാറ്റാബേസ് കറപ്ഷൻ സിostബിസിനസുകൾ
ഇന്ന്, എം.ost ബിസിനസുകൾ അവരുടെ നിർണായക ഡാറ്റ ഡാറ്റാബേസുകളിലാണ് സൂക്ഷിക്കുന്നത്. ഡാറ്റാബേസ് അഴിമതി സംഭവിക്കുമ്പോൾ, അനന്തരഫലങ്ങൾ വിനാശകരമായിരിക്കും:
- സാമ്പത്തിക നഷ്ടങ്ങൾ ഡാറ്റാ നഷ്ടം മൂലം പ്രതിവർഷം ശരാശരി $2.3 മില്യൺ, ഹാർഡ്വെയർ പരാജയവും അഴിമതിയുമാണ് പ്രാഥമിക കാരണങ്ങൾ (EMC കോർപ്പറേഷൻ)
- ബിസിനസ് ക്ലോഷർ നിരക്കുകൾ ഹാർഡ്വെയർ തകരാറുകൾ മൂലം ഡാറ്റാ നഷ്ടം നേരിടുന്ന 50% ചെറുകിട ബിസിനസുകളും രണ്ട് വർഷത്തിനുള്ളിൽ പ്രവർത്തനം അവസാനിപ്പിക്കുമെന്ന് കാണിക്കുമ്പോൾ, വിനാശകരമായ ഡാറ്റാ നഷ്ടം നേരിടുന്ന 94% ബിസിനസുകളും നിലനിൽക്കില്ല.
- ഡാറ്റ കറപ്ഷൻ ഫ്രീക്വൻസി മിഷൻ-ക്രിട്ടിക്കൽ ആപ്ലിക്കേഷനുകളുടെ 20% പ്രതിവർഷം ബാധിക്കുന്നു, ഇത് ബിസിനസ് തുടർച്ചയെ തടസ്സപ്പെടുത്തുന്നു (ഗാർട്ട്നർ ഗവേഷണം)
- ഹാർഡ്വെയറുമായി ബന്ധപ്പെട്ട അഴിമതി ഹാർഡ് ഡ്രൈവ് ക്രാഷുകളിലൂടെയും സിസ്റ്റം പരാജയങ്ങളിലൂടെയും ഉണ്ടാകുന്ന ഡാറ്റാ നഷ്ട സംഭവങ്ങളിൽ 67% വും സംഭവിക്കുന്നു, 40% ഡാറ്റാ നഷ്ടവും ഹാർഡ്വെയർ തകരാറുകൾ മൂലമാണ്.
- സോഫ്റ്റ്വെയർ കറപ്ഷൻ സിosts തീവ്രതയും വ്യാപ്തിയും അനുസരിച്ച് ആയിരക്കണക്കിന് മുതൽ ദശലക്ഷക്കണക്കിന് ഡോളർ വരെ വ്യത്യാസപ്പെടാം, 82% ബിസിനസുകളും ആസൂത്രിതമല്ലാത്ത തടസ്സങ്ങൾ അനുഭവിക്കുന്നു, അവിടെ അഴിമതി ഒരു പ്രധാന കാരണമായിരുന്നു.
1.2 പതിവ് ആരോഗ്യ പരിശോധനകൾ എന്തുകൊണ്ട് നിർണായകമാണ്
സാധ്യതയുള്ള രോഗങ്ങൾ നേരത്തേ കണ്ടെത്തുന്നതിന് ആളുകൾക്ക് പതിവായി ആരോഗ്യ പരിശോധനകൾ ആവശ്യമാണ്. അതുപോലെ, ഡാറ്റാബേസുകൾക്കും പതിവായി ആരോഗ്യ പരിശോധനകൾ ആവശ്യമാണ്:
- സാധ്യമായ അഴിമതി നേരത്തേ കണ്ടെത്തി അത് ഉടനടി കൈകാര്യം ചെയ്യുക, അങ്ങനെ ബിസിനസിന് വിനാശകരമായ പ്രത്യാഘാതങ്ങൾക്ക് കാരണമായേക്കാവുന്ന പ്രശ്നങ്ങൾ ഗുരുതരവും വ്യാപകവുമാകുന്നത് തടയുക.
- ഡാറ്റാബേസ് ഒപ്റ്റിമൽ പ്രകടനത്തിൽ പ്രവർത്തിക്കുന്നുണ്ടെന്ന് ഉറപ്പാക്കുക.
- സിost ഒരു ഡാറ്റാബേസ് ദുരന്തം സംഭവിച്ചതിന് ശേഷമുള്ള റിയാക്ടീവ് ഡാറ്റ വീണ്ടെടുക്കലിനേക്കാൾ വളരെ കുറവാണ് മുൻകരുതൽ ഡാറ്റാബേസ് ആരോഗ്യ പരിശോധനകൾ.
1.3 ഡാറ്റാബേസ് ഇന്റഗ്രിറ്റി കമാൻഡുകളുടെ ആമുഖം
SQL Server ഡാറ്റാബേസ് ആരോഗ്യം നിലനിർത്തുന്നതിനായി നിരവധി ബിൽറ്റ്-ഇൻ കമാൻഡുകൾ നൽകുന്നു, DBCC പരിശോധിക്കുക എം ആയി സേവനം ചെയ്യുന്നുost സമഗ്രമായ സമഗ്രത പരിശോധനാ ഉപകരണം ലഭ്യമാണ്. വ്യക്തിഗത പട്ടികകൾ മുതൽ മുഴുവൻ ഡാറ്റാബേസ് സ്ഥിരത വരെയുള്ള നിങ്ങളുടെ ഡാറ്റാബേസ് ഘടനയുടെ വിവിധ വശങ്ങൾ പരിശോധിക്കുന്നതിന് ഈ കമാൻഡുകൾ ഒരുമിച്ച് പ്രവർത്തിക്കുന്നു, നിങ്ങളുടെ ഡാറ്റ സുരക്ഷിതമായും ആക്സസ് ചെയ്യാവുന്നതുമായി നിലനിർത്തുന്ന ഒരു സമ്പൂർണ്ണ പരിപാലന തന്ത്രം രൂപപ്പെടുത്തുന്നു.
2. DBCC CHECKDB എന്താണ്?
DBCC പരിശോധിക്കുക is SQL Serverഡാറ്റാബേസ് സമഗ്രത പരിശോധിക്കുന്നതിനും അഴിമതി പ്രശ്നങ്ങൾ തിരിച്ചറിയുന്നതിനുമുള്ള പ്രാഥമിക ഉപകരണം.
- ഇതൊരു T-SQL സ്റ്റേറ്റ്മെന്റാണ്, ഒരു GUI ടൂൾ അല്ല.
- പോലുള്ള സാധാരണ രീതികളിലൂടെ നിങ്ങൾക്ക് ഇത് നടപ്പിലാക്കാൻ കഴിയും SQL Server മാനേജ്മെന്റ് സ്റ്റുഡിയോ (എസ്എസ്എംഎസ്), SQL Server ഏജന്റ്, SQLCMD, മുതലായവ.
2.1 നിങ്ങളുടെ ഡാറ്റാബേസിൽ CHECKDB യഥാർത്ഥത്തിൽ എന്താണ് പരിശോധിക്കുന്നത്
നിങ്ങൾ DBCC CHECKDB പ്രവർത്തിപ്പിക്കുമ്പോൾ, കമാൻഡ് നിങ്ങളുടെ ഡാറ്റാബേസ് ഘടനയിലുടനീളം ഒന്നിലധികം മൂല്യനിർണ്ണയ ലെയറുകൾ നിർവ്വഹിക്കുന്നു:
- പേജ് ചെക്ക്സം പരിശോധന ഭൗതികമായ കറപ്ഷനും ഹാർഡ്വെയർ സംബന്ധമായ പ്രശ്നങ്ങളും കണ്ടെത്തുന്നതിന്
- സൂചിക സ്ഥിരത സ്ഥിരീകരണം ശരിയായ ഡാറ്റ വീണ്ടെടുക്കലും അന്വേഷണ പ്രകടനവും ഉറപ്പാക്കാൻ
- അലോക്കേഷൻ ഘടന പരിശോധനകൾ കൃത്യമായ സ്ഥല ഉപയോഗവും പേജ് വിഹിതവും ഉറപ്പാക്കാൻ
- റഫറൻഷ്യൽ ഇന്റഗ്രിറ്റി പരീക്ഷ ബന്ധപ്പെട്ട പട്ടികകൾക്കും വിദേശ കീ ബന്ധങ്ങൾക്കും ഇടയിൽ
- സിസ്റ്റം പട്ടിക സ്ഥിരത പരിശോധന ഉറപ്പാക്കാൻ SQL Serverയുടെ ആന്തരിക മെറ്റാഡാറ്റ വിശ്വസനീയമായി തുടരുന്നു.
- ഡാറ്റ പേജ് ലിങ്കേജ് പരിശോധന ശരിയായ പേജ് ചെയിൻ സമഗ്രത ഉറപ്പാക്കാൻ
- ഡാറ്റാബേസ് സ്കീമ സ്ഥിരത വസ്തുക്കളുടെ നിർവചനങ്ങളും ആശ്രിതത്വങ്ങളും സാധൂകരിക്കാൻ
ഈ സമഗ്രമായ പരിശോധനകൾ ഉപയോക്തൃ ഡാറ്റയും സിസ്റ്റം ഘടനകളും ഉൾക്കൊള്ളുന്നു, ഇത് നിങ്ങളുടെ ഡാറ്റാബേസിന്റെ ആരോഗ്യ നിലയെക്കുറിച്ച് പൂർണ്ണമായ ദൃശ്യപരത നൽകുന്നു.
3. DBCC CHECKDB പ്രവർത്തിപ്പിക്കൽ: ഘട്ടം ഘട്ടമായി
3.1 മുൻവ്യവസ്ഥകൾ
ഏതെങ്കിലും DBCC CHECKDB പ്രവർത്തനം നടപ്പിലാക്കുന്നതിന് മുമ്പുള്ള ചെക്ക്ലിസ്റ്റ് ചുവടെയുണ്ട്:
- ഡാറ്റാബേസ് ബാക്കപ്പ് പൂർത്തിയാക്കുക - അഴിമതി കണ്ടെത്തിയാലോ നന്നാക്കൽ പ്രവർത്തനങ്ങൾ ആവശ്യമായി വന്നാലോ നിങ്ങളുടെ സുരക്ഷാ വലയായി സമഗ്രത പരിശോധനകൾ നടത്തുന്നതിന് മുമ്പ് ഒരു പൂർണ്ണ ബാക്കപ്പ് സൃഷ്ടിക്കുക.
- ശരിയായ അനുമതികൾ – DBCC CHECKDB കമാൻഡുകൾ എക്സിക്യൂട്ട് ചെയ്യുന്നതിന് നിങ്ങൾക്ക് sysadmin അല്ലെങ്കിൽ db_owner അനുമതികൾ ആവശ്യമാണ്.
- മതിയായ സിസ്റ്റം ഉറവിടങ്ങൾ:
- മെമ്മറി: ഡാറ്റാബേസ് വലുപ്പത്തിന്റെ 25%
- Tempdb സ്പെയ്സ്: ഡാറ്റാബേസ് വലുപ്പത്തിന്റെ 10-15%
- സിപിയു: അറ്റകുറ്റപ്പണി സമയത്ത് 50-70% ലഭ്യത
- I/O: ഹെവി റീഡ് പ്രവർത്തനങ്ങൾ പ്രതീക്ഷിക്കുക.
- ഡാറ്റാബേസ് ആക്സസിബിലിറ്റി – CHECKDB എല്ലാ ഡാറ്റാബേസ് പേജുകളിലേക്കും വായനാ ആക്സസ് ആവശ്യപ്പെടുന്നതിനാൽ, നിങ്ങളുടെ ഡാറ്റാബേസ് ആക്സസ് ചെയ്യാനാകുമെന്നും നിയന്ത്രിത അവസ്ഥയിലല്ലെന്നും പരിശോധിക്കുക.
3.2 അടിസ്ഥാന കമാൻഡ്
എസ്ost അടിസ്ഥാന DBCC CHECKDB കമാൻഡിൽ മൂന്ന് സാധാരണ വ്യതിയാനങ്ങൾ ഉൾപ്പെടുന്നു:
(1) നിലവിലെ ഡാറ്റാബേസ് പരിശോധിക്കുക (പാരാമീറ്ററുകൾ ഇല്ല):
DBCC CHECKDB
(2) ഒരു ഡാറ്റാബേസിന്റെ പേര് അനുസരിച്ച് പരിശോധിക്കുക:
DBCC CHECKDB ('YourDatabaseName')
(3) ഐഡി പ്രകാരം ഒരു ഡാറ്റാബേസ് പരിശോധിക്കുക:
DBCC CHECKDB(5) -- Replace 5 with your database ID
ഈ അടിസ്ഥാന കമാൻഡ് എല്ലാ പട്ടികകളും, സൂചികകളും, സിസ്റ്റം ഘടനകളും പരിശോധിച്ചുകൊണ്ട് നിർദ്ദിഷ്ട ഡാറ്റാബേസിന്റെ പൂർണ്ണമായ സമഗ്രത പരിശോധന നടത്തുന്നു. സ്പെയ്സുകളില്ലാത്ത സ്റ്റാൻഡേർഡ് നാമങ്ങളുള്ള ഡാറ്റാബേസുകൾക്ക്, നിങ്ങൾക്ക് ഉദ്ധരണികൾ ഒഴിവാക്കാം. കമാൻഡ് പൂർത്തിയാകുന്നതുവരെ പ്രവർത്തിക്കും, പുരോഗതി സന്ദേശങ്ങളും അന്തിമ ഫലങ്ങളും പ്രദർശിപ്പിക്കും. ചെറിയ ഡാറ്റാബേസുകൾക്കോ നിങ്ങൾക്ക് മതിയായ അറ്റകുറ്റപ്പണി സമയം ലഭ്യമാകുമ്പോഴോ ഈ അടിസ്ഥാന വാക്യഘടന തികച്ചും പ്രവർത്തിക്കുന്നു.
DBCC CHECKDB പ്രവർത്തിപ്പിക്കുന്നതിന്റെ ഒരു സ്ക്രീൻഷോട്ട് താഴെ കൊടുത്തിരിക്കുന്നു SQL Server മാനേജ്മെന്റ് സ്റ്റുഡിയോ (എസ്എസ്എംഎസ്):
3.3 പൂർണ്ണമായ ഓപ്ഷനുകൾ
DBCC CHECKDB-യുടെ പൂർണ്ണ ഓപ്ഷനുകൾ ചുവടെ:
വർഗ്ഗം | ഓപ്ഷൻ | വിവരണം | DBCC CHECKDB ഉദാഹരണം |
---|---|---|---|
നന്നാക്കൽ ഓപ്ഷനുകൾ | REPAIR_REBUILD |
ഡാറ്റ നഷ്ടപ്പെടാതെയുള്ള അറ്റകുറ്റപ്പണികൾ (ഉദാ: സൂചിക പുനർനിർമ്മാണങ്ങൾ) | DBCC CHECKDB ('MyDB', REPAIR_REBUILD) |
REPAIR_FAST |
അറ്റകുറ്റപ്പണികൾ ഇല്ല. പിന്നിലേക്ക് പൊരുത്തപ്പെടൽ മാത്രം. | DBCC CHECKDB ('MyDB', REPAIR_FAST) |
|
REPAIR_ALLOW_DATA_LOSS |
എല്ലാ പിശകുകളും പരിഹരിക്കുന്നു (ഡാറ്റ നഷ്ടപ്പെട്ടേക്കാം) | DBCC CHECKDB ('CorruptDB', REPAIR_ALLOW_DATA_LOSS) |
|
സ്കോപ്പ് നിയന്ത്രണം | NOINDEX |
ക്ലസ്റ്റർ ചെയ്യാത്ത സൂചിക പരിശോധനകൾ ഒഴിവാക്കുന്നു | DBCC CHECKDB ('LargeDB', NOINDEX) |
PHYSICAL_ONLY |
ഭൗതിക സംഭരണത്തിന്റെ സമഗ്രത മാത്രം പരിശോധിക്കുന്നു (പേജുകൾ/രേഖകൾ) | DBCC CHECKDB ('ProdDB', PHYSICAL_ONLY) |
|
DATA_PURITY |
ലോജിക്കൽ കോളം-മൂല്യ പിശകുകൾക്കായുള്ള പരിശോധനകൾ (ഉദാഹരണത്തിന്, അസാധുവായ തീയതികൾ) | DBCC CHECKDB ('OldDB', DATA_PURITY) |
|
EXTENDED_LOGICAL_CHECKS |
ആഴത്തിലുള്ള ലോജിക്കൽ പരിശോധനകൾ (സൂചികമാക്കിയ കാഴ്ചകൾ, XML/സ്പേഷ്യൽ സൂചികകൾ) | DBCC CHECKDB ('ComplexDB', EXTENDED_LOGICAL_CHECKS) |
|
Put ട്ട്പുട്ട് നിയന്ത്രണം | ALL_ERRORMSGS |
എല്ലാ പിശകുകളും കാണിക്കുന്നു (സ്ഥിരസ്ഥിതി: ഒരു ഒബ്ജക്റ്റിന് 200) | DBCC CHECKDB ('MyDB', ALL_ERRORMSGS) |
NO_INFOMSGS |
വിവര സന്ദേശങ്ങൾ മറയ്ക്കുന്നു | DBCC CHECKDB ('MyDB', NO_INFOMSGS) |
|
പ്രകടനം | TABLOCK |
ടേബിൾ ലോക്കുകൾ ഉപയോഗിക്കുന്നു (TempDB ഉപയോഗം കുറയ്ക്കുന്നു, പക്ഷേ എഴുതുന്നത് തടയുന്നു) | DBCC CHECKDB ('BigDB', TABLOCK) |
MAXDOP = number |
സമാന്തരത്വ ക്രമീകരണങ്ങൾ അസാധുവാക്കുന്നു | DBCC CHECKDB ('MyDB', MAXDOP = 2) |
|
യൂട്ടിലിറ്റി | ESTIMATEONLY |
ആവശ്യമായ TempDB സ്ഥലം കണക്കാക്കുന്നു. (യഥാർത്ഥ പരിശോധനയില്ല) | DBCC CHECKDB ('MyDB', ESTIMATEONLY) |
4. നിങ്ങളുടെ ഫലങ്ങൾ മനസ്സിലാക്കൽ
DBCC CHECKDB അതിന്റെ നിർവ്വഹണം വിജയകരമായി പൂർത്തിയാകുമോ ഇല്ലയോ എന്നതിനെ അടിസ്ഥാനമാക്കി വ്യത്യസ്ത ഫലങ്ങൾ നൽകും. നമുക്ക് അവ വിശദമായി വിശദീകരിക്കാം.
4.1 CHECKDB എക്സിക്യൂഷൻ വിജയകരമായി പൂർത്തിയായി.
DBCC CHECKDB എക്സിക്യൂഷൻ വിജയകരമായി പൂർത്തിയാകുകയാണെങ്കിൽ, നിങ്ങളുടെ ഡാറ്റാബേസിന്റെ ആരോഗ്യ നിലയെ ആശ്രയിച്ച് അത് വ്യത്യസ്ത തരം ഫലങ്ങൾ റിപ്പോർട്ട് ചെയ്യും.
4.1.1 പ്രശ്നങ്ങളൊന്നും കണ്ടെത്തിയില്ല.
DBCC CHECKDB പ്രശ്നങ്ങളൊന്നും കണ്ടെത്തിയില്ലെങ്കിൽ, നിങ്ങൾക്ക് ഇതുപോലുള്ള ഔട്ട്പുട്ട് കാണാൻ കഴിയും:
CHECKDB found 0 allocation errors and 0 consistency errors in database 'YourDatabase'.
DBCC execution completed. If DBCC printed error messages, contact your system administrator.
പരിശോധിച്ച എല്ലാ ഘടനകളിലും നിങ്ങളുടെ ഡാറ്റാബേസ് തികഞ്ഞ സമഗ്രത നിലനിർത്തുന്നുവെന്ന് ഈ ഫലം സൂചിപ്പിക്കുന്നു.
4.1.2 കണ്ടെത്തിയ അഴിമതി പിശകുകൾ
DBCC CHECKDB ഒരു കറപ്ഷൻ പിശക് കണ്ടെത്തുമ്പോഴെല്ലാം, അത് ഇനിപ്പറയുന്ന ഘടനയുള്ള ഒരു പിശക് സന്ദേശം റിപ്പോർട്ട് ചെയ്യും:
തീവ്രതാ ലെവൽ ഗൈഡ്:
- ലെവൽ 16-19: ഉപയോക്താവിന് തിരുത്താവുന്ന പിശകുകൾ, പലപ്പോഴും ചെറിയ അഴിമതികൾ
- ലെവൽ 20-24: സിസ്റ്റം പിശകുകൾ, അടിയന്തര ശ്രദ്ധ ആവശ്യമുള്ള ഗുരുതരമായ അഴിമതി
- ലെവൽ 25: ഗുരുതരമായ പിശകുകൾ, ഡാറ്റാബേസ് ആക്സസ് ചെയ്യാൻ കഴിഞ്ഞേക്കില്ല.
സാധാരണ പിശകുകളിൽ ഇവ ഉൾപ്പെടുന്നു:
- പേജ് ചെക്ക്സം പരാജയങ്ങൾ (സന്ദേശം 824)
- അലോക്കേഷൻ പിശകുകൾ (സന്ദേശം 8928)
- സൂചിക സ്ഥിരത പ്രശ്നങ്ങൾ (സന്ദേശം 8964)
സന്ദേശ ഘടന മനസ്സിലാക്കുന്നത് പ്രതികരണ പ്രവർത്തനങ്ങൾക്ക് മുൻഗണന നൽകാനും ഉചിതമായ വീണ്ടെടുക്കൽ തന്ത്രങ്ങൾ നിർണ്ണയിക്കാനും സഹായിക്കുന്നു.
4.1.3 പൊതുവായ വിവര, മുന്നറിയിപ്പ് സന്ദേശങ്ങൾ
എല്ലാ DBCC CHECKDB ഔട്ട്പുട്ടും ഗുരുതരമായ പ്രശ്നങ്ങളെ സൂചിപ്പിക്കുന്നില്ല. ഇത് ചില വിവര, മുന്നറിയിപ്പ് സന്ദേശങ്ങളും ഔട്ട്പുട്ട് ചെയ്തേക്കാം, അവയിൽ ചിലത് ഇവയാണ്:
- സ്റ്റേറ്റ്മെന്റുകൾ നന്നാക്കുക - ചെറിയ പ്രശ്നങ്ങൾ പരിഹരിക്കുന്നതിനുള്ള റിപ്പയർ കമാൻഡുകൾ നിർദ്ദേശിക്കുന്ന സന്ദേശങ്ങൾ
- അലോക്കേഷൻ മുന്നറിയിപ്പുകൾ – ഡാറ്റ ആക്സസിനെ ബാധിക്കാത്ത സ്ഥല വിഹിതത്തെക്കുറിച്ചുള്ള മുന്നറിയിപ്പുകൾ
- പ്രകടന ശുപാർശകൾ – സൂചിക പരിപാലനത്തിനും ഒപ്റ്റിമൈസേഷനുമുള്ള നിർദ്ദേശങ്ങൾ.
- വിവര അറിയിപ്പുകൾ – ഉടനടി നടപടി ആവശ്യമില്ലാത്ത പൊതുവായ സ്റ്റാറ്റസ് സന്ദേശങ്ങൾ
ഈ സന്ദേശങ്ങൾ വിലപ്പെട്ട അറ്റകുറ്റപ്പണി മാർഗ്ഗനിർദ്ദേശം നൽകുന്നു, അതേസമയം ഉടനടി നടപടി ആവശ്യമായി വരുന്ന ഗുരുതരമായ അഴിമതികളും പതിവ് അറ്റകുറ്റപ്പണി സമയത്ത് പരിഹരിക്കാവുന്ന ചെറിയ പ്രശ്നങ്ങളും തമ്മിൽ വേർതിരിച്ചറിയുന്നു.
മുന്നറിയിപ്പ് സന്ദേശത്തിന്റെ ഉദാഹരണം:
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 എക്സിക്യൂഷൻ അബോർട്ടുകൾ
വിവിധ കാരണങ്ങളാൽ CHECKDB അതിന്റെ എക്സിക്യൂഷൻ സമയത്ത് നിർത്തലാക്കുകയാണെങ്കിൽ, അത് ഒരു പിശക് സന്ദേശം റിപ്പോർട്ട് ചെയ്യുകയും താഴെയുള്ള സ്റ്റേറ്റ് കോഡ് ഉപയോഗിച്ച് ഒരു പിശക് ലോഗ് ചേർക്കുകയും ചെയ്യും:
അവസ്ഥ | വിവരണം |
---|---|
0 |
പിശക് നമ്പർ 8930 ഉയർന്നു. ഇത് DBCC കമാൻഡ് അവസാനിപ്പിച്ച മെറ്റാഡാറ്റയിലെ ഒരു അഴിമതിയെ സൂചിപ്പിക്കുന്നു. |
1 |
പിശക് നമ്പർ 8967 ഉയർന്നു. ഒരു ആന്തരിക DBCC പിശക് ഉണ്ടായിരുന്നു. |
2 |
എമർജൻസി മോഡ് ഡാറ്റാബേസ് നന്നാക്കൽ സമയത്ത് ഒരു പരാജയം സംഭവിച്ചു. |
3 |
ഇത് DBCC കമാൻഡ് അവസാനിപ്പിച്ച മെറ്റാഡാറ്റയിലെ ഒരു അഴിമതിയെ സൂചിപ്പിക്കുന്നു. |
4 |
ഒരു അവകാശവാദ ലംഘനമോ ആക്സസ് ലംഘനമോ കണ്ടെത്തി. |
5 |
DBCC കമാൻഡ് അവസാനിപ്പിക്കുന്ന ഒരു അജ്ഞാത പിശക് സംഭവിച്ചു. |
ഉദാഹരണ പിശക് സന്ദേശം:
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'.
ഉദാഹരണ പിശക് ലോഗ്:
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.
അത്തരമൊരു സാഹചര്യത്തിൽ, നിങ്ങൾക്ക് ഇതര നൂതന ഓപ്ഷനുകൾ പരീക്ഷിക്കാം, ഉദാഹരണത്തിന് DataNumen SQL Recovery നിങ്ങളുടെ ഡാറ്റാബേസിലെ അഴിമതി പരിഹരിക്കാൻ.
5. അഴിമതി പിശകുകൾ പരിഹരിക്കൽ
5.1 ബാക്കപ്പും പുനഃസ്ഥാപനവും: ഏറ്റവും സുരക്ഷിതമായ പരിഹാരം
DBCC CHECKDB അഴിമതി പിശകുകൾ തിരിച്ചറിയുമ്പോൾ, ഒരു ക്ലീൻ ബാക്കപ്പിൽ നിന്ന് പുനഃസ്ഥാപിക്കുന്നത് ഏറ്റവും സുരക്ഷിതവും most വിശ്വസനീയമായ പരിഹാരം. ഈ സമീപനം ഡാറ്റ സമഗ്രത ഉറപ്പുനൽകുന്നതിനൊപ്പം അടിസ്ഥാന അഴിമതി കാരണങ്ങൾ ഇല്ലാതാക്കുന്നു. പുനഃസ്ഥാപിക്കുന്നതിനുമുമ്പ്, ബാക്കപ്പ് സമഗ്രത പരിശോധിച്ചുറപ്പിക്കുക പരിശോധിച്ചുറപ്പിച്ച് പുനഃസ്ഥാപിക്കുക കമാൻഡുകൾ ഉപയോഗിക്കുക, ഡാറ്റ നഷ്ടം കുറയ്ക്കുന്നതിന് പോയിന്റ്-ഇൻ-ടൈം വീണ്ടെടുക്കൽ ഓപ്ഷനുകൾ പരിഗണിക്കുക. ഹാർഡ്വെയർ പ്രശ്നങ്ങളോ സോഫ്റ്റ്വെയർ ബഗുകളോ ആവർത്തിക്കുന്നത് തടയാൻ അധിക ശ്രദ്ധ ആവശ്യമായി വന്നേക്കാം എന്നതിനാൽ, മൂലകാരണ വിശകലനത്തിനായി അഴിമതി വിശദാംശങ്ങൾ രേഖപ്പെടുത്തുക.
5.2 പേജ്-ലെവൽ അഴിമതി പരിഹാരങ്ങൾ
ചെറിയ ഡാറ്റ ഭാഗങ്ങളെ ബാധിക്കുന്ന ഒറ്റപ്പെട്ട പേജ് കറപ്ഷന്, SQL Server പൂർണ്ണമായ ഡാറ്റാബേസ് പുനഃസ്ഥാപനം കൂടാതെ തന്നെ കേടായ ചില പേജുകൾ നന്നാക്കുന്ന പേജ് പുനഃസ്ഥാപന ശേഷികൾ എന്റർപ്രൈസ് പതിപ്പ് വാഗ്ദാനം ചെയ്യുന്നു. ഈ നൂതന സാങ്കേതിക വിദ്യയ്ക്ക് പൂർണ്ണമായ വീണ്ടെടുക്കൽ മോഡലും നിലവിലെ ലോഗ് ബാക്കപ്പുകളും ആവശ്യമാണ്.
ഘട്ടം ഘട്ടമായുള്ള പേജ് പുനഃസ്ഥാപിക്കൽ പ്രക്രിയ:
- കേടായ പേജ് തിരിച്ചറിയുക CHECKDB പിശക് സന്ദേശത്തിൽ നിന്ന് (ഉദാ. പേജ് 1:256)
- നിലവിലെ ലോഗ് ബാക്കപ്പ് എടുക്കുക സമീപകാല ഇടപാടുകൾ പിടിച്ചെടുക്കാൻ:
BACKUP LOG YourDatabase TO DISK = 'C:\Backups\YourDB_Log.trn'
- കേടായ പേജ് പുനഃസ്ഥാപിക്കുക മീ മുതൽost സമീപകാല പൂർണ്ണ ബാക്കപ്പ്:
RESTORE DATABASE YourDatabase PAGE = '1:256'
FROM DISK = 'C:\Backups\YourDB_Full.bak'
- ഡിഫറൻഷ്യൽ ബാക്കപ്പ് പ്രയോഗിക്കുക (ലഭ്യമാണെങ്കിൽ):
RESTORE DATABASE YourDatabase PAGE = '1:256'
FROM DISK = 'C:\Backups\YourDB_Diff.bak'
- എല്ലാ ലോഗ് ബാക്കപ്പുകളും പ്രയോഗിക്കുക ക്രമത്തിൽ, ഇപ്പോൾ സൃഷ്ടിച്ചത് ഉൾപ്പെടെ:
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'
- ഒരു അന്തിമ ലോഗ് ബാക്കപ്പ് എടുത്ത് പുനഃസ്ഥാപിക്കുക പേജ് നിലവിലുള്ളതിലേക്ക് കൊണ്ടുവരാൻ:
BACKUP LOG YourDatabase TO DISK = 'C:\Backups\YourDB_Final.trn'
RESTORE LOG YourDatabase FROM DISK = 'C:\Backups\YourDB_Final.trn'
നിർണായകമല്ലാത്ത ഡാറ്റയ്ക്കുള്ള ബദൽ: അഴിമതി നിർണായകമല്ലാത്ത ഡാറ്റയെ ബാധിക്കുകയാണെങ്കിൽ, കേടായ ഘടനകൾ പുനർനിർമ്മിക്കുന്നതിന് മുമ്പ് നിങ്ങൾക്ക് ബാധിക്കാത്ത വരികൾ പുതിയ പട്ടികകളിലേക്ക് കയറ്റുമതി ചെയ്യാം:
-- 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 സൂചിക അഴിമതി ദ്രുത പരിഹാരങ്ങൾ
അടിസ്ഥാന പട്ടിക ഡാറ്റയെ ബാധിക്കാതെ സൂചിക ഘടനകളെ പുനഃസൃഷ്ടിക്കുന്ന പ്രവർത്തനങ്ങൾ പുനർനിർമ്മിക്കുന്നതിന് ഇൻഡെക്സ് കറപ്ഷൻ പലപ്പോഴും നന്നായി പ്രതികരിക്കുന്നു:
ALTER INDEX ALL ON YourTable REBUILD
ക്ലസ്റ്റേർഡ് അല്ലാത്ത ഇൻഡെക്സ് കറപ്ഷന് ഈ സമീപനം പ്രത്യേകിച്ചും നന്നായി പ്രവർത്തിക്കുന്നു, കാരണം പുനർനിർമ്മിക്കൽ ഉറവിട പട്ടിക ഡാറ്റയിൽ നിന്ന് ഇൻഡെക്സ് പേജുകൾ പുനരുജ്ജീവിപ്പിക്കുന്നു, എല്ലാ യഥാർത്ഥ വിവരങ്ങളും സംരക്ഷിക്കുന്നതിനൊപ്പം ഫലപ്രദമായി കറപ്ഷൻ ഇല്ലാതാക്കുന്നു.
6. REPAIR_REBUILD ഉം REPAIR_ALLOW_DATA_LOSS ഉം ഉപയോഗിക്കുക
മുമ്പത്തെ എല്ലാ രീതികളും പരാജയപ്പെടുകയോ പ്രായോഗികമല്ലെങ്കിലോ, ഡാറ്റാബേസ് നന്നാക്കാൻ നിങ്ങൾക്ക് REPAIR_REBUILD, REPAIR_ALLOW_DATA_LOSS ഓപ്ഷനുകൾ ഉപയോഗിക്കാം.
6.1 REPAIR_REBUILD (സുരക്ഷിത ഓപ്ഷൻ):
- ഉപയോഗിക്കുക: സൂചികയിലെ അഴിമതിയും ചെറിയ വിഹിത വിഹിത പിശകുകളും
- ഡാറ്റ സുരക്ഷ: ഡാറ്റ ഇല്ലാതാക്കാതെ തന്നെ അഴിമതി പരിഹരിക്കാൻ ശ്രമിക്കുന്നു.
- റിസ്ക് ലെവൽ: കുറവ് - ഡാറ്റ നഷ്ടം പ്രതീക്ഷിക്കുന്നില്ല.
- സാധാരണ സാഹചര്യങ്ങൾ: ക്ലസ്റ്റേർഡ് അല്ലാത്ത സൂചിക കറപ്ഷൻ, ചെറിയ മെറ്റാഡാറ്റ പ്രശ്നങ്ങൾ
- കമാൻഡ് ഉദാഹരണം:
DBCC CHECKDB('YourDB', REPAIR_REBUILD)
6.2 REPAIR_ALLOW_DATA_LOSS (അവസാന ആശ്രയം):
- ഉപയോഗിക്കുക: ബാക്കപ്പുകൾ ലഭ്യമല്ലാത്തപ്പോൾ ഗുരുതരമായ അഴിമതി.
- ഡാറ്റ സുരക്ഷ: ഡാറ്റാബേസ് പ്രവർത്തനം പുനഃസ്ഥാപിക്കുന്നതിന് കേടായ ഡാറ്റ ഇല്ലാതാക്കാം.
- റിസ്ക് ലെവൽ: ഉയർന്ന - സ്ഥിരമായ ഡാറ്റ നഷ്ടത്തിന് സാധ്യത
- സാധാരണ സാഹചര്യങ്ങൾ: പേജ് കറപ്ഷൻ, സിസ്റ്റം ടേബിൾ കേടുപാടുകൾ, അലോക്കേഷൻ ചെയിൻ പിശകുകൾ
- കമാൻഡ് ഉദാഹരണം:
DBCC CHECKDB('YourDB', REPAIR_ALLOW_DATA_LOSS)
6.3 ഈ ഓപ്ഷനുകൾക്കുള്ള മികച്ച രീതികൾ:
- എപ്പോഴും പരീക്ഷിക്കുക സാധ്യമാകുമ്പോഴെല്ലാം ഡാറ്റാബേസ് പകർപ്പുകളിലെ അറ്റകുറ്റപ്പണികൾ
- എപ്പോഴും ബാക്കപ്പ് ചെയ്യുക ഈ ഓപ്ഷനുകൾ പ്രവർത്തിപ്പിക്കുന്നതിന് മുമ്പ്
- എല്ലാ മാറ്റങ്ങളും രേഖപ്പെടുത്തുക അനുസരണത്തിനും പ്രശ്നപരിഹാര ആവശ്യങ്ങൾക്കും വേണ്ടി
- ഡാറ്റാബേസ് സിംഗിൾ-യൂസർ മോഡിലേക്ക് സജ്ജമാക്കുക അറ്റകുറ്റപ്പണികൾ നടത്തുന്നതിന് മുമ്പ്
സാധാരണയായി, നമ്മൾ ശ്രമിക്കണം REPAIR_REBUILD ചെയ്യുക ആദ്യം ഓപ്ഷൻ. പരാജയപ്പെട്ടാൽ, ശ്രമിക്കുക REPAIR_ALLOW_DATA_LOSS ഓപ്ഷൻ.
6.4 REPAIR_ALLOW_DATA_LOSS ഫലങ്ങൾ
6.4.1 ഡാറ്റാ നഷ്ടം പരിഹരിക്കുന്നതിനുള്ള വിജയങ്ങൾ
ചിലപ്പോൾ REPAIR_ALLOW_DATA_LOSS ഓപ്ഷൻ വിജയിക്കും, പക്ഷേ ചില ഡാറ്റ l ആണ്ost അറ്റകുറ്റപ്പണിക്ക് ശേഷം.
ചില സാമ്പിൾ സന്ദേശങ്ങൾ താഴെ കൊടുക്കുന്നു:
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.
കാരണം, DBCC CHECKDB ചില കേടായ റെക്കോർഡുകൾ ഉപേക്ഷിച്ച് ഡാറ്റാബേസ് ശരിയാക്കുന്നു, പക്ഷേ വാസ്തവത്തിൽ, most അവയിൽ നിന്ന് ഇപ്പോഴും വീണ്ടെടുക്കാൻ കഴിയും DataNumen SQL Recovery.
സാമ്പിൾ ഫയലുകൾ:
SQL Server പതിപ്പ് | കേടായ MDF ഫയൽ | എംഡിഎഫ് ഫയൽ പരിഹരിച്ചത് DataNumen SQL Recovery |
SQL Server 2014 | പിശക് 10_1.mdf (സന്ദേശം 8909 ന് ശേഷം സന്ദേശം 8939) (600 റെക്കോർഡുകൾ lost REPAIR_ALLOW_DATA_LOSS ഉപയോഗിച്ച്) | പിശക് 10_1_fixed.mdf (രേഖയില്ല lost) |
SQL Server 2014 | പിശക് 10_2.mdf (സന്ദേശം 8909 ന് ശേഷം സന്ദേശം 8939) (6000 റെക്കോർഡുകൾ (50%) lost REPAIR_ALLOW_DATA_LOSS ഉപയോഗിച്ച്) | പിശക് 10_2_fixed.mdf (100 റെക്കോർഡുകൾ മാത്രം lost) |
SQL Server 2014 | പിശക് 7.mdf (100 റെക്കോർഡുകൾ lost REPAIR_ALLOW_DATA_LOSS ഉപയോഗിച്ച്) | പിശക് 7_fixed.mdf (ഒരു റെക്കോർഡ് മാത്രം lost) |
6.4.2 അറ്റകുറ്റപ്പണി പരാജയങ്ങൾ - പ്രൊഫഷണൽ പരിഹാരം പരിഗണിക്കുക.
If REPAIR_ALLOW_DATA_LOSS പരാജയപ്പെട്ടാൽ, അത് ഒന്നോ അതിലധികമോ പിശക് സന്ദേശങ്ങൾ ഔട്ട്പുട്ട് ചെയ്യും.
ചില ഉദാഹരണങ്ങൾ താഴെ കൊടുക്കുന്നു:
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.
ഈ സാഹചര്യങ്ങളിൽ, നിങ്ങൾ ഒരു പ്രൊഫഷണൽ പരിഹാരം ഉപയോഗിക്കേണ്ടതുണ്ട്, ഉദാഹരണത്തിന് DataNumen SQL Recovery നിങ്ങളുടെ ഡാറ്റാബേസ് ശരിയാക്കാൻ.
സാമ്പിൾ ഫയലുകൾ
SQL Server പതിപ്പ് | കേടായ MDF ഫയൽ | എംഡിഎഫ് ഫയൽ പരിഹരിച്ചത് DataNumen SQL Recovery |
SQL Server 2014 | പിശക് 1_3.mdf (സിംഗിൾ മെസ്സേജ് 824) | പിശക് 1_3_fixed.mdf |
SQL Server 2014 | പിശക് 1_1.mdf (തുടർച്ചയായ സന്ദേശം 824 പിശകുകൾ) | പിശക് 1_1_fixed.mdf |
SQL Server 2014 | പിശക് 1_2.mdf ((സന്ദേശം 824 ന് ശേഷം സന്ദേശം 7909) | പിശക് 1_2_fixed.mdf |
SQL Server 2014 | പിശക് 4_1.mdf (സന്ദേശം 8992, തുടർന്ന് സന്ദേശം 3852) | പിശക് 4_1_fixed.mdf |
SQL Server 2014 | പിശക് 4_2.mdf (സന്ദേശം 8992, തുടർന്ന് സന്ദേശം 3852) | പിശക് 4_2_fixed.mdf |
SQL Server 2014 | പിശക് 5.mdf (സന്ദേശം 8945) | പിശക് 5_fixed.mdf |
SQL Server 2014 | പിശക് 6.mdf (സന്ദേശം 2510) | പിശക് 6_fixed.mdf |
SQL Server 2014 | പിശക് 2.mdf (സന്ദേശം 2575) | പിശക് 2_fixed.mdf |
SQL Server 2014 | പിശക് 11.mdf (സന്ദേശം 8905) | പിശക് 11_fixed.mdf |
SQL Server 2014 | പിശക് 3.mdf (സന്ദേശം 5028) | പിശക് 3_fixed.mdf |
SQL Server 2014 | പിശക് 8.mdf (സന്ദേശം 5125) | പിശക് 8_fixed.mdf |
SQL Server 2014 | പിശക് 9.mdf (സന്ദേശം 3313) | പിശക് 9_fixed.mdf |
7. മികച്ച രീതികൾ
7.1 പതിവ് CHECKDB പ്രവർത്തനങ്ങൾ ഷെഡ്യൂൾ ചെയ്യുന്നു
ഉയർന്ന ഇടപാട് സംവിധാനങ്ങൾക്കായി ദിവസേനയുള്ള പരിശോധനകളോടെ, നിർണായകമായ പ്രൊഡക്ഷൻ ഡാറ്റാബേസുകൾക്കായി പ്രതിവാര DBCC CHECKDB എക്സിക്യൂഷൻ നടപ്പിലാക്കുക. പ്രകടന ആഘാതം കുറയ്ക്കുന്നതിന് കുറഞ്ഞ ഉപയോഗ കാലയളവുകളിൽ പ്രവർത്തനങ്ങൾ ഷെഡ്യൂൾ ചെയ്യുക, കൂടാതെ ഡാറ്റാബേസ് വലുപ്പത്തെയും അറ്റകുറ്റപ്പണി വിൻഡോകളെയും അടിസ്ഥാനമാക്കി പൂർണ്ണ പരിശോധനകൾക്കും PHYSICAL_ONLY ഓപ്ഷനുകൾക്കും ഇടയിൽ ഭ്രമണം ചെയ്യുന്നത് പരിഗണിക്കുക. ഓട്ടോമേറ്റഡ് ഷെഡ്യൂളിംഗ് വഴി SQL Server കേന്ദ്രീകൃത നിരീക്ഷണ, മുന്നറിയിപ്പ് കഴിവുകൾ നൽകുമ്പോൾ തന്നെ ഏജന്റ് സ്ഥിരമായ നിർവ്വഹണം ഉറപ്പാക്കുന്നു.
7.2 പ്രകടന ആഘാത മാനേജ്മെന്റ്
DBCC CHECKDB പ്രവർത്തനങ്ങൾ ഗണ്യമായ സിസ്റ്റം ഉറവിടങ്ങൾ ഉപയോഗിക്കുന്നു, ഇത് ഒരേ സമയത്തുള്ള ഉപയോക്തൃ പ്രവർത്തനത്തെ ബാധിക്കാൻ സാധ്യതയുണ്ട്. പ്രകടന ഇംപാക്ട് പാറ്റേണുകൾ മനസ്സിലാക്കാൻ പരിശോധനകൾക്കിടയിൽ CPU ഉപയോഗം, മെമ്മറി ഉപഭോഗം, ഡിസ്ക് I/O എന്നിവ നിരീക്ഷിക്കുക. പ്രതിമാസ അറ്റകുറ്റപ്പണി വിൻഡോകൾക്കായി പൂർണ്ണ വാലിഡേഷൻ റിസർവ് ചെയ്യുന്നതിനായി പതിവ് പരിശോധനകൾക്കായി NOINDEX ഓപ്ഷനുകൾ ഉപയോഗിക്കുന്നത് പരിഗണിക്കുക. സമഗ്രത പരിശോധനാ കാലയളവുകളിൽ പ്രതീക്ഷകൾ കൈകാര്യം ചെയ്യുന്നതിന് ക്വറി ടൈംഔട്ട് എക്സ്റ്റൻഷനുകളും ഉപയോക്തൃ ആശയവിനിമയ തന്ത്രങ്ങളും നടപ്പിലാക്കുക.
7.3 മെയിന്റനൻസ് വിൻഡോ പ്ലാനിംഗ്
ബാക്കപ്പ് പ്രവർത്തനങ്ങൾ, സൂചിക പുനർനിർമ്മാണം, സ്ഥിതിവിവരക്കണക്ക് അപ്ഡേറ്റുകൾ എന്നിവ പോലുള്ള മറ്റ് അറ്റകുറ്റപ്പണി പ്രവർത്തനങ്ങളുമായി DBCC CHECKDB ഷെഡ്യൂളിംഗ് ഏകോപിപ്പിക്കുക. പ്രകടന നിലവാരത്തകർച്ചയ്ക്കോ സമയപരിധി പ്രശ്നങ്ങൾക്കോ കാരണമായേക്കാവുന്ന റിസോഴ്സ്-ഇന്റൻസീവ് പ്രവർത്തനങ്ങൾ ഓവർലാപ്പ് ചെയ്യുന്നത് ഒഴിവാക്കുക. ഡാറ്റാബേസ് വലുപ്പ വളർച്ചാ പ്രൊജക്ഷനുകളെ അടിസ്ഥാനമാക്കി മെയിന്റനൻസ് വിൻഡോകൾ ആസൂത്രണം ചെയ്യുക, ഡാറ്റ വോള്യങ്ങൾ വർദ്ധിക്കുന്നതിനനുസരിച്ച് പൂർണ്ണമായ സമഗ്രത പരിശോധനയ്ക്ക് മതിയായ സമയം ഉറപ്പാക്കുക.
7.4 ഓട്ടോമേറ്റഡ് മോണിറ്ററിംഗും അലേർട്ടിംഗും
സജ്ജമാക്കുന്നു SQL Server DBCC CHECKDB അഴിമതി തിരിച്ചറിയുമ്പോൾ അഡ്മിനിസ്ട്രേറ്റർമാരെ ഉടൻ അറിയിക്കാൻ ഏജന്റ് അലേർട്ടുകൾ നൽകുന്നു. ട്രെൻഡ് വിശകലനവും മുൻകരുതൽ പ്രശ്ന തിരിച്ചറിയലും പ്രാപ്തമാക്കുന്ന, സമഗ്രത പരിശോധനാ ഫലങ്ങൾ വേർതിരിച്ചെടുക്കുകയും വർഗ്ഗീകരിക്കുകയും ചെയ്യുന്ന ലോഗ് പാഴ്സിംഗ് പരിഹാരങ്ങൾ നടപ്പിലാക്കുക. വ്യത്യസ്ത അഴിമതി തീവ്രതാ തലങ്ങൾക്കായി പ്രതികരണ സമയഫ്രെയിമുകളും ഉത്തരവാദിത്തമുള്ള ഉദ്യോഗസ്ഥരും നിർവചിക്കുന്ന എസ്കലേഷൻ നടപടിക്രമങ്ങൾ സൃഷ്ടിക്കുക.
8. DBCC ചെക്ക്ടബിൾ: ഭാരം കുറഞ്ഞ ബദൽ
8.1 CHECKDB-ക്ക് പകരം CHECKTABLE എപ്പോൾ ഉപയോഗിക്കണം
DBCC CHECKTABLE വ്യക്തിഗത പട്ടികകൾക്ക് കേന്ദ്രീകൃത സമഗ്രത പരിശോധന നൽകുന്നു, ഇത് അനുയോജ്യമാക്കുന്നു tarനിർദ്ദിഷ്ട ഡാറ്റാബേസ് വസ്തുക്കളുടെ ട്രബിൾഷൂട്ടിംഗും പരിപാലനവും ലഭിച്ചു. പ്രത്യേക പട്ടികകളിലെ പ്രകടന പ്രശ്നങ്ങൾ അന്വേഷിക്കുമ്പോഴോ, പൂർണ്ണ ഡാറ്റാബേസ് പരിശോധനകൾക്കിടയിൽ നിർണായക ബിസിനസ്സ് പട്ടികകൾ സാധൂകരിക്കുമ്പോഴോ, അല്ലെങ്കിൽ സമയ പരിമിതികൾ പൂർണ്ണ ഡാറ്റാബേസ് സാധൂകരണം തടയുമ്പോഴോ CHECKTABLE ഉപയോഗിക്കുക. പൂർണ്ണ CHECKDB പ്രവർത്തനങ്ങൾ ലഭ്യമായ അറ്റകുറ്റപ്പണി വിൻഡോകൾ കവിയുന്ന വലിയ ഡാറ്റാബേസുകളിൽ ഈ സമീപനം പ്രത്യേകിച്ചും വിലപ്പെട്ടതാണെന്ന് തെളിയിക്കുന്നു.
8.2 DBCC ചെക്ക്ടബിൾ വാക്യഘടനയും ഉദാഹരണങ്ങളും
അടിസ്ഥാന CHECKTABLE കമാൻഡ് tarനിർദ്ദിഷ്ട പട്ടികകൾ ലഭിക്കുന്നു:
DBCC CHECKTABLE('YourTable')
CHECKDB പോലെ, CHECKTABLE പ്രകടന ഒപ്റ്റിമൈസേഷനായി NOINDEX, കറപ്ഷൻ റെസല്യൂഷനുള്ള റിപ്പയർ പാരാമീറ്ററുകൾ എന്നിവയുൾപ്പെടെ വിവിധ ഓപ്ഷനുകളെ പിന്തുണയ്ക്കുന്നു. കൃത്യമായ പട്ടിക തിരിച്ചറിയലിനായി നിങ്ങൾക്ക് സ്കീമ നാമങ്ങളും വ്യക്തമാക്കാം:
DBCC CHECKTABLE('SchemaName.TableName', NOINDEX)
ഈ tarബിസിനസ്സ് സമയങ്ങളിൽ സിസ്റ്റം പ്രകടനം നിലനിർത്തിക്കൊണ്ട് സൂക്ഷ്മമായ സമഗ്രത പരിശോധന നടത്താൻ ഗെറ്റഡ് സമീപനം അനുവദിക്കുന്നു.
8.3 വലിയ ഡാറ്റാബേസുകൾക്കുള്ള പ്രകടന ആനുകൂല്യങ്ങൾ
പൂർണ്ണ ഡാറ്റാബേസ് പരിശോധനകളേക്കാൾ വളരെ വേഗത്തിൽ CHECKTABLE പ്രവർത്തനങ്ങൾ പൂർത്തിയാകുകയും, നിർണായക പട്ടികകളുടെ കൂടുതൽ ഇടയ്ക്കിടെയുള്ള സമഗ്രത പരിശോധന സാധ്യമാക്കുകയും ചെയ്യുന്നു. ഈ സമീപനം അവശ്യ ബിസിനസ് പട്ടികകളുടെ ദൈനംദിന മൂല്യനിർണ്ണയം അനുവദിക്കുന്നു, അതേസമയം ആഴ്ചതോറുമുള്ള അല്ലെങ്കിൽ പ്രതിമാസ ഷെഡ്യൂളുകൾക്കായി സമഗ്രമായ CHECKDB പ്രവർത്തനങ്ങൾ റിസർവ് ചെയ്യുന്നു. കുറഞ്ഞ വിഭവ ഉപഭോഗം, കുറഞ്ഞ ഉപയോക്തൃ സ്വാധീനത്തോടെ ഉൽപാദന പരിസ്ഥിതി നിർവ്വഹണത്തിന് CHECKTABLE അനുയോജ്യമാക്കുന്നു.
9. CHECKDB പരാജയപ്പെടുമ്പോൾ
DBCC CHECKDB വിവിധ സാഹചര്യങ്ങളിൽ പരാജയപ്പെടും, അവയിൽ ചിലത് ഇതാ:
- DBCC CHECKDB നിർവ്വഹണം അസാധാരണമായി അവസാനിക്കുന്നു
- DBCC CHECKDB എക്സിക്യൂഷൻ വിജയകരമായി പൂർത്തിയാകുന്നുണ്ടെങ്കിലും റിപ്പയർ ഓപ്ഷനുകൾ ഡാറ്റാബേസ് നന്നാക്കുന്നതിൽ പരാജയപ്പെട്ടു.
ഈ സാഹചര്യങ്ങളിൽ, ഡാറ്റാബേസിലെ അഴിമതികൾ പരിഹരിക്കാൻ സഹായിക്കുന്നതിന് ഞങ്ങൾക്ക് കൂടുതൽ പ്രൊഫഷണൽ ഉപകരണം ആവശ്യമാണ്.
9.1 ആമുഖം DataNumen SQL Recovery
DataNumen SQL Recovery കൂടുതൽ വിപുലമായ കഴിവുകൾ നൽകുന്നു:
- മികച്ച വീണ്ടെടുക്കൽ നിരക്ക് വ്യവസായത്തിൽ.
- ഗുരുതരമായി കേടായ ഡാറ്റാബേസ് ഫയലുകൾ വീണ്ടെടുക്കുക.
- പട്ടികകൾ, സൂചികകൾ, കാഴ്ചകൾ, ട്രിഗറുകൾ, നിയമങ്ങൾ, ഡിഫോൾട്ടുകൾ എന്നിവയുൾപ്പെടെ എല്ലാ ഡാറ്റാബേസ് ഒബ്ജക്റ്റുകളും വീണ്ടെടുക്കുക.
- സംഭരിച്ച നടപടിക്രമങ്ങൾ, സ്കെയിലർ ഫംഗ്ഷനുകൾ, ഇൻലൈൻ ടേബിൾ മൂല്യമുള്ള ഫംഗ്ഷനുകൾ, മൾട്ടിസ്റ്റേറ്റ്മെന്റ് ടേബിൾ മൂല്യമുള്ള ഫംഗ്ഷനുകൾ എന്നിവ വീണ്ടെടുക്കുക.
- ശാശ്വതമായി ഇല്ലാതാക്കിയ റെക്കോർഡുകൾ വീണ്ടെടുക്കുക.
- എൻക്രിപ്റ്റ് ചെയ്ത വസ്തുക്കൾ ഡീക്രിപ്റ്റ് ചെയ്യുക SQL Server ഡാറ്റാബേസുകൾ.
- MDF ഫയലുകൾ ബാച്ചുകളായി നന്നാക്കുക.
- സമഗ്രമായ റിപ്പയർ ഓപ്ഷനുകൾ.
- വിപുലമായ ലോഗിംഗും റിപ്പോർട്ടിംഗും.
- എല്ലാവർക്കും പിന്തുണ SQL Server പതിപ്പുകൾ.
- സാങ്കേതിക പിന്തുണ ലഭ്യത
- പതിവ് അപ്ഡേറ്റുകളും മെച്ചപ്പെടുത്തലുകളും
9.2 വിജയ നിരക്ക് താരതമ്യം
വീണ്ടെടുക്കൽ വിജയ നിരക്ക് ഗണ്യമായി വ്യത്യാസപ്പെട്ടിരിക്കുന്നു:
- DBCC ചെക്ക്ഡിബി & ചെക്ക്ടബിൾ: 1.27% ശരാശരി വീണ്ടെടുക്കൽ നിരക്ക്
- DataNumen: 92.6% വീണ്ടെടുക്കൽ നിരക്ക്
ഒരു സമ്പൂർണ്ണ മത്സര താരതമ്യം ചുവടെ:
9.3 കടുത്ത അഴിമതിയിൽ നിന്നുള്ള വീണ്ടെടുക്കൽ
കഠിനമായ കേസുകൾക്കുള്ള വിപുലമായ കഴിവുകൾ:
- ശാരീരികമായി തകർന്ന സംഭരണത്തിൽ നിന്ന് വീണ്ടെടുക്കൽ
- ഫോർമാറ്റ് ചെയ്ത ഡ്രൈവുകളിൽ നിന്നോ തകർന്ന സിസ്റ്റങ്ങളിൽ നിന്നോ വീണ്ടെടുക്കൽ
- ഡിസ്ക് ഇമേജുകൾ, ബാക്കപ്പ് ഫയലുകൾ, വെർച്വൽ മെഷീൻ ഡിസ്ക് ഫയലുകൾ, ടെമ്പോ എന്നിവയിൽ നിന്ന് വീണ്ടെടുക്കുകrary ഫയലുകൾ മുതലായവ.
9.4 പ്രൊഫഷണൽ പരിഹാരങ്ങൾ എപ്പോൾ പരിഗണിക്കണം
- അടുത്തിടെയുള്ള ബാക്കപ്പ് ലഭ്യതയില്ല.
- DBCC CHECKDB പരാജയപ്പെട്ടു
- ഗുരുതരമായ അഴിമതി സാഹചര്യങ്ങൾ
- നിർണായക ബിസിനസ്സ് ഡാറ്റ കൈകാര്യം ചെയ്യൽ
- സമയം നിർണായകമാകുമ്പോൾ
- പരമാവധി വീണ്ടെടുക്കൽ അത്യാവശ്യമായിരിക്കുമ്പോൾ
10. പതിവുചോദ്യങ്ങൾ
10.1 അടിസ്ഥാന ഉപയോഗ ചോദ്യങ്ങൾ
ചോദ്യം: എത്ര തവണ ഞാൻ DBCC CHECKDB പ്രവർത്തിപ്പിക്കണം?
A: നിർണായകമായ പ്രൊഡക്ഷൻ ഡാറ്റാബേസുകൾക്കായി, ആഴ്ചതോറും CHECKDB പ്രവർത്തിപ്പിക്കുക. ഉയർന്ന ഇടപാട് സംവിധാനങ്ങൾക്ക്, PHYSICAL_ONLY ഓപ്ഷൻ ഉപയോഗിച്ച് ദിവസേനയുള്ള പരിശോധനകൾ പരിഗണിക്കുക, ആഴ്ചതോറും പൂർണ്ണ പരിശോധനകൾ നടത്തുക. വികസന ഡാറ്റാബേസുകൾ പ്രതിമാസം പരിശോധിക്കാവുന്നതാണ്.
ചോദ്യം: എനിക്ക് ഒരു തത്സമയ പ്രൊഡക്ഷൻ ഡാറ്റാബേസിൽ DBCC CHECKDB പ്രവർത്തിപ്പിക്കാൻ കഴിയുമോ?
A: അതെ, DBCC CHECKDB-ക്ക് ഉപയോക്താക്കളെ തടയാതെ തന്നെ ഓൺലൈൻ ഡാറ്റാബേസുകളിൽ പ്രവർത്തിക്കാൻ കഴിയും. എന്നിരുന്നാലും, ഇത് ഗണ്യമായ വിഭവങ്ങൾ ഉപയോഗിക്കുന്നു, അതിനാൽ കുറഞ്ഞ പ്രവർത്തന കാലയളവുകളിൽ ഇത് ഷെഡ്യൂൾ ചെയ്യുകയും സിസ്റ്റം പ്രകടനം നിരീക്ഷിക്കുകയും ചെയ്യുക.
ചോദ്യം: CHECKDB യും CHECKTABLE യും തമ്മിലുള്ള വ്യത്യാസം എന്താണ്?
A: CHECKDB മുഴുവൻ ഡാറ്റാബേസും പരിശോധിക്കുന്നു, അതേസമയം CHECKTABLE വ്യക്തിഗത പട്ടികകളിൽ ശ്രദ്ധ കേന്ദ്രീകരിക്കുന്നു. ഇതിനായി CHECKTABLE ഉപയോഗിക്കുക tarട്രബിൾഷൂട്ടിംഗ് ലഭിച്ചു അല്ലെങ്കിൽ മുഴുവൻ ഡാറ്റാബേസും സ്കാൻ ചെയ്യാതെ പ്രത്യേക പട്ടികകൾ പരിശോധിക്കേണ്ടിവരുമ്പോൾ.
10.2 പ്രകടന, വിഭവ ചോദ്യങ്ങൾ
ചോദ്യം: എന്റെ വലിയ ഡാറ്റാബേസിൽ DBCC CHECKDB ഇത്രയും സമയം എടുക്കുന്നത് എന്തുകൊണ്ട്?
A: CHECKDB ദൈർഘ്യം ഡാറ്റാബേസ് വലുപ്പം, ഹാർഡ്വെയർ പ്രകടനം, ഉപയോഗിക്കുന്ന ഓപ്ഷനുകൾ എന്നിവയെ ആശ്രയിച്ചിരിക്കുന്നു. വേഗത്തിലുള്ള പരിശോധനകൾക്ക് PHYSICAL_ONLY ഉപയോഗിക്കുക, അല്ലെങ്കിൽ ക്ലസ്റ്റർ ചെയ്യാത്ത സൂചികകൾ ഒഴിവാക്കാൻ NOINDEX ഉപയോഗിക്കുക. മെയിന്റനൻസ് വിൻഡോകൾക്കിടയിൽ സമർപ്പിത ഉറവിടങ്ങൾ ഉപയോഗിച്ച് പ്രവർത്തിപ്പിക്കുന്നത് പരിഗണിക്കുക.
ചോദ്യം: CHECKDB-ക്ക് എത്ര tempdb സ്ഥലം ആവശ്യമാണ്?
A: സാധാരണയായി, CHECKDB പ്രവർത്തനങ്ങൾക്കിടയിൽ നിങ്ങളുടെ ഡാറ്റാബേസ് വലുപ്പത്തിന്റെ 10-15% tempdb-ക്കായി അനുവദിക്കുക. കൃത്യമായ കണക്കുകൾ ലഭിക്കുന്നതിന് ESTIMATEONLY ഓപ്ഷൻ ഉപയോഗിക്കുക: DBCC CHECKDB('YourDB') WITH ESTIMATEONLY
ചോദ്യം: പ്രവർത്തിക്കുന്ന ഒരു CHECKDB പ്രവർത്തനം എനിക്ക് റദ്ദാക്കാൻ കഴിയുമോ?
A: അതെ, സെഷൻ ഐഡിയിലെ KILL കമാൻഡ് ഉപയോഗിച്ച് നിങ്ങൾക്ക് CHECKDB റദ്ദാക്കാൻ കഴിയും. എന്നിരുന്നാലും, റദ്ദാക്കൽ ഡാറ്റാബേസ് സമഗ്രതയെക്കുറിച്ച് ഒരു വിവരവും നൽകുന്നില്ല, കൂടാതെ നിങ്ങൾ പിന്നീട് അത് വീണ്ടും പ്രവർത്തിപ്പിക്കേണ്ടതുണ്ട്.
10.3 പിശക് കൈകാര്യം ചെയ്യൽ ചോദ്യങ്ങൾ
ചോദ്യം: CHECKDB പിശകുകൾ കണ്ടെത്തി – ഞാൻ പരിഭ്രാന്തരാകണോ?
A: പരിഭ്രാന്തരാകരുത്, പക്ഷേ വേഗത്തിൽ പ്രവർത്തിക്കുക. ആദ്യം, CHECKDB വിജയകരമായി പൂർത്തിയാക്കിയെങ്കിലും അഴിമതി കണ്ടെത്തിയോ, അതോ CHECKDB തന്നെ പ്രവർത്തിപ്പിക്കുന്നതിൽ പരാജയപ്പെട്ടോ എന്ന് നിർണ്ണയിക്കുക. പിശകുകൾ ക്ലസ്റ്റർ ചെയ്യാത്ത സൂചികകളെ (കുറഞ്ഞ ഗുരുതരം) അല്ലെങ്കിൽ പട്ടിക ഡാറ്റയെ (കൂടുതൽ ഗുരുതരം) മാത്രമേ ബാധിക്കുകയുള്ളൂവെന്ന് പരിശോധിക്കുക.
ചോദ്യം: ഞാൻ എപ്പോഴാണ് REPAIR_ALLOW_DATA_LOSS ഉപയോഗിക്കേണ്ടത്?
A: ഉപയോഗിക്കാവുന്ന ബാക്കപ്പുകൾ ഇല്ലാത്തപ്പോഴും മൊത്തം ഡാറ്റാബേസ് നഷ്ടവുമായി താരതമ്യപ്പെടുത്തുമ്പോൾ ഡാറ്റാ നഷ്ടം സ്വീകാര്യമാകുമ്പോഴും അവസാന ആശ്രയമായി മാത്രമേ ഇത് ചെയ്യാവൂ. അറ്റകുറ്റപ്പണികൾ സ്ഥിരമായ ഡാറ്റാ നഷ്ടത്തിന് കാരണമാകുമെന്നതിനാൽ, എല്ലായ്പ്പോഴും ആദ്യം ബാക്കപ്പിൽ നിന്ന് പുനഃസ്ഥാപിക്കാൻ ശ്രമിക്കുക.
ചോദ്യം: "ഡാറ്റാബേസിലെ സ്ഥിരത പിശകുകൾ" vs "അലോക്കേഷൻ പിശകുകൾ" എന്നതിന്റെ അർത്ഥമെന്താണ്?
A: അലോക്കേഷൻ പിശകുകൾ എങ്ങനെ ബാധിക്കുന്നു SQL Server ഡിസ്ക് സ്ഥല ഉപയോഗം ട്രാക്ക് ചെയ്യുന്നു, അതേസമയം സ്ഥിരത പിശകുകൾ ഡാറ്റയിലോ സൂചിക ഘടനകളിലോ ഉള്ള പ്രശ്നങ്ങളെ സൂചിപ്പിക്കുന്നു. രണ്ടിനും ശ്രദ്ധ ആവശ്യമാണ്, എന്നാൽ സ്ഥിരത പിശകുകൾ സാധാരണയായി ഡാറ്റ പ്രവേശനക്ഷമതയെ കൂടുതൽ നേരിട്ട് ബാധിക്കുന്നു.
10.4 ബാക്കപ്പ്, വീണ്ടെടുക്കൽ ചോദ്യങ്ങൾ
ചോദ്യം: എന്റെ ബാക്കപ്പുകളിൽ CHECKDB പ്രവർത്തിപ്പിക്കണോ?
A: തീർച്ചയായും! ടെസ്റ്റ് സെർവറുകളിലേക്ക് ബാക്കപ്പുകൾ പുനഃസ്ഥാപിച്ചതിന് ശേഷം CHECKDB പ്രവർത്തിപ്പിക്കുക. ഇത് ബാക്കപ്പിന്റെ സമഗ്രത പരിശോധിക്കുകയും നിങ്ങൾക്ക് യഥാർത്ഥത്തിൽ കേടുപാടുകൾ തീർക്കാൻ കഴിയുമെന്ന് ഉറപ്പാക്കുകയും ചെയ്യുന്നു. സാധ്യമെങ്കിൽ ഈ പ്രക്രിയ ഓട്ടോമേറ്റ് ചെയ്യുക.
ചോദ്യം: എന്റെ ബാക്കപ്പും കേടായി - ഇനി എന്ത്?
A: വൃത്തിയുള്ള ഒന്ന് കണ്ടെത്തുന്നതുവരെ പഴയ ബാക്കപ്പുകൾ പരീക്ഷിച്ചു നോക്കൂ. വൃത്തിയുള്ള ബാക്കപ്പുകൾ ഇല്ലെങ്കിൽ, പ്രൊഫഷണൽ വീണ്ടെടുക്കൽ പരിഹാരങ്ങൾ പരിഗണിക്കുക, ഉദാഹരണത്തിന് DataNumen SQL Recoveryഭാവിയിൽ ഇത്തരം സംഭവങ്ങൾ തടയുന്നതിന് അഴിമതി സമയരേഖ രേഖപ്പെടുത്തുക.
ചോദ്യം: പൂർണ്ണമായ ഡാറ്റാബേസ് വീണ്ടെടുക്കൽ കൂടാതെ പേജ് പുനഃസ്ഥാപിക്കുന്നതിലൂടെ അഴിമതി പരിഹരിക്കാൻ കഴിയുമോ?
A: അതെ, പക്ഷേ അകത്ത് മാത്രം SQL Server പൂർണ്ണമായ വീണ്ടെടുക്കൽ മോഡലും നിലവിലെ ലോഗ് ബാക്കപ്പുകളും ഉള്ള എന്റർപ്രൈസ് പതിപ്പ്. ഒറ്റപ്പെട്ട പേജ് കറപ്ഷനുകൾക്ക് പേജ് പുനഃസ്ഥാപിക്കൽ പ്രവർത്തിക്കുന്നു, പക്ഷേ ശരിയായ നടപടിക്രമങ്ങൾ പാലിച്ചുകൊണ്ട് ശ്രദ്ധാപൂർവ്വം നടപ്പിലാക്കേണ്ടതുണ്ട്.
10.5 ട്രബിൾഷൂട്ടിംഗ് ചോദ്യങ്ങൾ
ചോദ്യം: "സ്ഥലമില്ല" എന്ന പിശകുകൾ കാരണം CHECKDB പരാജയപ്പെടുന്നു - എനിക്ക് എന്തുചെയ്യാൻ കഴിയും?
A: tempdb ഇടം ശൂന്യമാക്കുക, tempdb വേഗതയേറിയ സംഭരണത്തിലേക്ക് മാറ്റുക, അല്ലെങ്കിൽ tempdb ഉപയോഗം കുറയ്ക്കുന്നതിന് TABLOCK ഓപ്ഷൻ ഉപയോഗിക്കുക. റിസോഴ്സ് ആവശ്യകതകൾ കുറയ്ക്കുന്നതിന് NOINDEX അല്ലെങ്കിൽ PHYSICAL_ONLY ഉപയോഗിച്ച് CHECKDB പ്രവർത്തിപ്പിക്കുന്നത് പരിഗണിക്കുക.
ചോദ്യം: CHECKDB ഔട്ട്പുട്ടിൽ നിന്ന് ഏത് പട്ടികയിൽ കറപ്ഷൻ ഉണ്ടെന്ന് എങ്ങനെ തിരിച്ചറിയാം?
A: പിശക് സന്ദേശങ്ങളിൽ "ഒബ്ജക്റ്റ് ഐഡി" നമ്പറുകൾക്കായി തിരയുക, തുടർന്ന് ഉപയോഗിക്കുക: SELECT OBJECT_NAME(object_id)
പട്ടിക നാമങ്ങൾ കണ്ടെത്താൻ. കൃത്യമായ ലൊക്കേഷൻ തിരിച്ചറിയലിനായി പിശക് സന്ദേശങ്ങളിൽ പേജ്, സ്ലോട്ട് നമ്പറുകളും ഉൾപ്പെടുന്നു.
ചോദ്യം: ഹാർഡ്വെയർ പ്രശ്നങ്ങൾ CHECKDB തെറ്റായ പോസിറ്റീവുകൾ റിപ്പോർട്ട് ചെയ്യാൻ കാരണമാകുമോ?
A: അതെ, ഹാർഡ്വെയർ പരാജയപ്പെടുന്നത് (പ്രത്യേകിച്ച് സംഭരണം) CHECKDB റണ്ണുകൾക്കിടയിൽ ഇടയ്ക്കിടെ പ്രത്യക്ഷപ്പെടുകയും അപ്രത്യക്ഷമാവുകയും ചെയ്യുന്ന കറപ്ഷന് കാരണമാകും. പിശകുകൾ പൊരുത്തമില്ലാത്തതാണെങ്കിൽ, നിങ്ങളുടെ I/O സബ്സിസ്റ്റം അന്വേഷിച്ച് പാറ്റേണുകൾ സ്ഥിരീകരിക്കുന്നതിന് ഒന്നിലധികം പരിശോധനകൾ നടത്തുക.
10.6 അഡ്വാൻസ്ഡ് കോൺഫിഗറേഷൻ ചോദ്യങ്ങൾ
ചോദ്യം: ഏതൊക്കെ ട്രേസ് ഫ്ലാഗുകൾക്ക് CHECKDB പ്രകടനം മെച്ചപ്പെടുത്താൻ കഴിയും?
A: CHECKDB ഒറ്റ ബാച്ചായി പ്രവർത്തിപ്പിക്കുന്നതിലൂടെ ട്രേസ് ഫ്ലാഗ് 2562 പ്രകടനം മെച്ചപ്പെടുത്താൻ കഴിയും. ഡാറ്റാബേസ് ഫയലുകൾ പ്രത്യേക ഡിസ്കുകളിലായിരിക്കുമ്പോൾ ട്രേസ് ഫ്ലാഗ് 2549 സഹായിക്കുന്നു. ഇവ ശ്രദ്ധാപൂർവ്വം ഉപയോഗിക്കുക, ആദ്യം നോൺ-പ്രൊഡക്ഷൻ പരീക്ഷിക്കുക.
ചോദ്യം: CHECKDB നിരീക്ഷണവും മുന്നറിയിപ്പും എങ്ങനെ ഓട്ടോമേറ്റ് ചെയ്യാം?
A: ഉപയോഗം SQL Server 8930, 8939, തുടങ്ങിയ പിശക് നമ്പറുകൾക്കുള്ള ഏജന്റ് അലേർട്ടുകൾ. CHECKDB ഫലങ്ങൾ എക്സ്ട്രാക്റ്റുചെയ്യുന്നതിന് ലോഗ് പാഴ്സിംഗ് നടപ്പിലാക്കുക, കൂടാതെ ഏതെങ്കിലും അഴിമതി കണ്ടെത്തലുകൾക്കായി അറിയിപ്പുകൾ സൃഷ്ടിക്കുക. Ola Hallengren-ന്റെ സ്ക്രിപ്റ്റുകൾ പോലുള്ള മെയിന്റനൻസ് സൊല്യൂഷൻ ഫ്രെയിംവർക്കുകൾ ഉപയോഗിക്കുന്നത് പരിഗണിക്കുക.
ചോദ്യം: ഞാൻ EXTENDED_LOGICAL_CHECKS ഓപ്ഷൻ ഉപയോഗിക്കണോ?
A: സങ്കീർണ്ണമായ ലോജിക്കൽ കറപ്ഷൻ സംശയിക്കുകയും മതിയായ പ്രകടന ഓവർഹെഡ് ഉണ്ടെങ്കിൽ മാത്രം. ഈ ഓപ്ഷൻ ഇൻഡെക്സ് ചെയ്ത വ്യൂകൾ, XML സൂചികകൾ, സ്പേഷ്യൽ സൂചികകൾ എന്നിവയിൽ അധിക പരിശോധനകൾ നടത്തുന്നു, പക്ഷേ എക്സിക്യൂഷൻ സമയം ഗണ്യമായി വർദ്ധിപ്പിക്കുന്നു.
11. ഉപസംഹാരം
11.1 പ്രധാന പോയിന്റുകളുടെ സംഗ്രഹം
11.1.1 അവശ്യ DBCC CHECKDB കമാൻഡുകളുടെ റീക്യാപ്പ്
സമഗ്രമായ ഡാറ്റാബേസ് പരിശോധനയ്ക്കായി അടിസ്ഥാന DBCC CHECKDB വാക്യഘടനയിൽ പ്രാവീണ്യം നേടുക, പ്രകടന ഒപ്റ്റിമൈസേഷനായി NOINDEX, PHYSICAL_ONLY ഓപ്ഷനുകൾ ഉപയോഗിക്കുക, കൂടാതെ CHECKTABLE മനസ്സിലാക്കുക. tarഗെറ്റഡ് ടേബിൾ വെരിഫിക്കേഷൻ. ഈ അടിസ്ഥാന കമാൻഡുകൾ പ്രോആക്ടീവ് ഡാറ്റാബേസ് മെയിന്റനൻസിന്റെ അടിത്തറയായി മാറുന്നു, ഇത് നേരത്തെയുള്ള അഴിമതി കണ്ടെത്തലും വ്യവസ്ഥാപിതമായ സമഗ്രത നിരീക്ഷണവും പ്രാപ്തമാക്കുന്നു.
11.1.2 ക്രിട്ടിക്കൽ ബെസ്റ്റ് പ്രാക്ടീസസ് റിമൈൻഡർ
സമഗ്രത പരിശോധനകൾ നടത്തുന്നതിന് മുമ്പ് എല്ലായ്പ്പോഴും നിലവിലെ ബാക്കപ്പുകൾ നിലനിർത്തുക, ഡാറ്റാബേസ് നിർണായകതയെ അടിസ്ഥാനമാക്കി പതിവ് CHECKDB പ്രവർത്തനങ്ങൾ ഷെഡ്യൂൾ ചെയ്യുക, ഉടനടി അഴിമതി മുന്നറിയിപ്പുകൾക്കായി ഓട്ടോമേറ്റഡ് മോണിറ്ററിംഗ് നടപ്പിലാക്കുക. പതിവ് നിരീക്ഷണത്തിലൂടെയുള്ള പ്രതിരോധം പ്രതിപ്രവർത്തന സമീപനങ്ങളെ മറികടക്കുന്നുവെന്നും സ്റ്റാൻഡേർഡ് ഉപകരണങ്ങൾ അപര്യാപ്തമാണെന്ന് തെളിയിക്കപ്പെടുമ്പോൾ പ്രൊഫഷണൽ വീണ്ടെടുക്കൽ പരിഹാരങ്ങൾ വിലയേറിയ ബാക്കപ്പ് ഓപ്ഷനുകൾ നൽകുമെന്നും ഓർമ്മിക്കുക.
11.2 DBCC CHECKDB vs. അഡ്വാൻസ്ഡ് സൊല്യൂഷൻസ് എപ്പോൾ ഉപയോഗിക്കണം
പതിവ് സമഗ്രത നിരീക്ഷണത്തിനും ചെറിയ അഴിമതി പരിഹാരത്തിനും DBCC CHECKDB ഉപയോഗിക്കുക, അതേസമയം ബിൽറ്റ്-ഇൻ റിപ്പയർ കഴിവുകൾക്കപ്പുറമുള്ള ഗുരുതരമായ അഴിമതി സാഹചര്യങ്ങൾക്ക് പ്രൊഫഷണൽ വീണ്ടെടുക്കൽ ഉപകരണങ്ങൾ റിസർവ് ചെയ്യുക. തീരുമാന ചട്ടക്കൂട് ബാക്കപ്പ് ലഭ്യത, ഡാറ്റാ നിർണായകത, സമയ പരിമിതികൾ, അഴിമതിയുടെ തീവ്രത എന്നിവ പരിഗണിക്കണം. വിജയകരമായ ഡാറ്റാബേസ് അഡ്മിനിസ്ട്രേറ്റർമാർ പതിവ് CHECKDB നിരീക്ഷണത്തെ സമഗ്രമായ ബാക്കപ്പ് തന്ത്രങ്ങളുമായും സ്റ്റാൻഡേർഡ് സമീപനങ്ങൾ അപര്യാപ്തമാണെന്ന് തെളിയിക്കപ്പെടുമ്പോൾ വിപുലമായ വീണ്ടെടുക്കൽ ഓപ്ഷനുകളെക്കുറിച്ചുള്ള അവബോധവുമായും സംയോജിപ്പിക്കുന്നു.
12. പരാമർശങ്ങൾ
- മൈക്രോസോഫ്റ്റ് ലേൺ. “DBCC CHECKDB (ട്രാൻസാക്റ്റ്-SQL).” SQL Server വിവരണക്കുറിപ്പു്മൈക്രോസോഫ്റ്റ് കോർപ്പറേഷൻ.
https://learn.microsoft.com/en-us/sql/t-sql/database-console-commands/dbcc-checkdb-transact-sql?view=sql-server-ver17 - മൈക്രോസോഫ്റ്റ് ലേൺ. “DBCC CHECKDB റിപ്പോർട്ട് ചെയ്ത ഡാറ്റാബേസ് സ്ഥിരത പിശകുകൾ പരിഹരിക്കുക.” SQL Server വിവരണക്കുറിപ്പു്മൈക്രോസോഫ്റ്റ് കോർപ്പറേഷൻ.
https://learn.microsoft.com/en-us/troubleshoot/sql/database-engine/database-file-operations/troubleshoot-dbcc-checkdb-errors