სიმპტომი:

გამოყენებისას DBCC CHECKDB ერთად REPAIR_ALLOW_DATA_LOSS პარამეტრი კორუმპირებული .MDF მონაცემთა ბაზის შესაკეთებლად, როგორიცაა:

DBCC CHECKDB (xxxx, 'REPAIR_ALLOW_DATA_LOSS')

ხედავთ შემდეგ შეცდომის შეტყობინებას:

DBCC შედეგები 'xxxx'-ისთვის.
CHECKDB-მა აღმოაჩინა 0 განაწილების შეცდომა და 0 თანმიმდევრულობის შეცდომა მონაცემთა ბაზაში 'xxxx'.
ქალბატონი 824, დონე 24, მდგომარეობა 2, ხაზი 8
SQL Server აღმოაჩინა ლოგიკურ თანმიმდევრულობაზე დაფუძნებული I/O შეცდომა: არასწორი საკონტროლო ჯამი (მოსალოდნელია: 0xea8a9a2f; რეალური: 0x37adbff8). ეს მოხდა მონაცემთა ბაზის ID 1 გვერდის წაკითხვისას (28:39) ოფსეტურით 0x00000000038000 ფაილში 'xxxx.mdf'. დამატებითი შეტყობინებები ში SQL Server შეცდომების ჟურნალი ან სისტემის მოვლენების ჟურნალი შეიძლება მოგვაწოდოს მეტი დეტალი. ეს არის სერიოზული შეცდომის მდგომარეობა, რომელიც საფრთხეს უქმნის მონაცემთა ბაზის მთლიანობას და დაუყოვნებლივ უნდა გამოსწორდეს. დაასრულეთ მონაცემთა სრული თანმიმდევრულობის შემოწმება (DBCC CHECKDB). ეს შეცდომა შეიძლება გამოწვეული იყოს მრავალი ფაქტორით; დამატებითი ინფორმაციისთვის იხ SQL Server წიგნები ონლაინ.

სადაც 'xxxx.mdf' არის კორუმპირებული MDF ფაილის სახელი, რომელიც გარემონტდება. მიუხედავად იმისა, რომ CHECKDB ამბობს

CHECKDB-მა აღმოაჩინა 0 განაწილების შეცდომა და 0 თანმიმდევრულობის შეცდომა მონაცემთა ბაზაში 'xxxx'.

ეს მაინც თანმიმდევრულობის შეცდომაა (შეტყობინება 824) მონაცემთა ბაზაში.

შეცდომის შეტყობინების სკრინშოტი:

ლოგიკურ თანმიმდევრულობაზე დაფუძნებული I/O შეცდომა: არასწორი საკონტროლო ჯამი

თუ კორუფცია სერიოზულია, მაშინ იქნება მუდმივი შეცდომის შეტყობინებები (შეტყობინება 824), როგორც ქვემოთ:

ქალბატონი 824, დონე 24, მდგომარეობა 6, ხაზი 2 SQL Server აღმოაჩინა ლოგიკურ თანმიმდევრულობაზე დაფუძნებული I/O შეცდომა: არასწორი საკონტროლო ჯამი (მოსალოდნელია: 0x3d17dfef; ფაქტობრივი: 0xd81748ef). ეს მოხდა მონაცემთა ბაზის ID 1 გვერდის წაკითხვისას (0:39) ოფსეტურით 0000000000000000 ფაილში 'xxxx.mdf'. დამატებითი შეტყობინებები ში SQL Server შეცდომების ჟურნალი ან სისტემის მოვლენების ჟურნალი შეიძლება მოგვაწოდოს მეტი დეტალი. ეს არის სერიოზული შეცდომის მდგომარეობა, რომელიც საფრთხეს უქმნის მონაცემთა ბაზის მთლიანობას და დაუყოვნებლივ უნდა გამოსწორდეს. დაასრულეთ მონაცემთა სრული თანმიმდევრულობის შემოწმება (DBCC CHECKDB). ეს შეცდომა შეიძლება გამოწვეული იყოს მრავალი ფაქტორით; დამატებითი ინფორმაციისთვის იხ SQL Server წიგნები ონლაინ.

ქალბატონი 824, დონე 24, მდგომარეობა 6, ხაზი 4 SQL Server აღმოაჩინა ლოგიკურ თანმიმდევრულობაზე დაფუძნებული I/O შეცდომა: არასწორი საკონტროლო ჯამი (მოსალოდნელია: 0x3d17dfef; ფაქტობრივი: 0xd81748ef). ეს მოხდა მონაცემთა ბაზის ID 1 გვერდის წაკითხვისას (0:39) ოფსეტურით 0000000000000000 ფაილში 'xxxx.mdf'. დამატებითი შეტყობინებები ში SQL Server შეცდომების ჟურნალი ან სისტემის მოვლენების ჟურნალი შეიძლება მოგვაწოდოს მეტი დეტალი. ეს არის სერიოზული შეცდომის მდგომარეობა, რომელიც საფრთხეს უქმნის მონაცემთა ბაზის მთლიანობას და დაუყოვნებლივ უნდა გამოსწორდეს. დაასრულეთ მონაცემთა სრული თანმიმდევრულობის შემოწმება (DBCC CHECKDB). ეს შეცდომა შეიძლება გამოწვეული იყოს მრავალი ფაქტორით; დამატებითი ინფორმაციისთვის იხ SQL Server წიგნები ონლაინ.

სადაც 'xxxx.mdf' არის კორუმპირებული MDF ფაილის სახელი, რომელიც გარემონტდება.

შეცდომის შეტყობინების სკრინშოტი:

თუ კორუფცია უფრო მკაცრია, შეგიძლიათ ნახოთ შეტყობინება 7909 შემდეგნაირად შეტყობინება 824:

DBCC შედეგები 'xxxx'-ისთვის.
CHECKDB-მა აღმოაჩინა 0 განაწილების შეცდომა და 0 თანმიმდევრულობის შეცდომა მონაცემთა ბაზაში 'xxxx'.
ქალბატონი 824, დონე 24, მდგომარეობა 2, ხაზი 8
SQL Server აღმოაჩინა ლოგიკურ თანმიმდევრულობაზე დაფუძნებული I/O შეცდომა: არასწორი საკონტროლო ჯამი (მოსალოდნელია: 0xcfcd2118; რეალური: 0x6fc599d6). ეს მოხდა მონაცემთა ბაზის ID 1 გვერდის წაკითხვისას (1:39) ოფსეტურით 0x00000000002000 ფაილში 'xxxx.mdf'. დამატებითი შეტყობინებები ში SQL Server შეცდომების ჟურნალი ან სისტემის მოვლენების ჟურნალი შეიძლება მოგვაწოდოს მეტი დეტალი. ეს არის სერიოზული შეცდომის მდგომარეობა, რომელიც საფრთხეს უქმნის მონაცემთა ბაზის მთლიანობას და დაუყოვნებლივ უნდა გამოსწორდეს. დაასრულეთ მონაცემთა სრული თანმიმდევრულობის შემოწმება (DBCC CHECKDB). ეს შეცდომა შეიძლება გამოწვეული იყოს მრავალი ფაქტორით; დამატებითი ინფორმაციისთვის იხ SQL Server წიგნები ონლაინ.
ქალბატონი 7909, დონე 20, მდგომარეობა 1, ხაზი 8
გადაუდებელი რეჟიმის შეკეთება ვერ მოხერხდა. თქვენ უნდა აღადგინოთ სარეზერვო ასლი.

სადაც 'xxxx' არის მონაცემთა ბაზის სახელი და 'xxxx.mdf' არის მონაცემთა ბაზის ფიზიკური ფაილის სახელი.

შენიშვნა შეტყობინება 7909 არის სერიოზული შეცდომა, რომელიც შეიძლება მოხდეს ბევრ სიტუაციაში ნებისმიერ დროს SQL Server ფიქრობენ, რომ მონაცემთა ბაზა აღდგენის მიღმაა.

შეცდომის შეტყობინების სკრინშოტი:

ზუსტი ახსნა:

MDF ფაილში მონაცემები ინახება როგორც 8KB გვერდები. თითოეულ გვერდს აქვს არასავალდებულო შემოწმების ველი.

თუ DBCC CHECKDB ბრძანება აღმოაჩენს შემოწმების ჯამის მნიშვნელობებს სათაურის გვერდზე, PFS გვერდზე და მონაცემთა ზოგიერთ გვერდში არასწორია და ვერ გამოასწორებს პრობლემას, მაშინ ის შეატყობინებს ამ შეცდომას(შეტყობინება 824). თუ კორუფცია მძიმეა, შეიძლება იყოს მუდმივი შეცდომები (შეტყობინება 824) ან მოჰყვება სხვა შეცდომა (შეტყობინება 7909).

თქვენ შეგიძლიათ გამოიყენოთ ჩვენი პროდუქტი DataNumen SQL Recovery აღადგინოს მონაცემები დაზიანებული MDF ფაილიდან და მოაგვაროს ეს შეცდომა.

ფაილების ნიმუშები:

აიღეთ დაზიანებული MDF ფაილები, რომლებიც გამოიწვევს შეცდომას (ერთჯერადი შეტყობინება 824 შეცდომა):

SQL Server ვერსია დაზიანებული MDF ფაილი MDF ფაილი დაფიქსირდა DataNumen SQL Recovery
SQL Server 2014 შეცდომა1_3.mdf Error1_3_fixed.mdf

აიღეთ დაზიანებული MDF ფაილები, რომლებიც გამოიწვევს შეცდომას (უწყვეტი შეტყობინება 824 შეცდომები):

SQL Server ვერსია დაზიანებული MDF ფაილი MDF ფაილი დაფიქსირდა DataNumen SQL Recovery
SQL Server 2014 შეცდომა1_1.mdf შეცდომა 1_1_გასწორდა.mdf

აიღეთ დაზიანებული MDF ფაილები, რომლებიც გამოიწვევს შეცდომას (Msg 824 შეცდომა, რასაც მოჰყვება Msg 7909 შეცდომა):

SQL Server ვერსია დაზიანებული MDF ფაილი MDF ფაილი დაფიქსირდა DataNumen SQL Recovery
SQL Server 2014 შეცდომა1_2.mdf Error1_2_fixed.mdf

 

წყაროები:

1. https://docs.microsoft.com/en-us/sql/relational-databases/errors-events/mssqlserver-824-database-engine-error?view=sql-server-ver15