- მონაცემთა დაკარგვა ჩვეულებრივი პრობლემაა, მაგრამ ჩვენ გაჩვენებთ, თუ როგორ უნდა შეაკეთოთ დაზიანებული მონაცემთა ბაზა SQL Server-ში.
- ეს პრობლემა შეიძლება წარმოიშვას ფაილის უბრალო გადაწერით ან შემთხვევით წაშლით ვირუსული ინფექციით და არასწორი კონფიგურაციით.
- საცავის დისკის გაუმართაობამ ასევე შეიძლება გამოიწვიოს ფაილების გაფუჭება და ეს მოიცავს თქვენს SQL მონაცემთა ბაზას.
რა თქმა უნდა, იმედგაცრუებულია თქვენს SQL სერვერზე დაზიანებული მონაცემთა ბაზის აღმოჩენა აშკარა მიზეზების გამო. თქვენ ვერ შეხვალთ ინფორმაციაზე და თქვენი სამუშაო სრულდება.
თუმცა, არსებობს მრავალი გზა, რომლითაც შეგიძლიათ მოაგვაროთ ეს პრობლემა ხელით გადაწყვეტილებებით ან მესამე მხარის გონივრული, გამოყოფილი ხელსაწყოს გამოყენებით ე.წ. აღდგენის ხელსაწყოთა ყუთი SQL სერვერისთვის.
მაგრამ სანამ პრობლემების აღმოფხვრას დავიწყებთ, მოდით გავიგოთ და ცოტათი გამოვიკვლიოთ, რატომ ხდება ეს პრობლემა პირველ რიგში.
რა არის SQL სერვერი და როგორ შეგვიძლია მონაცემთა ბაზის იდენტიფიცირება?
SQL Server არის მონაცემთა ბაზის სისტემა, შემუშავებული Microsoft-ის მიერ, რომელიც გამოიყენება სხვა აპლიკაციების მიერ მონაცემების მართვის, შესანახად და მოსაძიებლად.
არსებობს სამი ტიპის ფაილი მონაცემთა შესანახად და სამართავად SQL Server-ში: პირველადი ფაილები (.MDF გაფართოებით), მეორადი ფაილები (.NDF გაფართოებით) და ჟურნალის ფაილები (.LDF გაფართოებით).
ჩვენ განსაკუთრებით გვაინტერესებს MDF ფაილები, რადგან ეს არის ის, ვინც უზრუნველყოფს მონაცემთა ბაზის შენახვას.
რატომ ზიანდება მონაცემთა ბაზა SQL სერვერზე?
არსებობს მრავალი შესაძლო მიზეზი, რის გამოც თქვენი SQL სერვერის მონაცემთა ბაზა შეიძლება დაზიანდეს, ფაილის მარტივი გადაწერიდან ან შემთხვევით წაშლიდან ვირუსულ ინფექციებამდე და არასწორი კონფიგურაციამდე.
განვიხილოთ ამ პრობლემის რამდენიმე ყველაზე გავრცელებული მიზეზი:
- ფაილის გადაწერა – თუ შეცდომით დაწერთ არსებულ MDF ფაილს, თქვენ რისკავთ მონაცემთა ბაზის დაზიანებას
- ცდილობს განბლოკოს SQL მონაცემთა ბაზა - Თუ შენ დაგავიწყდა SQL პაროლი და ძალიან ბევრჯერ შეიტანეთ არასწორად, ამან შეიძლება გამოიწვიოს SQL სერვერის კორუფცია
- წარუმატებლობა თქვენს საცავის დისკზე – ცხადია, რომ დისკის გაუმართაობამ შეიძლება გამოიწვიოს ფაილების კორუფცია, მონაცემთა ბაზის ჩათვლით
- პრობლემები SQL მონაცემთა ბაზის კონფიგურაციასთან დაკავშირებით – თუ SQL კონფიგურაცია იცვლება, ამან შეიძლება გამორთოს წვდომა MDF ფაილებზე
- Ვირუსული ინფექცია – ეს არის საერთო პრობლემა ნებისმიერი ფაილის დაზიანებისთვის, არა მხოლოდ SQL მონაცემთა ბაზის ფაილებისთვის და მაშინაც კი, თუ თქვენ ამოიღებთ ვირუსს საუკეთესო ანტივირუსების გამოყენებით, სამწუხაროდ, შესაძლოა დაკარგოთ გარკვეული მონაცემები.
- SQL შიდა შეცდომები – მიუხედავად იმისა, რომ ეს არის ძლიერი გამოსავალი, მას შეიძლება მაინც ჰქონდეს თავისი შეცდომები, რამაც შეიძლება გამოიწვიოს MDF ფაილების კორუფცია
როგორც ითქვა, მიჰყევით ჩვენს ნაბიჯ-ნაბიჯ სახელმძღვანელოს, რომ ისწავლოთ SQL მონაცემთა ბაზის ფაილის შეკეთება SQL სერვერზე.
როგორ შემიძლია შეაკეთო დაზიანებული მონაცემთა ბაზა SQL Server-ში?
ᲨᲔᲜᲘᲨᲕᲜᲐ
Შენიშვნა: რაიმეს დაწყებამდე შეასრულეთ SQL ბიბლიოთეკის სარეზერვო ასლი.
1. გადატვირთეთ SQL სერვერი
- გახსენით ტერმინალი და შეიყვანეთ შემდეგი ბრძანება SQL სერვერის შესაჩერებლად:
systemctl mysql გაჩერება
- SQL Server-ის სტატუსის შესამოწმებლად, ჩაწერეთ შემდეგი ბრძანება და დააჭირეთ შედი:
სტატუსი mysql.service
- ახლა გადატვირთეთ SQL სერვერი ტერმინალში შემდეგი ბრძანების შესრულებით:
გადატვირთეთ mysql.service
ზოგჯერ, პრობლემის გადაჭრა შეგიძლიათ მხოლოდ SQL სერვერის გადატვირთვით. რა თქმა უნდა, ის არ მუშაობს ყოველ ჯერზე, მაგრამ მისი შესრულება იმდენად მარტივია, რომ შესრულება არ დააზარალებს.
2. შეაკეთეთ დაზიანებული მაგიდა
- გაუშვით SQL Server.
- ჩაწერეთ შემდეგი ბრძანება და დააჭირეთ შედი გასაშვებად:
შეამოწმეთ TABLE-ის_სახელი;
- თუ ის აღმოაჩენს ცხრილში რაიმე პრობლემას, ჩაწერეთ შემდეგი ბრძანება და დააჭირეთ შედი:
REPAIR TABLE მაგიდის სახელი;
სარემონტო ცხრილი დაგეხმარებათ შეაკეთოთ ცხრილი და შეგიძლიათ იგივე გააკეთოთ ნებისმიერი სხვა დაზიანებული მაგიდის შემთხვევაში, მაგრამ ამ გზით შეიძლება დაკარგოთ ცხრილიდან გარკვეული მონაცემები.
3. გამოიყენეთ mysqlcheck ბრძანება
- გახსენით ტერმინალი და ჩაწერეთ ან ჩასვით შემდეგი ბრძანება მონაცემთა ბაზის საქაღალდეში მისასვლელად და დააჭირეთ შედი:
cd /var/lib/mysql
- ახლა ჩაწერეთ შემდეგი ბრძანება ცხრილის შესამოწმებლად და დააჭირეთ შედი. დარწმუნდით, რომ შეცვალეთ და ნამდვილი სახელებით:
mysqlcheck
- თუ მიიღებთ შეტყობინებას, რომ ცხრილი დაზიანებულია, ჩაწერეთ შემდეგი ბრძანება მის შესაკეთებლად და დააჭირეთ შედი:
mysqlcheck -r
4. გამოიყენეთ ALTER TABLE ბრძანებები
- ჩაწერეთ შემდეგი ბრძანება თქვენი ცხრილის ტიპის შესამოწმებლად (ჩვენს შემთხვევაში, ეს არის MyISAM ცხრილი):
ცხრილის შექმნა
;
- ცხრილის აღდგენისთვის, ჩაწერეთ შემდეგი ბრძანება და დააჭირეთ შედი:
ALTER Table
ძრავა = MyISAM;
- თუ თქვენ გაქვთ InnoDB მონაცემთა ბაზა, ჩაწერეთ შემდეგი ბრძანება ამის ნაცვლად:
ALTER Table
ძრავა = InnoDB;
- ჩამოტვირთეთ და დააინსტალირეთ Microsoft SQL Server 2019
- საუკეთესო SQL სერვერის სარეზერვო პროგრამა [უფასო და ფასიანი]
- როგორ დავიცვათ SQL სერვერის მონაცემთა ბაზა
5. შეაკეთეთ მონაცემთა ბაზა SQL Server-ისთვის Recovery Toolbox-ის გამოყენებით
- გადადით Recovery Toolbox for SQL Server გამოყოფილი გვერდზე და დააწკაპუნეთ ჩამოტვირთვა ღილაკი.
- დააინსტალირეთ აპლიკაცია ენის არჩევისა და სალიცენზიო ხელშეკრულების მიღების შემდეგ.
- დააწკაპუნეთ დასრულება SQL Server MDF სარემონტო ხელსაწყოს გასაშვებად.
- აირჩიეთ დაზიანებული *.მდფ ფაილი წყაროს საქაღალდის ხატულაზე დაწკაპუნებით.
- მას შემდეგ რაც აირჩევთ, დააწკაპუნეთ შემდეგი ღილაკი.
- ახლა თქვენ შეძლებთ წინასწარ დაათვალიეროთ მონაცემები, რომელთა მიღება შესაძლებელია Microsoft SQL Server-ის დაზიანებული მონაცემთა ბაზიდან. დააწკაპუნეთ შემდეგი Microsoft SQL MDF აღდგენის ხელსაწყოს ფანჯარაში პროცესის დასაწყებად.
- ახლა თქვენ მხოლოდ უნდა აირჩიოთ მონაცემთა ექსპორტის მეთოდი. შეგიძლიათ შეინახოთ როგორც SQL სკრიპტები დისკზე და თუნდაც SQL სკრიპტის პირდაპირ მონაცემთა ბაზაზე შესრულება.
- ბოლოს აირჩიეთ რა მონაცემები შეინახოთ და დააწკაპუნეთ დაიწყეთ აღდგენა.
ასე რომ, ეს არის როგორ შეაკეთოთ SQL სერვერის მონაცემთა ბაზის ფაილები ამ მარტივი და ეფექტური ინსტრუმენტით. როგორც ხედავთ, საქმეს ბევრად უფრო სწრაფად შეასრულებს.
The MS SQL სერვერის აღდგენის ინსტრუმენტი ასევე დაგეხმარებათ, თუ MDF მონაცემთა ბაზასთან დაკავშირებით შემდეგი პრობლემების წინაშე დგახართ:
- Microsoft SQL Server შეცდომა 5172 – FILE SIZE თვისება არასწორია
- SQL სერვერმა აღმოაჩინა ლოგიკურ თანმიმდევრულობაზე დაფუძნებული I/O შეცდომა - ეს არის არასწორი საკონტროლო ჯამი, სხვაგვარად ცნობილი როგორც შეცდომა 824 SQL სერვერზე
- ინდექსის განაწილების რუკის (IAM) გვერდი მითითებულია IAM გვერდის შემდეგი მაჩვენებლით. - საკმაოდ გავრცელებული პრობლემაა
- I/O შეცდომა, არასწორი გვერდის ID, აღმოჩენილია ფაილში FileName.mdf 0x###### წაკითხვისას. – ეს ხშირად არ ჩანს, მაგრამ თქვენ მაინც შეგიძლიათ შეაკეთოთ იგი ამ პატარა ხელსაწყოთი
- როგორც ჩანს, ფაილი შეკვეცა ოპერაციული სისტემის შეცდომით - სავარაუდოდ გამოწვეულია კონფიგურაციის პრობლემის გამო
- შეცდომა მოხდა ჟურნალის ჩანაწერის ID-ში – ეს ხდება მონაცემთა ბაზაში შესული ოპერაციის ხელახალი გაკეთების დროს
რეალურად, SQL Server-ისთვის Recovery Toolbox-ით შეაკეთეთ დაზიანებული .mdf ფაილების ყველა ობიექტი, მონაცემთა ტიპების, ცხრილის ჩათვლით უჯრედის მონაცემები, ნახვები, შენახული პროცედურები, მორგებული ფუნქციები, ტრიგერები, ინდექსები, ძირითადი და უცხოური გასაღებები, შეზღუდვები და სხვები.
და დიდი უპირატესობა ის არის, რომ თქვენ შეგიძლიათ შეკეთებული მონაცემების ექსპორტი პირდაპირ Microsoft SQL Server-ში შეუფერხებლად აპიდან.
Ეს არის ის! ახლა თქვენ იცით, როგორ შეაკეთოთ თქვენი SQL Server მონაცემთა ბაზა ხელით ან სპეციალური ხელსაწყოს გამოყენებით.
თუ თქვენ იცით დამატებითი მეთოდები ან გაქვთ რაიმე შეკითხვები, ჩვენ ველოდებით მათ ქვემოთ მოცემულ კომენტარებში.