اوس شریک کړئ:
فهرست پټ
10. پوښتنې

د ډیټابیس فساد هر یو دی SQL Server د مدیر خوب. کله چې د سوداګرۍ مهم معلومات د لاسرسي وړ یا بې اعتباره شي، cost ویجاړونکی کیدی شي. دا جامع لارښود هر هغه څه پوښي چې تاسو ورته اړتیا لرئ د DBCC CHECKDB کارولو په اړه پوه شئ ترڅو د ډیټابیس روغتیا وساتي او د فساد مخه ونیسي، او همدارنګه د بیا رغونې پرمختللي حلونه کله چې معیاري وسایل کافي نه وي.

1. د اهمیت SQL Server د ډیټابیس روغتیا

۱.۱ د ډیټابیس فساد څه شی دی؟ostد سوداګرۍ

نن، مost کاروبارونه خپل مهم معلومات په ډیټابیسونو کې ذخیره کوي. کله چې د ډیټابیس فساد رامنځته شي، پایلې یې ویجاړونکې وي:

  • مالي زیانونه په اوسط ډول هر کال ۲.۳ ملیون ډالر د معلوماتو له لاسه ورکولو له امله وي، چې د هارډویر ناکامي او فساد یې اصلي لاملونه دي (EMC کارپوریشن)
  • د سوداګرۍ د تړلو نرخونه ښیي چې ۵۰٪ کوچني کاروبارونه چې د هارډویر د ناکامیو له امله د معلوماتو له لاسه ورکولو سره مخ دي په دوو کلونو کې له سوداګرۍ څخه ووځي، پداسې حال کې چې ۹۴٪ هغه کاروبارونه چې د معلوماتو له لاسه ورکولو سره مخ دي په هیڅ ډول ژوندي نه پاتې کیږي.
  • د معلوماتو د فساد فریکونسي هر کال د ماموریت مهم غوښتنلیکونو 20٪ اغیزه کوي، چې د سوداګرۍ دوام ګډوډوي (ګارټنر څیړنه)
  • د هارډویر پورې اړوند فساد د هارډ ډرایو د خرابیدو او سیسټم د ناکامیو له امله د معلوماتو د ضایع کیدو د ټولو پیښو 67٪ جوړوي، چې 40٪ د معلوماتو ضایع کیدل مستقیم د هارډویر د خرابیدو له امله دي.
  • د سافټویر فساد جosts د شدت او ساحې پورې اړه لري له زرګونو څخه تر ملیونونو ډالرو پورې، د 82٪ سوداګرۍ غیر پلان شوي بندښت سره مخ دي چیرې چې فساد یو مخکښ لامل و

۱.۲ ولې منظم روغتیایی معاینات خورا مهم دي

خلک منظم روغتیایی معایناتو ته اړتیا لري ترڅو احتمالي ناروغۍ ژر کشف کړي. په ورته ډول، ډیټابیسونه هم منظم روغتیایی معایناتو ته اړتیا لري:

  1. احتمالي فساد ژر کشف کړئ او په چټکۍ سره یې اداره کړئ، ترڅو ستونزې د جدي او پراخیدو مخه ونیسي، کوم چې کولی شي د سوداګرۍ لپاره ویجاړونکي پایلې ولري.
  2. ډاډ ترلاسه کړئ چې ډیټابیس په غوره فعالیت سره کار کوي.
  3. جost د ډیټابیس د روغتیا فعاله معاینات د ډیټابیس د ناورین وروسته د غبرګوني معلوماتو بیا رغونې په پرتله خورا ټیټ دي.

۱.۳ د ډیټابیس بشپړتیا امرونو معرفي کول

SQL Server د ډیټابیس روغتیا ساتلو لپاره ډیری جوړ شوي قوماندې چمتو کوي، سره د DBCC CHECKDB د م په توګه خدمت کولost د بشپړتیا د چک کولو جامع وسیله شتون لري. دا قوماندې ستاسو د ډیټابیس جوړښت مختلف اړخونه تاییدولو لپاره یوځای کار کوي، د انفرادي جدولونو څخه تر بشپړ ډیټابیس ثبات پورې، د ساتنې بشپړ ستراتیژي جوړوي چې ستاسو معلومات خوندي او د لاسرسي وړ ساتي.

۲. د DBCC CHECKDB څه شی دی؟

د DBCC CHECKDB is SQL Serverد ډیټابیس بشپړتیا تاییدولو او د فساد مسلو پیژندلو لپاره لومړنی وسیله.

  • دا د T-SQL بیان دی، نه د GUI وسیله.
  • تاسو کولی شئ دا د عامو میتودونو له لارې اجرا کړئ، لکه SQL Server د مدیریت سټوډیو (SSMS)، SQL Server اجنټ، SQLCMD، او داسې نور.

۲.۱ هغه څه چې CHECKDB په حقیقت کې ستاسو په ډیټابیس کې ګوري

کله چې تاسو DBCC CHECKDB چلوئ، نو قومانده ستاسو د ډیټابیس جوړښت کې ډیری د اعتبار پرتونه ترسره کوي:

  • د پاڼې چیکسم تصدیق د فزیکي فساد او هارډویر پورې اړوند مسلو کشف کول
  • د شاخص د ثبات تایید د معلوماتو د سمې ترلاسه کولو او د پوښتنې د فعالیت ډاډ ترلاسه کولو لپاره
  • د تخصیص جوړښت چکونه د ځای د دقیق استعمال او د پاڼې د تخصیص تصدیق کولو لپاره
  • د حوالې بشپړتیا ازموینه د اړوندو جدولونو او بهرنیو کلیدي اړیکو ترمنځ
  • د سیسټم جدول د ثبات تایید ډاډمنول SQL Serverد داخلي میټاډاټا باوري پاتې کیږي
  • د معلوماتو پاڼې د اړیکې تصدیق د پاڼې د زنځیر د سموالي تصدیق کول
  • د ډیټابیس سکیما تسلسل د شیانو تعریفونه او انحصارونه تایید کول

دا جامع چکونه د کارونکي ډیټا او سیسټم جوړښتونه دواړه پوښي، ستاسو د ډیټابیس روغتیا حالت بشپړ لید چمتو کوي.

۳. د DBCC CHECKDB چلول: ګام په ګام

د 3.1 اړتیاوې

لاندې د DBCC CHECKDB عملیاتو ترسره کولو دمخه چک لیست دی:

  • د ډیټابیس بیک اپ بشپړ کړئ - که چیرې فساد وموندل شي یا د ترمیم عملیات اړین شي، نو د خوندیتوب جال په توګه د بشپړتیا چکونو ترسره کولو دمخه بشپړ بیک اپ جوړ کړئ.
  • مناسب اجازې - تاسو د DBCC CHECKDB امرونو اجرا کولو لپاره د sysadmin یا db_owner اجازې ته اړتیا لرئ.
  • د سیسټم کافي سرچینې:
    • حافظه: د ډیټابیس اندازې ۲۵٪
    • د Tempdb ځای: د ډیټابیس اندازې ۱۰-۱۵٪
    • CPU: د ساتنې په جریان کې 50-70٪ شتون
    • I/O: د درنو لوستلو عملیاتو تمه وکړئ
  • د ډیټابیس لاسرسی - تایید کړئ چې ستاسو ډیټابیس د لاسرسي وړ دی او په محدود حالت کې نه دی، ځکه چې CHECKDB د ډیټابیس ټولو پاڼو ته د لوستلو لاسرسي ته اړتیا لري.

3.2 اساسي قومانده

دost د DBCC CHECKDB اساسي قومانده درې عام ډولونه لري:

(۱) اوسنی ډیټابیس وګورئ (هیڅ پیرامیټر نشته):

DBCC CHECKDB

(۲) د نوم له مخې ډیټابیس وګورئ:

DBCC CHECKDB ('YourDatabaseName')

(3) د ID له مخې ډیټابیس وګورئ:

DBCC CHECKDB(5)  -- Replace 5 with your database ID

دا بنسټیز قومانده د ټاکل شوي ډیټابیس بشپړ بشپړتیا چیک ترسره کوي، ټول جدولونه، شاخصونه، او سیسټم جوړښتونه معاینه کوي. د هغو ډیټابیسونو لپاره چې معیاري نومونه یې هیڅ ځای نلري، تاسو کولی شئ نرخونه له منځه یوسي. قومانده به تر بشپړیدو پورې روانه وي، د پرمختګ پیغامونه او وروستۍ پایلې به ښکاره کړي. دا بنسټیز ترکیب د کوچنیو ډیټابیسونو لپاره یا کله چې تاسو د ساتنې لپاره کافي وخت لرئ په بشپړ ډول کار کوي.

لاندې د DBCC CHECKDB چلولو سکرین شاټ دی SQL Server د مدیریت سټوډیو (SSMS):

د DBCC CHECKDB چلولو سکرین شاټ په SQL Server د مدیریت سټوډیو (SSMS)، د محصول پایلو په ګډون.

۳.۳ بشپړ انتخابونه

لاندې د 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)
وتۍ کنټرول 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)

۴. ستاسو د پایلو درک کول

د DBCC CHECKDB به د دې پر بنسټ مختلفې پایلې تولید کړي چې ایا اجرا یې په بریالیتوب سره بشپړیږي یا نه. راځئ چې دوی په تفصیل سره تشریح کړو.

۴.۱ د CHECKDB اجرا په بریالیتوب سره بشپړه شوه

که چیرې د DBCC CHECKDB اجرا په بریالیتوب سره بشپړ شي، نو دا به ستاسو د ډیټابیس د روغتیا حالت پورې اړه لري د پایلو مختلف ډولونه راپور کړي.

۴.۱.۱ کومه ستونزه ونه موندل شوه

که چیرې 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.

دا پایله ښیي چې ستاسو ډیټابیس په ټولو چک شوي جوړښتونو کې بشپړ بشپړتیا ساتي.

۴.۱.۲ د فساد تېروتنې وموندل شوې

هرکله چې DBCC CHECKDB د فساد تېروتنه ومومي، نو دا به د لاندې جوړښت سره د تېروتنې پیغام راپور کړي:
د DBCC CHECKDB د خطا پیغام جوړښت تفصيلي وضاحت، په شمول د هرې برخې معنی.د شدت کچې لارښود:

  • کچه 16-19،XNUMX: د کارونکي لخوا د اصلاح وړ غلطۍ، ډیری وختونه کوچنۍ فساد
  • کچه 20-24،XNUMX: د سیستم غلطۍ، جدي فساد چې سمدستي پاملرنې ته اړتیا لري
  • 25 کچه: وژونکې تېروتنې، ډیټابیس ممکن د لاسرسي وړ نه وي

عام غلطیان عبارت دي له:

  • د پاڼې چیکسم ناکامي (پیغام ۸۲۴)
  • د تخصیص تېروتنې (پیغام ۸۹۲۸)
  • د شاخص د ثبات ستونزې (پیغام ۸۹۶۴)

د پیغام جوړښت پوهیدل د غبرګون کړنو ته لومړیتوب ورکولو او د بیا رغونې مناسبې ستراتیژیو په ټاکلو کې مرسته کوي.

۴.۱.۳ عام معلوماتي او خبرداري پیغامونه

د 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'.

۴.۲ د CHECKDB اجرا کول لغوه کیږي

که چیرې CHECKDB د مختلفو دلایلو له امله د اجرا کولو پرمهال لغوه شي، نو دا به د خطا پیغام راپور کړي او د لاندې حالت کوډ سره به د خطا لاګ اضافه کړي:

د بهرنیو چارو تفصیل
0 د تېروتنې شمېره ۸۹۳۰ راپورته شوه. دا په میټاډاټا کې فساد په ګوته کوي چې د DBCC قومانده یې ختمه کړه.
1 د تېروتنې شمېره ۸۹۶۷ راپورته شوه. د 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 ستاسو په ډیټابیس کې د فساد د حل لپاره.

۵. د فساد تېروتنې حل کول

۵.۱ بیک اپ او بیا رغونه: تر ټولو خوندي حل

کله چې DBCC CHECKDB د فساد غلطۍ وپیژني، د پاک بیک اپ څخه بیا رغونه ترټولو خوندي استازیتوب کوي او most د باور وړ حل. دا طریقه د معلوماتو بشپړتیا تضمینوي پداسې حال کې چې د فساد اصلي لاملونه له منځه وړي. د بیا رغولو دمخه، د بیک اپ بشپړتیا تصدیق کړئ د په تایید سره بیرته راګرځوئ امرونه، او د معلوماتو ضایع کمولو لپاره د ټکي په وخت د بیا رغونې اختیارونه په پام کې ونیسئ. د اصلي لامل تحلیل لپاره د فساد توضیحات مستند کړئ، ځکه چې د هارډویر مسلې یا د سافټویر بګونه ممکن د بیا تکرار مخنیوي لپاره اضافي پاملرنې ته اړتیا ولري.

۵.۲ د پاڼې په کچه د فساد حل لارې

د جلا پاڼو فساد لپاره چې د معلوماتو کوچنۍ برخې اغیزمنوي، SQL Server انټرپرائز ایډیشن د پاڼې د بیا رغونې وړتیاوې وړاندې کوي چې ځانګړي زیانمن شوي پاڼې د بشپړ ډیټابیس بیا رغونې پرته ترمیموي. دا پرمختللی تخنیک د بشپړ بیا رغونې ماډل او اوسني لاګ بیک اپ ته اړتیا لري.

د پاڼې د بیا رغونې مرحله په ګام:

  1. فاسد پاڼه وپیژنئ د CHECKDB د تېروتنې پیغام څخه (د مثال په توګه، مخ ۱:۲۵۶)
  2. د اوسني لاګ بیک اپ واخلئ د وروستیو معاملو د نیولو لپاره:
BACKUP LOG YourDatabase TO DISK = 'C:\Backups\YourDB_Log.trn'
  1. خراب شوی پاڼه بیرته راګرځوئ له م څخهost وروستی بشپړ بیک اپ:
RESTORE DATABASE YourDatabase PAGE = '1:256' 
FROM DISK = 'C:\Backups\YourDB_Full.bak'
  1. د توپیر بیک اپ تطبیق کړئ (که شتون ولري):
RESTORE DATABASE YourDatabase PAGE = '1:256' 
FROM DISK = 'C:\Backups\YourDB_Diff.bak'
  1. ټول لاګ بیک اپونه پلي کړئ په ترتیب سره، د هغه په ​​شمول چې تازه جوړ شوی:
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'
  1. د وروستۍ لاګ بیک اپ واخلئ او بیا یې وساتئ د پاڼې د تازه کولو لپاره:
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

۵.۳ د فساد شاخص چټکې حل لارې

د شاخص فساد اکثرا د بیارغونې عملیاتو ته ښه ځواب ورکوي چې د شاخص جوړښتونه بیا جوړوي پرته له دې چې د جدول اصلي معلوماتو اغیزه وکړي:

ALTER INDEX ALL ON YourTable REBUILD

دا طریقه په ځانګړي ډول د غیر کلستر شوي شاخص فساد لپاره ښه کار کوي، ځکه چې بیا رغونه د سرچینې جدول معلوماتو څخه د شاخص پاڼې بیا تولیدوي، په مؤثره توګه فساد له منځه وړي پداسې حال کې چې ټول اصلي معلومات ساتي.

۶. د REPAIR_REBUILD او REPAIR_ALLOW_DATA_LOSS څخه کار واخلئ

که ټولې پخوانۍ طریقې ناکامې شي یا عملي نه وي، تاسو کولی شئ د ډیټابیس ترمیمولو لپاره د REPAIR_REBUILD او REPAIR_ALLOW_DATA_LOSS انتخابونو څخه کار واخلئ.

۶.۱ ترمیم_بیارغونه (خوندي انتخاب):

  • د کارولو لپاره: د شاخص فساد او د تخصیص کوچنۍ غلطۍ
  • د معلوماتو خوندیتوب: د معلوماتو له حذف کولو پرته د فساد د حل هڅې
  • د خطر کچه: ټیټ - د معلوماتو ضایع کیدو تمه نشته
  • عادي سناریوګانې: د انډیکس نه کلستر شوی فساد، کوچنۍ میټاډاټا مسلې
  • د قوماندې مثال: DBCC CHECKDB('YourDB', REPAIR_REBUILD)

۶.۲ د معلوماتو ضایع کول (وروستی چاره):

  • د کارولو لپاره: کله چې بیک اپ شتون ونلري نو سخت فساد
  • د معلوماتو خوندیتوب: د ډیټابیس فعالیت بیرته راوستلو لپاره فاسد معلومات حذف کولی شي
  • د خطر کچه: لوړ - د معلوماتو دایمي ضایع کېدل ممکن دي
  • عادي سناریوګانې: د پاڼې فساد، د سیسټم جدول ته زیان، د تخصیص سلسلې غلطۍ
  • د قوماندې مثال: DBCC CHECKDB('YourDB', 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 فایل فاسد د MDF فایل لخوا ټاکل شوی DataNumen SQL Recovery
SQL Server 2014 غلطي 10_1.mdf (پیغام ۸۹۰۹ ورپسې پیغام ۸۹۳۹) (۶۰۰ ریکارډونه lost د REPAIR_ALLOW_DATA_LOSS سره) نقص 10_1_fixed.mdf (هیڅ ریکارډ نشته lost)
SQL Server 2014 غلطي 10_2.mdf (پیغام ۸۹۰۹ ورپسې پیغام ۸۹۳۹) (۶۰۰۰ ریکارډونه (۵۰٪) lost د REPAIR_ALLOW_DATA_LOSS سره) نقص 10_2_fixed.mdf (یوازې ۱۰۰ ریکارډونه lost)
SQL Server 2014 تېروتنه 7.mdf (۱۰۰ ریکارډونه lost د REPAIR_ALLOW_DATA_LOSS سره) تېروتنه_فیکسډ.یمډیف (یوازې یو ریکارډ lost)

۶.۴.۲ ترمیم ناکامي - مسلکي حل په پام کې ونیسئ

If د ترمیم_اللو_ ډاټا_لوس ناکام شي، دا به یو یا څو د خطا پیغامونه ښکاره کړي.

لاندې ځینې مثالونه دي:

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 فایل فاسد د MDF فایل لخوا ټاکل شوی DataNumen SQL Recovery
SQL Server 2014 غلطي 1_3.mdf (واحد پیغام ۸۲۴) نقص 1_3_fixed.mdf
SQL Server 2014 غلطي 1_1.mdf (دوامداره پیغام ۸۲۴ تېروتنې) غلطي 1_1_fixed.mdf
SQL Server 2014 غلطي 1_2.mdf ((پیغام ۸۲۴ ورپسې پیغام ۷۹۰۹) نقص 1_2_fixed.mdf
SQL Server 2014 غلطي 4_1.mdf (پیغام ۸۹۹۲ او ورپسې ۳۸۵۲ پیغام) نقص 4_1_fixed.mdf
SQL Server 2014 غلطي 4_2.mdf (پیغام ۸۹۹۲ او ورپسې ۳۸۵۲ پیغام) نقص 4_2_fixed.mdf
SQL Server 2014 غلطی 5.mdf (پیغام ۸۹۴۵) تېروتنه_فیکسډ.یمډیف
SQL Server 2014 غلطی 6.mdf (پیغام ۸۹۴۵) تېروتنه_فیکسډ.یمډیف
SQL Server 2014 غلطی 2.mdf (پیغام ۸۹۴۵) تېروتنه_فیکسډ.یمډیف
SQL Server 2014 غلطی 11.mdf (پیغام ۸۹۴۵) تېروتنه_فیکسډ.یمډیف
SQL Server 2014 غلطی 3.mdf (پیغام ۸۹۴۵) تېروتنه_فیکسډ.یمډیف
SQL Server 2014 تېروتنه 8.mdf (پیغام ۸۹۴۵) تېروتنه 8_fixed.mdf
SQL Server 2014 غلطی 9.mdf (پیغام ۸۹۴۵) تېروتنه_فیکسډ.یمډیف

7. غوره کړنې

۶.۱ د منظم CHECKDB عملیاتو مهالویش کول

د مهمو تولیدي ډیټابیسونو لپاره د اونۍ DBCC CHECKDB اجرا کول پلي کړئ، د لوړ لیږد سیسټمونو لپاره ورځني چکونو سره. د فعالیت اغیز کمولو لپاره د ټیټ کارونې دورې په جریان کې عملیات مهالویش کړئ، او د ډیټابیس اندازې او ساتنې کړکۍ پراساس د بشپړ چیکونو او PHYSICAL_ONLY انتخابونو ترمنځ د بدلون په اړه فکر وکړئ. د اتوماتیک مهالویش له لارې SQL Server اجنټ د مرکزي څارنې او خبرتیا وړتیاو چمتو کولو پرمهال دوامداره اجرا کول ډاډمن کوي.

۶.۲ د فعالیت د اغیزې مدیریت

د DBCC CHECKDB عملیات د پام وړ سیسټم سرچینې مصرفوي، چې په بالقوه توګه د کارونکي په هممهاله فعالیت اغیزه کوي. د فعالیت اغیزې نمونو پوهیدو لپاره د چکونو په جریان کې د CPU کارول، د حافظې مصرف، او ډیسک I/O څارنه وکړئ. د معمول چکونو لپاره د NOINDEX اختیارونو کارولو په اړه فکر وکړئ، د میاشتني ساتنې کړکۍ لپاره بشپړ اعتبار خوندي کول. د بشپړتیا چک کولو دورې په جریان کې د تمو اداره کولو لپاره د پوښتنې وخت پای توسیعونه او د کارونکي اړیکو ستراتیژیانې پلي کړئ.

۶.۳ د کړکۍ د ساتنې پلان جوړول

د DBCC CHECKDB مهالویش د نورو ساتنې فعالیتونو لکه بیک اپ عملیاتو، د شاخص بیا رغونه، او احصایوي تازه معلوماتو سره همغږي کړئ. د سرچینو متمرکز عملیاتو څخه ډډه وکړئ چې کولی شي د فعالیت تخریب یا د وخت پای ته رسیدو مسلو لامل شي. د ډیټابیس اندازې ودې اټکلونو پراساس د ساتنې کړکۍ پلان کړئ، د بشپړ بشپړتیا تایید لپاره کافي وخت ډاډمن کړئ ځکه چې د معلوماتو حجم زیاتیږي.

۶.۴ اتومات څارنه او خبرتیا

سازول SQL Server د اجنټانو خبرتیاوې چې کله DBCC CHECKDB فساد وپیژني نو سمدلاسه مدیرانو ته خبر ورکړي. د لاګ پارس کولو حلونه پلي کړئ چې د بشپړتیا چیک پایلې استخراج او طبقه بندي کړي، د رجحان تحلیل او فعالې ستونزې پیژندنه فعاله کړي. د اضافې پروسیجرونه رامینځته کړئ چې د ځواب ویلو مهال ویش او د فساد د شدت مختلف کچو لپاره مسؤل پرسونل تعریف کړي.

۷. د DBCC چیکټیبل: د سپک وزن بدیل

۷.۱ کله چې د CHECKDB پر ځای CHECKTABLE وکاروئ

DBCC CHECKTABLE د انفرادي جدولونو لپاره متمرکز بشپړتیا چک چمتو کوي، چې دا د دې لپاره مثالی کوي tarد ځانګړو ډیټابیس شیانو د ستونزو حل کول او ساتنه ترلاسه کړه. د ځانګړو جدولونو سره د فعالیت مسلو څیړنه کولو پرمهال، د بشپړ ډیټابیس چیکونو ترمنځ د مهمو سوداګریزو جدولونو تایید کولو پرمهال، یا کله چې د وخت محدودیتونه د بشپړ ډیټابیس اعتبار مخه نیسي، CHECKTABLE وکاروئ. دا طریقه په ځانګړي ډول په لویو ډیټابیسونو کې ارزښتناکه ثابتیږي چیرې چې د CHECKDB بشپړ عملیات د شته ساتنې کړکۍ څخه ډیر وي.

۷.۲ د DBCC چیکټیبل نحو او مثالونه

د چیکټیبل اساسي قومانده tarځانګړي جدولونه ترلاسه کوي:

DBCC CHECKTABLE('YourTable')

د CHECKDB په څیر، CHECKTABLE د مختلفو انتخابونو ملاتړ کوي په شمول د فعالیت اصلاح کولو لپاره NOINDEX او د فساد حل لپاره د ترمیم پیرامیټرونه. تاسو کولی شئ د دقیق جدول پیژندنې لپاره د سکیما نومونه هم مشخص کړئ:

DBCC CHECKTABLE('SchemaName.TableName', NOINDEX)

دا tarد ګیټډ طریقه د کاري ساعتونو په جریان کې د سیسټم فعالیت ساتلو سره د بشپړتیا دقیق تصدیق ته اجازه ورکوي.

۷.۳ د لویو ډیټابیسونو لپاره د فعالیت ګټې

د CHECKTABLE عملیات د بشپړ ډیټابیس چیکونو په پرتله خورا ګړندي بشپړیږي، چې د مهمو جدولونو د بشپړتیا ډیر ځله تایید ته اجازه ورکوي. دا طریقه د اړینو سوداګریزو جدولونو ورځني تایید ته اجازه ورکوي پداسې حال کې چې د اونۍ یا میاشتني مهالویشونو لپاره جامع CHECKDB عملیات خوندي کوي. د سرچینو کم مصرف CHECKTABLE د لږترلږه کارونکي اغیزې سره د تولید چاپیریال اجرا کولو لپاره مناسب کوي.

۸. کله چې CHECKDB ناکام شي

د DBCC CHECKDB به په مختلفو سناریوګانو کې ناکام شي، په شمول د:

په دې سناریوګانو کې، موږ یوې ډیرې مسلکي وسیلې ته اړتیا لرو چې موږ سره په ډیټابیس کې د فسادونو په حل کې مرسته وکړي.

9.1 پیژندنه DataNumen SQL Recovery

DataNumen SQL Recovery نور پرمختللي وړتیاوې وړاندې کوي:

  • د رغیدو غوره نرخ په صنعت کې.
  • د ډیټابیس سخت فاسد فایلونه بیرته ترلاسه کړئ.
  • ټول ډیټابیس شیان بیرته ترلاسه کړئ، پشمول د جدولونو، شاخصونو، لیدونو، محرکونو، قواعدو، او ډیفالټونو.
  • ذخیره شوي پروسیجرونه، د سکیلر افعال، د انلاین میز ارزښت لرونکي افعال، او د څو اړخیز میز ارزښت لرونکي افعال بیرته ترلاسه کړئ.
  • د تل لپاره حذف شوي ریکارډونه بیرته ترلاسه کړئ.
  • کوډ شوي شیان په کې کوډ کړئ SQL Server توکبنسټ.
  • د MDF فایلونه په بیچ کې ترمیم کړئ.
  • د ترمیم جامع انتخابونه.
  • پرمختللی ننوتل او راپور ورکول.
  • د ټولو لپاره ملاتړ SQL Server نسخه.
  • د تخنیکي ملاتړ شتون
  • منظم تازه کول او پرمختګونه

۸.۲ د بریالیتوب کچه پرتله کول

د بیا رغونې بریالیتوب کچه د پام وړ توپیر لري:

  • د DBCC چک DB او د چک وړ: ۸۵٪ د رغیدو اوسط کچه
  • DataNumen: ۸۵٪ د بیا رغونې کچه

لاندې یو بشپړ رقابتي پرتله کول دي:

د بیا رغونې د کچې پرتله کولو چارټ د DataNumen SQL Recovery او نور سیالان، په شمول د DBCC CHECKDB او CHECKTABLE.

9.3 د شدید فساد څخه بیا رغونه

د سختو قضیو لپاره پرمختللي وړتیاوې:

  • له فزیکي پلوه زیانمن شوي ذخیره څخه رغونه
  • د فارمیټ شوي ډرایو یا کریش شوي سیسټمونو څخه رغونه
  • د ډیسک عکسونو ، بیک اپ فایلونو ، د مجازی ماشین ډیسک فایلونو ، ټیمپو څخه بیرته ترلاسه کړئrary فایلونه، او نور.

۸.۵ کله چې مسلکي حل لارې په پام کې ونیسئ

  • د وروستي بیک اپ شتون نشته
  • د DBCC CHECKDB ناکام شو
  • د فساد سختې سناریوګانې
  • د مهمو سوداګریزو معلوماتو سره معامله کول
  • کله چې وخت نازک وي
  • کله چې اعظمي رغونه اړینه وي

10. پوښتنې

۹.۱ د کارونې اساسي پوښتنې

پوښتنه: زه باید څو ځله د DBCC CHECKDB کاروم؟

A: د مهمو تولیدي ډیټابیسونو لپاره، په اونۍ کې CHECKDB چل کړئ. د لوړ لیږد سیسټمونو لپاره، د PHYSICAL_ONLY اختیار په کارولو سره ورځني چکونه په پام کې ونیسئ، په اونۍ کې بشپړ چکونه سره. د پراختیا ډیټابیسونه هره میاشت لیدل کیدی شي.

پوښتنه: ایا زه کولی شم د ژوندۍ تولید ډیټابیس کې DBCC CHECKDB پرمخ بوځم؟

A: هو، DBCC CHECKDB کولی شي په آنلاین ډیټابیسونو کې پرته له دې چې کاروونکي بلاک کړي، پرمخ بوځي. په هرصورت، دا د پام وړ سرچینې مصرفوي، نو د ټیټ فعالیت په دوره کې یې مهالویش کړئ او د سیسټم فعالیت وڅارئ.

پوښتنه: د CHECKDB او CHECKTABLE ترمنځ څه توپیر دی؟

A: CHECKDB ټول ډیټابیس معاینه کوي، پداسې حال کې چې CHECKTABLE په انفرادي جدولونو تمرکز کوي. د CHECKTABLE لپاره وکاروئ tarد ستونزو حل کول یا کله چې تاسو اړتیا لرئ د ټول ډیټابیس سکین کولو پرته ځانګړي جدولونه وګورئ.

۹.۲ د فعالیت او سرچینو پوښتنې

پوښتنه: ولې DBCC CHECKDB زما په لوی ډیټابیس کې دومره وخت نیسي؟

A: د CHECKDB موده د ډیټابیس اندازې، هارډویر فعالیت، او کارول شوي انتخابونو پورې اړه لري. د ګړندي چیکونو لپاره PHYSICAL_ONLY وکاروئ، یا د غیر کلستر شوي شاخصونو پریښودو لپاره NOINDEX وکاروئ. د وقف شوي سرچینو سره د ساتنې پرمهال د وینډوز چلولو په اړه فکر وکړئ.

پوښتنه: CHECKDB څومره tempdb ځای ته اړتیا لري؟

A: عموما، د CHECKDB عملیاتو په جریان کې د خپل ډیټابیس اندازې 10-15٪ د tempdb لپاره ځانګړې کړئ. د دقیق اټکلونو ترلاسه کولو لپاره د ESTIMATEONLY اختیار وکاروئ: DBCC CHECKDB('YourDB') WITH ESTIMATEONLY

پوښتنه: ایا زه کولی شم د CHECKDB روان عملیات لغوه کړم؟

A: هو، تاسو کولی شئ د سیشن ID کې د KILL قوماندې په کارولو سره CHECKDB لغوه کړئ. په هرصورت، لغوه کول د ډیټابیس بشپړتیا په اړه هیڅ معلومات نه ورکوي، او تاسو به اړتیا ولرئ چې وروسته یې بیا چل کړئ.

۹.۳ د پوښتنو په اداره کولو کې تېروتنه

پوښتنه: CHECKDB غلطۍ وموندلې - ایا زه باید ویره ولرم؟

A: مه وېرېږئ، خو ژر تر ژره عمل وکړئ. لومړی، دا معلومه کړئ چې ایا CHECKDB په بریالیتوب سره بشپړ شو مګر فساد یې وموند، یا که CHECKDB پخپله ونه چلېد. وګورئ چې ایا غلطۍ یوازې غیر کلستر شوي شاخصونه (لږ مهم) یا د جدول معلومات (ډیر جدي) اغیزه کوي.

پوښتنه: زه باید کله REPAIR_ALLOW_DATA_LOSS وکاروم؟

A: یوازې د وروستۍ حل لارې په توګه کله چې تاسو د کارولو وړ بیک اپ نلرئ او د ډیټا ضایع کول د ټول ډیټابیس ضایع کیدو په پرتله د منلو وړ دي. تل هڅه وکړئ چې لومړی له بیک اپ څخه بیرته راګرځول شي، ځکه چې د ترمیم عملیات کولی شي د دایمي معلوماتو ضایع کیدو لامل شي.

پوښتنه: "په ډیټابیس کې د دوامدارۍ تېروتنې" او "د تخصیص تېروتنې" څه معنی لري؟

A: د تخصیص غلطۍ څنګه اغیزه کوي SQL Server د ډیسک ځای کارول تعقیبوي، پداسې حال کې چې د ثبات غلطۍ د معلوماتو یا شاخص جوړښتونو سره ستونزې په ګوته کوي. دواړه پاملرنې ته اړتیا لري، مګر د ثبات غلطۍ معمولا د معلوماتو لاسرسي په مستقیم ډول اغیزه کوي.

۹.۴ د بیک اپ او بیا رغونې پوښتنې

پوښتنه: ایا زه باید په خپلو بیک اپونو کې CHECKDB چل کړم؟

A: بالکل! د سرورونو ازموینې لپاره د بیک اپونو له بیا رغولو وروسته CHECKDB چل کړئ. دا د بیک اپ بشپړتیا تاییدوي او ډاډ ورکوي چې تاسو واقعیا د فساد څخه بیرته راګرځیدلی شئ. که امکان ولري نو دا پروسه اتومات کړئ.

پوښتنه: زما بیک اپ هم فاسد شوی دی - اوس څه؟

A: زاړه بیک اپونه هڅه وکړئ تر هغه چې تاسو یو پاک بیک اپ ونه مومئ. که چیرې پاک بیک اپ شتون ونلري، نو د مسلکي بیا رغونې حلونه په پام کې ونیسئ لکه DataNumen SQL Recoveryد فساد د مهال ویش مستند کول ترڅو په راتلونکي کې د دې پیښې مخه ونیول شي.

پوښتنه: ایا د ډیټابیس بشپړ بیا رغونې پرته د پاڼې بیا رغونه د فساد حل کولی شي؟

A: هو، مګر یوازې په SQL Server د انټرپرائز ایډیشن د بشپړ بیا رغونې ماډل او اوسني لاګ بیک اپ سره. د پاڼې بیا رغونه د جلا شوي پاڼې فساد لپاره کار کوي مګر د مناسبو پروسیجرونو تعقیب په احتیاط سره اجرا کولو ته اړتیا لري.

۹.۵ د ستونزو حل کولو پوښتنې

پوښتنه: CHECKDB د "ځای څخه بهر" غلطیو سره ناکام کیږي - زه څه کولی شم؟

A: د tempdb ځای خالي کړئ، tempdb ګړندي ذخیره ته واستوئ، یا د tempdb کارول کمولو لپاره د TABLOCK اختیار وکاروئ. د سرچینو اړتیاو کمولو لپاره د NOINDEX یا PHYSICAL_ONLY سره د CHECKDB چلولو په اړه فکر وکړئ.

پوښتنه: څنګه کولی شم معلومه کړم چې کوم جدول د CHECKDB محصول څخه فساد لري؟

A: د غلطۍ پیغامونو کې د "شیانو ID" شمیرې وګورئ، بیا یې وکاروئ: SELECT OBJECT_NAME(object_id) د جدول نومونه موندلو لپاره. د تېروتنې پیغامونو کې د دقیق ځای پیژندنې لپاره د پاڼې او سلاټ شمیرې هم شاملې دي.

پوښتنه: ایا د هارډویر ستونزې د CHECKDB د غلط مثبت راپور ورکولو لامل کیدی شي؟

A: هو، د هارډویر ناکامي (په ځانګړې توګه ذخیره کول) کولی شي د وقفې وقفې فساد لامل شي چې د CHECKDB چلولو ترمنځ څرګندیږي او ورک کیږي. که غلطۍ متضاد وي، خپل I/O فرعي سیسټم وپلټئ او د نمونو تایید لپاره ډیری چیکونه ترسره کړئ.

۹.۶ د پرمختللې ترتیب پوښتنې

پوښتنه: کوم ټریس بیرغونه کولی شي د CHECKDB فعالیت ښه کړي؟

A: د ټریس فلګ ۲۵۶۲ کولی شي د CHECKDB د یوې واحدې ډلې په چلولو سره فعالیت ښه کړي. د ټریس فلګ ۲۵۴۹ هغه وخت مرسته کوي کله چې د ډیټابیس فایلونه په جلا ډیسکونو کې وي. دا په احتیاط سره وکاروئ او لومړی په غیر تولید کې ازموینه وکړئ.

پوښتنه: زه څنګه د CHECKDB څارنه او خبرتیا اتومات کولی شم؟

A: کارول SQL Server د غلطیو شمیرو 8930، 8939، او نورو لپاره د اجنټ خبرتیاوې. د CHECKDB پایلو استخراج لپاره د لاګ پارسینګ پلي کړئ، او د هر ډول فساد کشف لپاره خبرتیاوې رامینځته کړئ. د اولا هالینګرین سکریپټونو په څیر د ساتنې حل چوکاټونو کارولو په اړه فکر وکړئ.

پوښتنه: ایا زه باید د EXTENDED_LOGICAL_CHECKS انتخاب وکاروم؟

A: یوازې هغه وخت چې تاسو د پیچلي منطقي فساد شک لرئ او د فعالیت کافي سر ولرئ. دا اختیار د شاخص شوي لیدونو، XML شاخصونو، او ځایي شاخصونو اضافي چکونه ترسره کوي مګر د اجرا کولو وخت د پام وړ زیاتوي.

11. پایله

۲.۶ د مهمو ټکو لنډیز

۹.۱.۱ د DBCC CHECKDB د مهمو امرونو لنډیز

د جامع ډیټابیس چک کولو لپاره د DBCC CHECKDB اساسي ترکیب ماسټر کړئ، د فعالیت اصلاح کولو لپاره NOINDEX او PHYSICAL_ONLY اختیارونه وکاروئ، او د CHECKTABLE پوه شئ. tarد جدول تایید ترلاسه کول. دا بنسټیز امرونه د فعال ډیټابیس ساتنې بنسټ جوړوي، چې د فساد لومړني کشف او د سیستماتیک بشپړتیا څارنې ته اجازه ورکوي.

۹.۱.۲ د غوره کړنو مهمې یادونې

د بشپړتیا چکونو د ترسره کولو دمخه تل اوسني بیک اپونه وساتئ، د ډیټابیس د اهمیت پراساس منظم CHECKDB عملیات مهالویش کړئ، او د فوري فساد خبرتیاو لپاره اتوماتیک څارنه پلي کړئ. په یاد ولرئ چې د منظم څارنې له لارې مخنیوی د غبرګون وړ طریقو څخه غوره دی، او مسلکي بیا رغونې حلونه ارزښتناکه بیک اپ اختیارونه چمتو کوي کله چې معیاري وسایل ناکافي ثابت شي.

۹.۲ کله چې د پرمختللي حل لارو په پرتله د DBCC CHECKDB څخه کار واخلئ

د عادي بشپړتیا څارنې او د فساد د کوچني حل لپاره د DBCC CHECKDB څخه کار واخلئ، پداسې حال کې چې د ترمیم ظرفیتونو هاخوا د جدي فساد سناریوګانو لپاره مسلکي بیا رغونې وسایل خوندي کړئ. د پریکړې چوکاټ باید د بیک اپ شتون، د معلوماتو اهمیت، د وخت محدودیتونه، او د فساد شدت په پام کې ونیسي. د ډیټابیس بریالي مدیران د CHECKDB منظم څارنه د جامع بیک اپ ستراتیژیو او د پرمختللي بیا رغونې اختیارونو پوهاوي سره یوځای کوي کله چې معیاري طریقې ناکافي ثابت شي.

12. حوالې

  1. مایکروسافټ زده کړه. "DBCC CHECKDB (Transact-SQL)." SQL Server لاسوندمایکروسافټ کارپوریشن.
    https://learn.microsoft.com/en-us/sql/t-sql/database-console-commands/dbcc-checkdb-transact-sql?view=sql-server-ver17
  2. مایکروسافټ زده کړه. "د DBCC CHECKDB لخوا راپور شوي د ډیټابیس تسلسل غلطۍ حل کړئ." SQL Server لاسوندمایکروسافټ کارپوریشن.
    https://learn.microsoft.com/en-us/troubleshoot/sql/database-engine/database-file-operations/troubleshoot-dbcc-checkdb-errors
اوس شریک کړئ: