როგორ შეაკეთოთ დაზიანებული მონაცემთა ბაზა SQL Server-ში [2022 სახელმძღვანელო]

  • მონაცემთა დაკარგვა ჩვეულებრივი პრობლემაა, მაგრამ ჩვენ გაჩვენებთ, თუ როგორ უნდა შეაკეთოთ დაზიანებული მონაცემთა ბაზა SQL Server-ში.
  • ეს პრობლემა შეიძლება წარმოიშვას ფაილის უბრალო გადაწერით ან შემთხვევით წაშლით ვირუსული ინფექციით და არასწორი კონფიგურაციით.
  • საცავის დისკის გაუმართაობამ ასევე შეიძლება გამოიწვიოს ფაილების გაფუჭება და ეს მოიცავს თქვენს SQL მონაცემთა ბაზას.
როგორ აღვადგინოთ დაზიანებული მონაცემთა ბაზა SQL Server-ში

რა თქმა უნდა, იმედგაცრუებულია თქვენს 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 სერვერი

  1. გახსენით ტერმინალი და შეიყვანეთ შემდეგი ბრძანება SQL სერვერის შესაჩერებლად: systemctl mysql გაჩერება
  2. SQL Server-ის სტატუსის შესამოწმებლად, ჩაწერეთ შემდეგი ბრძანება და დააჭირეთ შედი: სტატუსი mysql.service
  3. ახლა გადატვირთეთ SQL სერვერი ტერმინალში შემდეგი ბრძანების შესრულებით: გადატვირთეთ mysql.service

ზოგჯერ, პრობლემის გადაჭრა შეგიძლიათ მხოლოდ SQL სერვერის გადატვირთვით. რა თქმა უნდა, ის არ მუშაობს ყოველ ჯერზე, მაგრამ მისი შესრულება იმდენად მარტივია, რომ შესრულება არ დააზარალებს.

2. შეაკეთეთ დაზიანებული მაგიდა

  1. გაუშვით SQL Server.
  2. ჩაწერეთ შემდეგი ბრძანება და დააჭირეთ შედი გასაშვებად: შეამოწმეთ TABLE-ის_სახელი;
  3. თუ ის აღმოაჩენს ცხრილში რაიმე პრობლემას, ჩაწერეთ შემდეგი ბრძანება და დააჭირეთ შედი: REPAIR TABLE მაგიდის სახელი;

სარემონტო ცხრილი დაგეხმარებათ შეაკეთოთ ცხრილი და შეგიძლიათ იგივე გააკეთოთ ნებისმიერი სხვა დაზიანებული მაგიდის შემთხვევაში, მაგრამ ამ გზით შეიძლება დაკარგოთ ცხრილიდან გარკვეული მონაცემები.

3. გამოიყენეთ mysqlcheck ბრძანება

  1. გახსენით ტერმინალი და ჩაწერეთ ან ჩასვით შემდეგი ბრძანება მონაცემთა ბაზის საქაღალდეში მისასვლელად და დააჭირეთ შედი: cd /var/lib/mysql
  2. ახლა ჩაწერეთ შემდეგი ბრძანება ცხრილის შესამოწმებლად და დააჭირეთ შედი. დარწმუნდით, რომ შეცვალეთ და ნამდვილი სახელებით: mysqlcheck
  3. თუ მიიღებთ შეტყობინებას, რომ ცხრილი დაზიანებულია, ჩაწერეთ შემდეგი ბრძანება მის შესაკეთებლად და დააჭირეთ შედი: mysqlcheck -r

4. გამოიყენეთ ALTER TABLE ბრძანებები

  1. ჩაწერეთ შემდეგი ბრძანება თქვენი ცხრილის ტიპის შესამოწმებლად (ჩვენს შემთხვევაში, ეს არის MyISAM ცხრილი): ცხრილის შექმნა ;
  2. ცხრილის აღდგენისთვის, ჩაწერეთ შემდეგი ბრძანება და დააჭირეთ შედი: ALTER Table ძრავა = MyISAM;
  3. თუ თქვენ გაქვთ InnoDB მონაცემთა ბაზა, ჩაწერეთ შემდეგი ბრძანება ამის ნაცვლად: ALTER Table ძრავა = InnoDB;
წაიკითხეთ მეტი ამ თემის შესახებ
  • ჩამოტვირთეთ და დააინსტალირეთ Microsoft SQL Server 2019
  • საუკეთესო SQL სერვერის სარეზერვო პროგრამა [უფასო და ფასიანი]
  • როგორ დავიცვათ SQL სერვერის მონაცემთა ბაზა

5. შეაკეთეთ მონაცემთა ბაზა SQL Server-ისთვის Recovery Toolbox-ის გამოყენებით

  1. გადადით Recovery Toolbox for SQL Server გამოყოფილი გვერდზე და დააწკაპუნეთ ჩამოტვირთვა ღილაკი.
  2. დააინსტალირეთ აპლიკაცია ენის არჩევისა და სალიცენზიო ხელშეკრულების მიღების შემდეგ.
  3. დააწკაპუნეთ დასრულება SQL Server MDF სარემონტო ხელსაწყოს გასაშვებად.
  4. აირჩიეთ დაზიანებული *.მდფ ფაილი წყაროს საქაღალდის ხატულაზე დაწკაპუნებით.
  5. მას შემდეგ რაც აირჩევთ, დააწკაპუნეთ შემდეგი ღილაკი.
  6. ახლა თქვენ შეძლებთ წინასწარ დაათვალიეროთ მონაცემები, რომელთა მიღება შესაძლებელია Microsoft SQL Server-ის დაზიანებული მონაცემთა ბაზიდან. დააწკაპუნეთ შემდეგი Microsoft SQL MDF აღდგენის ხელსაწყოს ფანჯარაში პროცესის დასაწყებად.
  7. ახლა თქვენ მხოლოდ უნდა აირჩიოთ მონაცემთა ექსპორტის მეთოდი. შეგიძლიათ შეინახოთ როგორც SQL სკრიპტები დისკზე და თუნდაც SQL სკრიპტის პირდაპირ მონაცემთა ბაზაზე შესრულება.
  8. ბოლოს აირჩიეთ რა მონაცემები შეინახოთ და დააწკაპუნეთ დაიწყეთ აღდგენა.

ასე რომ, ეს არის როგორ შეაკეთოთ 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 მონაცემთა ბაზა ხელით ან სპეციალური ხელსაწყოს გამოყენებით.

თუ თქვენ იცით დამატებითი მეთოდები ან გაქვთ რაიმე შეკითხვები, ჩვენ ველოდებით მათ ქვემოთ მოცემულ კომენტარებში.

SSPI ხელის ჩამორთმევა ვერ მოხერხდა შეცდომის კოდით 0x8009030c [შესწორება]

SSPI ხელის ჩამორთმევა ვერ მოხერხდა შეცდომის კოდით 0x8009030c [შესწორება]Sql სერვერი

შეცდომის გამოსასწორებლად გამოიყენეთ ამ სახელმძღვანელოს გადაწყვეტილებებიSSPI-ის ხელის ჩამორთმევა ვერ მოხერხდა შეცდომის კოდის გამო 0x8009030c შეტყობინება, როგორც წესი, ნიშნავს მომხმარებლის ავთენტიფიკ...

Წაიკითხე მეტი
შეასწორეთ Microsoft SQL Server შეცდომა 18456 [შესვლა ვერ მოხერხდა მომხმარებლისთვის]

შეასწორეთ Microsoft SQL Server შეცდომა 18456 [შესვლა ვერ მოხერხდა მომხმარებლისთვის]Sql სერვერი

სცადეთ ეს მარტივი გამოსწორებები, თუ Microsoft SQL Server შეცდომა 18456 გამოჩნდებაMicrosoft SQL Server შეცდომა 18456 შეიძლება მოხდეს თქვენს სისტემაში მრავალი მიზეზის გამო.არასწორი რწმუნებით შესვლამ ...

Წაიკითხე მეტი
შესწორება: შეცდომის საერთო ფუნქციის შეკითხვის გაშვებისას

შესწორება: შეცდომის საერთო ფუნქციის შეკითხვის გაშვებისასSql სერვერი

GROUP BY პუნქტის დამატება უმეტეს შემთხვევაში ძალიან ეფექტურიაგაერთიანებული ფუნქციის შეცდომა SQL-ში ჩნდება, როდესაც თქვენ ცდილობთ გამოიყენოთ აგრეგატული ფუნქცია ისე, რომ არ არის მხარდაჭერილი SQL ენაზ...

Წაიკითხე მეტი