სარეზერვო SQL Server მონაცემთა ბაზა ჩვენი სრული 2025 წლის სახელმძღვანელოთი. ეტაპობრივი ინსტრუქციები და საუკეთესო პრაქტიკა ყველა დონის უნარებისთვის.
1. შესავალი SQL Server სარეზერვო
1.1 რა არის SQL Server სარეზერვო ასლი?
SQL Server სარეზერვო ასლის შექმნა არის თქვენი მონაცემთა ბაზის ფაილების ასლების შექმნის პროცესი მონაცემთა დაკარგვისგან დასაცავად. სარეზერვო ასლი აღრიცხავს თქვენი მონაცემთა ბაზის მდგომარეობას კონკრეტულ მომენტში, რაც საშუალებას გაძლევთ აღადგინოთ მონაცემები აპარატურის გაუმართაობის, ადამიანური შეცდომების ან კატასტროფების შემთხვევაში.
SQL Server სტანდარტულად, სარეზერვო ასლებს .bak ფაილებში ინახავს, რომლებიც შეიცავს მონაცემთა ბაზის ყველა ობიექტს, მათ შორის ცხრილებს, შენახულ პროცედურებს, ხედებს, ინდექსებსა და ტრანზაქციების ჟურნალებს.
1.2 რატომ SQL Server სარეზერვო ასლი კრიტიკულია
მონაცემთა ბაზის სარეზერვო ასლები მონაცემთა დაკარგვისგან თქვენი დაცვის ბოლო ხაზს წარმოადგენს. სათანადო სარეზერვო ასლების გარეშე, თქვენი ორგანიზაცია რისკავს:
- მუდმივი მონაცემების დაკარგვა აპარატურის გაუმართაობის ან დაზიანებისგან
- გახანგრძლივებული შესვენება აღდგენის მცდელობების დროს
- ბიზნესის შეფერხება და შემოსავლის დაკარგვა
- შესაბამისობის დარღვევები თუ მონაცემების აღდგენა შეუძლებელია
- რეპუტაციის დაზიანება მომსახურების შეფერხებებისგან
რეგულარული SQL Server სარეზერვო ასლები უზრუნველყოფს ბიზნესის უწყვეტობას და აკმაყოფილებს მონაცემთა დაცვის მარეგულირებელ მოთხოვნებს.
1.3 მონაცემთა დაკარგვის გავრცელებული სცენარები
მონაცემთა დაკარგვის დროის გაგება დაგეხმარებათ ეფექტური სარეზერვო ასლის შექმნის სტრატეგიის შემუშავებაში:
- აპარატურის გაუმართაობა: დისკის გაუმართაობა, სერვერის გაუმართაობა ან შენახვის სისტემის გაუმართაობა
- ადამიანური შეცდომები: შემთხვევითი წაშლა, არასწორი განახლებები ან წაშლილი ცხრილები
- პროგრამული უზრუნველყოფის პრობლემები: აპლიკაციის შეცდომები, დაზიანებული განახლებები ან სისტემის გაუმართაობა
- უსაფრთხოების დარღვევები: გამოსასყიდი პროგრამის შეტევები, მავნე წაშლა ან არაავტორიზებული წვდომა
- ბუნებრივი კატასტროფები: ხანძრები, წყალდიდობები ან ელექტროენერგიის გათიშვა, რომლებიც გავლენას ახდენს მონაცემთა ცენტრებზე
2. გაგება SQL Server სარეზერვო ასლის ტიპები
SQL Server მხარს უჭერს სარეზერვო ასლების რამდენიმე ტიპს, რომელთაგან თითოეული ემსახურება აღდგენისა და შენახვის სხვადასხვა საჭიროებას.
2.1 სრული სარეზერვო ასლი
სრული სარეზერვო ასლი ქმნის თქვენი მთელი მონაცემთა ბაზის სრულ ასლს, მათ შორის ყველა მონაცემთა ფაილს და აღდგენისთვის საჭირო ტრანზაქციების ჟურნალის ნაწილს.
2.1.1 როდის გამოვიყენოთ სრული სარეზერვო ასლი
სრული სარეზერვო ასლები იდეალურია:
- სხვა ტიპის სარეზერვო ასლებისთვის საბაზისო ხაზის დადგენა
- მცირე და საშუალო ზომის მონაცემთა ბაზები, სადაც სარეზერვო ასლის დრო მისაღებია
- ყოველკვირეული ან ყოველთვიური სარეზერვო ასლების გრაფიკები
- იშვიათი ცვლილებების მქონე მონაცემთა ბაზები
2.1.2 სრული სარეზერვო ასლის შექმნის უპირატესობები და შეზღუდვები
უპირატესობები:
- უმარტივესი აღდგენის პროცესი - ერთი ფაილი შეიცავს ყველაფერს
- დამოუკიდებელი და სხვა სარეზერვო ასლებისგან დამოუკიდებელი
- მონაცემთა ბაზის სრული აღდგენის უსწრაფესი დრო
შეზღუდვები:
- საჭიროებს მნიშვნელოვან შენახვის ადგილს
- დიდი მონაცემთა ბაზებისთვის სარეზერვო ასლის შექმნის უფრო ხანგრძლივი დრო
- სარეზერვო ოპერაციების დროს რესურსების უფრო მაღალი მოხმარება
2.2 დიფერენციალური სარეზერვო სისტემა
დიფერენციალური სარეზერვო ასლი მხოლოდ ბოლო სრული სარეზერვო ასლის შემდეგ მონაცემების ცვლილებებს აღრიცხავს, რაც ამცირებს სარეზერვო ასლის შექმნის დროს და შენახვის მოთხოვნებს.
2.2.1 როგორ მუშაობს დიფერენციალური სარეზერვო ასლი
დიფერენციალური სარეზერვო ასლები აკონტროლებს ცვლილებებს შეცვლილი გაფართოებების გამოყენებით. აღდგენისას, SQL Server ჯერ ბოლო სრულ სარეზერვო ასლს იყენებს, შემდეგ კი m-ს.ost ბოლო დიფერენციალური სარეზერვო ასლი.
2.2.2 სრული და დიფერენციალური სარეზერვო ასლის შედარება
| ასპექტის | სრული სარეზერვო ასლი | დიფერენციალური სარეზერვო |
|---|---|---|
| ზომა | სრული მონაცემთა ბაზა | მხოლოდ ბოლო სრული სარეზერვო ასლის შემდეგ ცვლილებები |
| სარეზერვო დრო | ყველაზე | უფრო სწრაფად, ვიდრე სრული |
| აღდგენის პროცესი | ერთი ფაილის აღდგენა | საჭიროა სრული + დიფერენციალი |
| საჭიროა შენახვა | Most სივრცეში | თავდაპირველად ნაკლები სივრცე, დროთა განმავლობაში იზრდება |
2.3 ტრანზაქციების ჟურნალის სარეზერვო ასლი
ტრანზაქციების ჟურნალის სარეზერვო ასლები აღრიცხავს ყველა ტრანზაქციას ჟურნალის ბოლო სარეზერვო ასლის შექმნის შემდეგ, რაც საშუალებას იძლევა დროულად აღდგეს იგი.
2.3.1 ტრანზაქციების ჟურნალების გაგება
ტრანზაქციების ჟურნალი თქვენს მონაცემთა ბაზაში შეტანილ ყველა ცვლილებას იწერს. ჟურნალის სარეზერვო ასლები ჟურნალის არააქტიურ ნაწილს ამოკლებს, რაც ხელს უშლის მის განუსაზღვრელი ვადით გაზრდას და დისკის შევსებას.
2.3.2 დროის მომენტში აღდგენა
ტრანზაქციების ჟურნალის სარეზერვო ასლები საშუალებას გაძლევთ აღადგინოთ თქვენი მონაცემთა ბაზა ჟურნალის სარეზერვო ასლის ნებისმიერ კონკრეტულ მომენტში. ეს უმნიშვნელოვანესია შემთხვევითი მონაცემების შეცვლის ან წაშლის შემდეგ აღდგენისთვის.
დროის კონკრეტულ მომენტში აღდგენის შესასრულებლად, თქვენ გჭირდებათ:
- ბოლო სრული სარეზერვო ასლი
- მost ბოლო დიფერენციალური სარეზერვო ასლი (არასავალდებულო)
- ყველა ტრანზაქციის ჟურნალის სარეზერვო ასლი სრული/დიფერენციალური სარეზერვო ასლიდან თქვენს tarდროის გამონახვა
2.4 ჩანაწერების სარეზერვო ასლი
ჩანაწერების სარეზერვო ასლები აღრიცხავს ჩანაწერებს, რომლებიც ჯერ არ არის სარეზერვო ასლირებული, რაც ხელს უშლის მონაცემთა დაკარგვას და ინარჩუნებს ჟურნალების ჯაჭვის მთლიანობას. აღდგენამდე SQL Server მონაცემთა ბაზის უახლეს მომენტამდე დასაბრუნებლად, თქვენ უნდა შექმნათ მისი ტრანზაქციების ჟურნალის კუდის სარეზერვო ასლი. კუდის ჟურნალის სარეზერვო ასლი არის მონაცემთა ბაზის აღდგენის გეგმაში საინტერესო ბოლო სარეზერვო ასლი.

შენიშვნა: ყველა აღდგენის სცენარი არ საჭიროებს ჩანაწერის სარეზერვო ასლს. ის არ გჭირდებათ, თუ აღდგენის წერტილი შეიცავს ჩანაწერის წინა სარეზერვო ასლს. ჩანაწერის სარეზერვო ასლის შექმნა ასევე არ არის საჭირო, თუ მონაცემთა ბაზას გადააქვთ ან ცვლით (გადაწერთ) და არ გჭირდებათ მისი აღდგენა მისი აღდგენის შემდგომ მომენტში.ost ბოლო სარეზერვო ასლი.
2.4.1 როდის არის აუცილებელი ჩანაწერების სარეზერვო ასლების შექმნა
შემდეგი სცენარები აღწერს, თუ როდის უნდა შექმნათ tail-log-ის სარეზერვო ასლი:
ონლაინ მონაცემთა ბაზის აღდგენა: თუ მონაცემთა ბაზა ონლაინშია და თქვენ გეგმავთ მონაცემთა ბაზაში აღდგენის ოპერაციის შესრულებას, დაიწყეთ ჟურნალის კუდის სარეზერვო ასლის შექმნით. ონლაინ მონაცემთა ბაზაში შეცდომის თავიდან ასაცილებლად, სარეზერვო ასლის შექმნისას უნდა გამოიყენოთ WITH NORECOVERY ვარიანტი BACKUP Transact-SQL ოპერატორში. SQL Server მონაცემთა ბაზა.
ოფლაინ მონაცემთა ბაზის აღდგენა: თუ მონაცემთა ბაზა ოფლაინშია და ვერ ახერხებსtarთუ მონაცემთა ბაზის აღდგენა გჭირდებათ, ჯერ ჟურნალის კუდის სარეზერვო ასლი შექმენით. რადგან ამ დროს ტრანზაქციები ვერ განხორციელდება, WITH NORECOVERY ოფციის გამოყენება არჩევითია. ამ სცენარში NORECOVERY ფაქტობრივად იგივეა, რაც მხოლოდ კოპირების შემცველი ტრანზაქციების ჟურნალის სარეზერვო ასლის შექმნა.
დაზიანებული მონაცემთა ბაზის სარეზერვო ასლი: თუ მონაცემთა ბაზა დაზიანებულია, სცადეთ ჩანაწერის სარეზერვო ასლის შექმნა BACKUP ოპერატორის WITH CONTINUE_AFTER_ERROR ოფციის გამოყენებით. დაზიანებულ მონაცემთა ბაზაზე ჩანაწერის სარეზერვო ასლის შექმნა მხოლოდ იმ შემთხვევაში იქნება შესაძლებელი, თუ ჩანაწერის ფაილები დაუზიანებელია, მონაცემთა ბაზა ისეთ მდგომარეობაშია, რომელიც ჩანაწერის სარეზერვო ასლების შექმნას უჭერს მხარს და მონაცემთა ბაზა არ შეიცავს ჯგუფურ ლოგირებულ ცვლილებებს. თუ ჩანაწერის სარეზერვო ასლის შექმნა შეუძლებელია, ნებისმიერი ტრანზაქცია, რომელიც MS-ის ბოლო ვერსიის შემდეგ არის დაფიქსირებული,... SQL Server სარეზერვო მონაცემთა ბაზა არის lost.
2.4.2 Tail-Log სარეზერვო ასლების შექმნის ძირითადი პარამეტრები
ნორეკოვერით: გამოიყენეთ WITH NORECOVERY, თუ ქმნით ონლაინ მონაცემთა ბაზის ჟურნალის სარეზერვო ასლს, რომლის აღდგენასაც შემდგომში გეგმავთ. NORECOVERY მონაცემთა ბაზას ოფლაინ რეჟიმში გადაჰყავს. ასევე შეგიძლიათ სარეზერვო ასლის შექმნა. SQL Server ოფლაინ მონაცემთა ბაზის კუდის ჟურნალი. თუ გსურთ მონაცემთა ბაზის ოფლაინ რეჟიმში დატოვება, გამოიყენეთ WITH NORECOVERY. გაითვალისწინეთ, რომ ჟურნალი შემოკლდება, თუ არ მიუთითებთ COPY_ONLY ან NO_TRUNCATE პარამეტრებს.
CONTINUE_AFTER_ERROR-ით: CONTINUE_AFTER_ERROR გამოიყენეთ მხოლოდ იმ შემთხვევაში, თუ დაზიანებული მონაცემთა ბაზის კუდის სარეზერვო ასლს ქმნით. დაზიანებული მონაცემთა ბაზის ჟურნალის კუდის სარეზერვო ასლის შექმნისას, ჟურნალის სარეზერვო ასლებში ჩვეულებრივ შენახული ზოგიერთი მეტამონაცემა შეიძლება მიუწვდომელი იყოს.
2.5 მხოლოდ კოპირების სარეზერვო ასლი
მხოლოდ კოპირების სარეზერვო ასლები ქმნის დამოუკიდებელ სარეზერვო ასლს ჩვეულებრივი სარეზერვო ასლების თანმიმდევრობის შეცვლის გარეშე. ისინი არ არღვევენ დიფერენციალური სარეზერვო ჯაჭვებს ან ტრანზაქციების ჟურნალის უწყვეტობას.
გამოიყენეთ მხოლოდ კოპირების სარეზერვო ასლები:
- ტესტის ან განვითარების მონაცემთა ბაზის ასლების შექმნა
- დროებითი სარეზერვო ასლების შექმნა დაგეგმილ სარეზერვო ასლებზე გავლენის გარეშე
- ძირითადი ცვლილებების ან ტესტირების წინ სარეზერვო ასლის შექმნა
2.6 ფაილებისა და ფაილების ჯგუფების სარეზერვო ასლი
ფაილების და ფაილების ჯგუფების სარეზერვო ასლები tarმთლიანი მონაცემთა ბაზის ნაცვლად, კონკრეტული მონაცემთა ბაზის ფაილების ან ფაილების ჯგუფების მიღება. ეს მიდგომა კარგად მუშაობს ძალიან დიდი მონაცემთა ბაზებისთვის, სადაც ყველაფრის სარეზერვო ასლის შექმნას ძალიან დიდი დრო სჭირდება.
უპირატესობებია:
- უფრო სწრაფი სარეზერვო ოპერაციები დიდი მონაცემთა ბაზებისთვის
- რამდენიმე ფაილის ჯგუფის პარალელური სარეზერვო ასლის შექმნა
- გრანულირებული აღდგენის ვარიანტები
- ოპტიმიზებული სარეზერვო ასლების შექმნის გრაფიკები მხოლოდ წაკითხვის ფაილების ჯგუფებისთვის
2.7 ნაწილობრივი სარეზერვო ასლი
ნაწილობრივი სარეზერვო ასლები მოიცავს ძირითად ფაილთა ჯგუფში არსებულ ყველა მონაცემს და ნებისმიერ წაკითხვისა და ჩაწერის ფაილთა ჯგუფს, გარდა მხოლოდ წაკითხვის ფაილთა ჯგუფებისა. ეს ამცირებს სარეზერვო ასლის ზომას და დროს იმ მონაცემთა ბაზებისთვის, რომელთა სტატიკური ისტორიული მონაცემები შენახულია მხოლოდ წაკითხვის ფაილთა ჯგუფებში.
3. SQL Server აღდგენის მოდელები
SQL Server აღდგენის მოდელები განსაზღვრავს, თუ რომელი სარეზერვო ასლების ტიპებია ხელმისაწვდომი და როგორ იმართება ტრანზაქციების ჟურნალები.
3.1 მარტივი აღდგენის მოდელი
3.1.1 მახასიათებლები და გამოყენების შემთხვევები
მარტივი აღდგენა ავტომატურად ამოკლებს ტრანზაქციების ჟურნალს თითოეული საკონტროლო წერტილის შემდეგ, რითაც ათავისუფლებს ადგილს ჟურნალის სარეზერვო ასლის შექმნის გარეშე.
საუკეთესო
- მონაცემთა ბაზების შემუშავება და ტესტირება
- მონაცემთა ბაზები, სადაც მონაცემთა დაკარგვა სარეზერვო ასლებს შორის მისაღებია
- მონაცემთა საწყობები ETL პროცესებით, რომელთა ხელახლა გაშვება შესაძლებელია
- მხოლოდ წასაკითხი ან ანგარიშგების მონაცემთა ბაზები
3.1.2 სარეზერვო ასლის შექმნის ხელმისაწვდომი ვარიანტები
მარტივი აღდგენა მხარს უჭერს:
- სრული სარეზერვო ასლები
- დიფერენციალური სარეზერვო ასლები
- ფაილების და ფაილების ჯგუფების სარეზერვო ასლები
- მხოლოდ კოპირების სარეზერვო ასლები
ტრანზაქციების ჟურნალის სარეზერვო ასლებია მიუწვდომელია მარტივი აღდგენის მოდელში.
3.2 სრული აღდგენის მოდელი
3.2.1 მახასიათებლები და უპირატესობები
სრული აღდგენა აღრიცხავს ყველა ტრანზაქციას და ინახავს ჟურნალის ჩანაწერებს მათ სარეზერვო ასლის შექმნამდე. ეს საშუალებას იძლევა მონაცემების სრული აღდგენისა ტრანზაქციების ჟურნალის სარეზერვო ასლის ნებისმიერ მომენტში.
ძირითადი უპირატესობები:
- მინიმალური მონაცემთა დაკარგვის პოტენციალი
- დროის წერტილში აღდგენის შესაძლებლობა
- მხარს უჭერს ჟურნალის გაგზავნას და მონაცემთა ბაზის ასლის შექმნას
- მაქსიმალური აღდგენის მოქნილობა
3.2.2 ტრანზაქციების ჟურნალის მართვა
სრული აღდგენის შემთხვევაში, თქვენ რეგულარულად უნდა შექმნათ ტრანზაქციების ჟურნალის სარეზერვო ასლები:
- დისკის სივრცის შევსების თავიდან აცილება ტრანზაქციების ჟურნალში
- შეინარჩუნეთ უწყვეტი სარეზერვო ჯაჭვი
- ჩართეთ აღდგენის ფუნქცია კონკრეტულ მომენტში
- ლოგ-ფაილების ზრდის კონტროლი
ტიპიური სარეზერვო ასლების შექმნის გრაფიკი: სრული სარეზერვო ასლები ყოველკვირეული, დიფერენციალური სარეზერვო ასლები ყოველდღიურად, ჟურნალის სარეზერვო ასლები ყოველ 15-30 წუთში.
3.3 ჯგუფური ლოგირების აღდგენის მოდელი
3.3.1 როდის გამოვიყენოთ ჯგუფური ლოგინგი
ჯგუფური ლოგირების აღდგენა მინიმალურად აღრიცხავს ისეთ ჯგუფურ ოპერაციებს, როგორიცაა BULK INSERT, SELECT INTO და ინდექსის აღდგენა, რეგულარული ტრანზაქციების სრულ ჟურნალირებას კი ინარჩუნებს.
გამოიყენეთ ჯგუფური ჩანაწერების აღდგენა, როდესაც:
- დიდი რაოდენობით იმპორტის ოპერაციების შესრულება
- დიდ ცხრილებზე ინდექსების ხელახლა შექმნა
- ოპერაციების შესრულება, რომლებიც მინიმალური ჟურნალირებისგან სარგებლობენ
- კონკრეტული ოპერაციების დროს ტრანზაქციების ჟურნალის ზომის შემცირების საჭიროება
3.3.2 შეზღუდვები და გასათვალისწინებელი საკითხები
მნიშვნელოვანი შეზღუდვები:
- დროის მონაკვეთში აღდგენა მიუწვდომელია მასობრივი ოპერაციების დროს
- ჟურნალის სარეზერვო ასლები უფრო დიდია, როდესაც მასობრივი ოპერაციები ხორციელდება
- საჭიროებისამებრ, საჭიროა სრულ და ჯგუფურ ჩანაწერებს შორის გადართვა
3.4 აღდგენის სწორი მოდელის არჩევა
აირჩიეთ თქვენი აღდგენის მოდელი ბიზნესის მოთხოვნების საფუძველზე:
| აღდგენის მოდელი | მონაცემთა დაკარგვის რისკი | დროში აღდგენა | საუკეთესო |
|---|---|---|---|
| მარტივი | ცვლილებები ბოლო სარეზერვო ასლის შემდეგ | არა | განვითარების/ტესტირების, მონაცემთა დასაშვები დანაკარგი |
| სრული | მინიმალური (როგორც წესი, წუთები) | დიახ | წარმოების მონაცემთა ბაზები, კრიტიკული მონაცემები |
| ჯგუფური ჩანაწერები | ცვლილებები ჟურნალის ბოლო სარეზერვო ასლის შემდეგ | შეზღუდულია დიდი რაოდენობით ოპერაციების დროს | დროrarგამოყენება ნაყარი ოპერაციების დროს |
4. სარეზერვო ასლის შექმნა SQL Server მონაცემთა ბაზა SSMS-ის გამოყენებით
4.1 წინაპირობები და მომზადება
სარეზერვო ასლის შექმნამდე SQL Server მონაცემთა ბაზაში, დარწმუნდით, რომ:
- თქვენ გაქვთ შესაბამისი ნებართვები (db_owner ან BACKUP DATABASE ნებართვა)
- საკმარისი დისკის ადგილი სარეზერვო ფაილისთვის
- SQL Server დაინსტალირებულია მენეჯმენტის სტუდია (SSMS)
- ქსელის ბილიკები ხელმისაწვდომია ქსელის მდებარეობებში სარეზერვო ასლის შექმნისას
4.2 ეტაპობრივი ინსტრუქცია: სრული სარეზერვო ასლის შექმნა SSMS-ის გამოყენებით
სრული სარეზერვო ასლის შესაქმნელად, მიჰყევით ამ ნაბიჯებს: SQL Server მონაცემთა ბაზა SSMS-ის გამოყენებით.
4.2.1 გახსნა SQL Server მენეჯმენტის სტუდია
- დაწყება SQL Server მენეჯმენტის სტუდია
- შეიყვანეთ თქვენი სერვერის სახელი ველში Სერვერის სახელი სფეროში
- აირჩიეთ თქვენი ავტორიზაციის მეთოდი
- დაწკაპეთ დაკავშირება
4.2.2 მონაცემთა ბაზის და სარეზერვო ასლის შექმნის ვარიანტების შერჩევა
- In ობიექტის მკვლევარი, გაფართოება მონაცემთა ბაზა კვანძის
- დააწკაპუნეთ მაუსის მარჯვენა ღილაკით მონაცემთა ბაზაზე, რომლის სარეზერვო ასლის შექმნაც გსურთ
- აირჩიეთ ამოცანები -> უკან მდე
- ამ მონაცემთა ბაზის სარეზერვო ასლის შექმნა ფანჯარაში, გადაამოწმეთ მონაცემთა ბაზის სახელი
- აირჩიეთ სრული როგორც სარეზერვო ტიპი
4.2.3 სარეზერვო ასლის შექმნის დანიშნულების ადგილის კონფიგურაცია
- ქვეშ დანიშნულების, დააჭირეთ ამოღება ნაგულისხმევი გზის გასასუფთავებლად (საჭიროების შემთხვევაში)
- დაწკაპეთ დამატება ახალი სარეზერვო ასლის მდებარეობის მითითებისთვის
- შეიყვანეთ ფაილის გზა და სახელი .ცხობი გაფართოება
- დაწკაპეთ OK დანიშნულების ადგილის დასადასტურებლად
4.2.4 Advanced Backup პარამეტრები
- დაწკაპეთ მედია ოფციები მარცხენა პანელში
- აირჩიეთ სარეზერვო ასლის შექმნის პარამეტრები:
- ყველა არსებული სარეზერვო ნაკრების გადაწერა - არსებული სარეზერვო ასლების ჩანაცვლება
- არსებულ სარეზერვო ასლებთან დამატება - ემატება არსებულ სარეზერვო ფაილს
- დაწკაპეთ სარეზერვო პარამეტრები მარცხენა პანელში
- დამატებითი პარამეტრების კონფიგურაცია:
- შეკუმშეთ სარეზერვო ასლი - ამცირებს სარეზერვო ფაილის ზომას
- სარეზერვო ასლის დაშიფვრა - იცავს მგრძნობიარე მონაცემებს
- დასრულების შემდეგ გადაამოწმეთ სარეზერვო ასლი - ამოწმებს სარეზერვო ასლის მთლიანობას
4.2.5 სარეზერვო ასლის შექმნა
- გადახედეთ ყველა პარამეტრს, რომელიც მოცემულია მონაცემთა ბაზის სარეზერვო ასლის შექმნა window
- დაწკაპეთ OK რომ სtarსარეზერვო ასლის შექმნის პროცესი
- დაელოდეთ სარეზერვო ასლის შექმნის დასრულებას
- სარეზერვო ასლის დასრულების შემდეგ გამოჩნდება წარმატების შესახებ შეტყობინება
- დაწკაპეთ OK დადასტურების დიალოგური ფანჯრის დასახურად
4.3 დიფერენციალური სარეზერვო ასლის შექმნა SSMS-ის გამოყენებით
დიფერენციალური სარეზერვო ასლის შესაქმნელად, მიჰყევით იგივე ნაბიჯებს, რაც სრული სარეზერვო ასლის შესაქმნელად, მაგრამ აირჩიეთ დიფერენციალური როგორც 4.2.2 ნაბიჯში მითითებული სარეზერვო ასლის ტიპი. გახსოვდეთ, რომ დიფერენციალური სარეზერვო ასლების შესაქმნელად საჭიროა წინასწარი სრული სარეზერვო ასლის შექმნა, როგორც საბაზისო.
4.4 ტრანზაქციების ჟურნალის სარეზერვო ასლის შექმნა SSMS-ის გამოყენებით
ტრანზაქციების ჟურნალის სარეზერვო ასლები ხელმისაწვდომია მხოლოდ მონაცემთა ბაზებისთვის, რომლებიც იყენებენ სრული ან ჯგუფური ლოგირების აღდგენის მოდელებს.
- დააწკაპუნეთ მაუსის მარჯვენა ღილაკით მონაცემთა ბაზაზე ობიექტის მკვლევარი
- აირჩიეთ ამოცანები -> უკან მდე
- არჩევა ტრანზაქციების ჟურნალი როგორც სარეზერვო ტიპი
- დანიშნულების ადგილისა და პარამეტრების საჭიროებისამებრ კონფიგურაცია
- დაწკაპეთ OK ჟურნალის სარეზერვო ასლის შესაქმნელად
4.5 SSMS-ის გამოყენებით მხოლოდ კოპირების სარეზერვო ასლის შექმნა
მხოლოდ კოპირების სარეზერვო ასლები ხელს არ უშლის თქვენს რეგულარულ სარეზერვო ასლების შექმნის თანმიმდევრობას.
- სრული სარეზერვო ასლის შესაქმნელად მიჰყევით ნაბიჯებს
- ამ სარეზერვო პარამეტრები გვერდზე
- შეამოწმე მხოლოდ კოპირების სარეზერვო ასლი ვარიანტი
- დაასრულეთ სარეზერვო ასლის შექმნის პროცესი ჩვეულებრივად
5. სარეზერვო ასლის შექმნა SQL Server მონაცემთა ბაზა T-SQL-ის გამოყენებით
5.1 სარეზერვო მონაცემთა ბაზის ძირითადი სინტაქსი
T-SQL BACKUP DATABASE ბრძანება უზრუნველყოფს პროგრამულ კონტროლს SQL Server სარეზერვო ასლები.
BACKUP DATABASE database_name
TO DISK = 'backup_file_path'
WITH options;
5.2 T-SQL ბრძანებების სრული სარეზერვო ასლი
5.2.1 მარტივი სრული სარეზერვო ასლის შექმნის სკრიპტი
შექმენით საბაზისო სრული სარეზერვო ასლი მინიმალური პარამეტრებით:
BACKUP DATABASE AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks.bak'
GO
5.2.2 სრული სარეზერვო ასლი პარამეტრებით
დაამატეთ აღწერითი ინფორმაცია და ფორმატირების პარამეტრები:
BACKUP DATABASE AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks.bak'
WITH FORMAT,
INIT,
NAME = 'AdventureWorks-Full Database Backup',
DESCRIPTION = 'Full backup of AdventureWorks database',
STATS = 10
GO
ახსნილი ვარიანტები:
- ფორმატი – ქმნის ახალ სარეზერვო ასლს
- ᲛᲐᲡᲨᲘ – არსებული სარეზერვო ფაილის გადაწერა
- სახელი – სარეზერვო ასლის სახელის მინიჭება
- აღწერა - დამატებულია აღწერილობითი ტექსტი
- სტატისტიკა - აჩვენებს პროგრესს ყოველ 10%-ში
5.3 დიფერენციალური სარეზერვო T-SQL ბრძანებები
დიფერენციალური სარეზერვო ასლები იყენებენ დიფერენციალურ ვარიანტს:
BACKUP DATABASE AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks_Diff.bak'
WITH DIFFERENTIAL,
INIT,
NAME = 'AdventureWorks-Differential Backup',
STATS = 10
GO
5.4 ტრანზაქციების ჟურნალის T-SQL ბრძანებების სარეზერვო ასლი
ტრანზაქციების ჟურნალის სარეზერვო ასლებისთვის გამოიყენეთ სარეზერვო ჟურნალი:
BACKUP LOG AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks_Log.trn'
WITH INIT,
NAME = 'AdventureWorks-Transaction Log Backup',
STATS = 10
GO
5.5 T-SQL სარეზერვო ასლის შექმნის გაფართოებული ვარიანტები
5.5.1 სარეზერვო ასლის შექმნა რამდენიმე ფაილში
უფრო სწრაფი მუშაობისთვის, გადაანაწილეთ სარეზერვო ასლი რამდენიმე ფაილზე:
BACKUP DATABASE AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks_1.bak',
DISK = 'D:\Backups\AdventureWorks_2.bak',
DISK = 'E:\Backups\AdventureWorks_3.bak'
WITH FORMAT, INIT
GO
5.5.2 შეკუმშვით სარეზერვო ასლის შექმნა
შეამცირეთ სარეზერვო ფაილის ზომა და ქსელის გამტარუნარიანობა:
BACKUP DATABASE AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks_Compressed.bak'
WITH COMPRESSION,
INIT,
STATS = 10
GO
5.5.3 სარეზერვო ასლის შექმნა დაშიფვრით
დაიცავით მგრძნობიარე მონაცემები დაშიფვრით:
BACKUP DATABASE AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks_Encrypted.bak'
WITH COMPRESSION,
ENCRYPTION (
ALGORITHM = AES_256,
SERVER CERTIFICATE = BackupCertificate
),
STATS = 10
GO
5.5.4 სარეზერვო ასლის შექმნა პაროლით დაცვით
პაროლით დაცვის დამატება (მოძველებულია, გამოიყენეთ დაშიფვრა):
BACKUP DATABASE AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks.bak'
WITH PASSWORD = 'StrongPassword123!',
INIT
GO
5.5.5 სარკისებური სარეზერვო ასლები
შექმენით ერთდროული ასლები სხვადასხვა ადგილას:
BACKUP DATABASE AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks.bak'
MIRROR TO DISK = 'D:\Backups\AdventureWorks_Mirror.bak'
WITH FORMAT, INIT
GO
5.6 T-SQL სარეზერვო ასლის შექმნის მაგალითები და სკრიპტები
სრული სარეზერვო ასლის სკრიპტი შეცდომების დამუშავებით:
DECLARE @BackupPath NVARCHAR(500);
DECLARE @DatabaseName NVARCHAR(128) = 'AdventureWorks';
DECLARE @BackupDate NVARCHAR(20);
SET @BackupDate = CONVERT(NVARCHAR(20), GETDATE(), 112);
SET @BackupPath = 'C:\Backups\' + @DatabaseName + '_' + @BackupDate + '.bak';
BEGIN TRY
BACKUP DATABASE @DatabaseName
TO DISK = @BackupPath
WITH COMPRESSION,
INIT,
NAME = @DatabaseName + '-Full Backup',
STATS = 10;
PRINT 'Backup completed successfully: ' + @BackupPath;
END TRY
BEGIN CATCH
PRINT 'Backup failed: ' + ERROR_MESSAGE();
END CATCH
GO
6. სარეზერვო ასლის შექმნა SQL Server მონაცემთა ბაზა PowerShell-ის გამოყენებით
6.1 PowerShell-ის სარეზერვო ასლის სმდლეტები
SQL Server PowerShell მოდული უზრუნველყოფს cmdlets-ს სარეზერვო ასლის ავტომატიზაციისთვის:
- სარეზერვო ასლი-SqlDatabase - ქმნის მონაცემთა ბაზის სარეზერვო ასლებს
- SqlDatabase-ის აღდგენა - აღადგენს მონაცემთა ბაზის სარეზერვო ასლებს
- Get-SqlDatabase - იღებს მონაცემთა ბაზის ინფორმაციას
იმპორტირება SQL Server მოდული:
Import-Module SqlServer
6.2 სარეზერვო სკრიპტების შექმნა PowerShell-ის გამოყენებით
PowerShell-ის სარეზერვო ასლის შექმნის ძირითადი ბრძანება:
Backup-SqlDatabase -ServerInstance "localhost" `
-Database "AdventureWorks" `
-BackupFile "C:\Backups\AdventureWorks.bak" `
-BackupAction Database `
-CompressionOption On
დიფერენციალური სარეზერვო ასლის მაგალითი:
Backup-SqlDatabase -ServerInstance "localhost" `
-Database "AdventureWorks" `
-BackupFile "C:\Backups\AdventureWorks_Diff.bak" `
-BackupAction Database `
-Incremental
ტრანზაქციების ჟურნალის სარეზერვო ასლი:
Backup-SqlDatabase -ServerInstance "localhost" `
-Database "AdventureWorks" `
-BackupFile "C:\Backups\AdventureWorks_Log.trn" `
-BackupAction Log
6.3 სარეზერვო ასლების ავტომატიზაცია PowerShell-ის გამოყენებით
შექმენით ავტომატური სარეზერვო ასლის სკრიპტი მრავალი მონაცემთა ბაზისთვის:
# Configuration
$ServerInstance = "localhost"
$BackupPath = "C:\Backups"
$Databases = @("AdventureWorks", "TestDB", "ProductionDB")
$Timestamp = Get-Date -Format "yyyyMMdd_HHmmss"
# Create backup directory if not exists
if (-not (Test-Path $BackupPath)) {
New-Item -ItemType Directory -Path $BackupPath
}
# Backup each database
foreach ($Database in $Databases) {
$BackupFile = Join-Path $BackupPath "$Database`_$Timestamp.bak"
try {
Backup-SqlDatabase -ServerInstance $ServerInstance `
-Database $Database `
-BackupFile $BackupFile `
-BackupAction Database `
-CompressionOption On
Write-Host "Successfully backed up $Database to $BackupFile" -ForegroundColor Green
}
catch {
Write-Host "Failed to backup $Database : $_" -ForegroundColor Red
}
}
7. სარეზერვო ასლის შექმნა SQL Server მონაცემთა ბაზა ბრძანების ხაზის გამოყენებით
SQL Server გთავაზობთ ბრძანების ხაზის პროგრამულ უზრუნველყოფას, რომელიც საშუალებას გაძლევთ შექმნათ სარეზერვო ასლი SQL Server მონაცემთა ბაზა SSMS-ის ან გრაფიკული ინტერფეისების გამოყენების გარეშე. ეს ინსტრუმენტები აუცილებელია ავტომატიზაციის, სკრიპტირებისა და დისტანციური ადმინისტრირების სცენარებისთვის.
7.1 SQLCMD სარეზერვო მონაცემთა ბაზის გამოყენება
SQLCMD არის თანამედროვე ბრძანების ხაზის პროგრამა SQL Server რომელმაც OSQL ჩაანაცვლა. ის უზრუნველყოფს გაუმჯობესებულ ფუნქციონალს და რეკომენდებული ინსტრუმენტია T-SQL ბრძანებების ბრძანების სტრიქონიდან შესასრულებლად.
7.1.1 SQLCMD-ის ძირითადი სინტაქსი
sqlcmd -S ServerName -d DatabaseName -Q "BACKUP DATABASE statement"
- -S: განსაზღვრავს SQL Server ეგზემპლარის სახელი
- -დ: მიუთითებს მონაცემთა ბაზის სახელს
- -კითხვა: ასრულებს მოთხოვნას და გადის
- -და: იყენებს Windows-ის ავთენტიფიკაციას
- -უ: განსაზღვრავს SQL Server შესვლის მომხმარებლის სახელი
- -პ: განსაზღვრავს პაროლს SQL Server შევდივარ
7.1.2 სარეზერვო ასლის შექმნა SQLCMD-ის გამოყენებით
სარეზერვო ასლის შესაქმნელად SQL Server SQLCMD-ის გამოყენებით, მიჰყევით ამ ნაბიჯებს:
- ღიაა სარდლობის სწრაფი or PowerShell
- ნავიგაცია SQL Server ინსტრუმენტების დირექტორია (როგორც წესი, ინსტალაციის დროს ემატება PATH-ს)
- შეასრულეთ SQLCMD სარეზერვო მონაცემთა ბაზის ბრძანება შესაბამისი პარამეტრებით.
- დაადასტურეთ, რომ სარეზერვო ფაილი წარმატებით შეიქმნა
სრული სარეზერვო ასლის შექმნის ბრძანების მაგალითი Windows-ის ავთენტიფიკაციის გამოყენებით:
sqlcmd -S localhost -E -Q "BACKUP DATABASE AdventureWorks TO DISK='C:\Backups\AdventureWorks.bak' WITH COMPRESSION, INIT"
მაგალითის გამოყენებით SQL Server ავთენტიფიკაცია:
sqlcmd -S localhost -U sa -P YourPassword -Q "BACKUP DATABASE AdventureWorks TO DISK='C:\Backups\AdventureWorks.bak' WITH COMPRESSION, INIT"
დიფერენციალური სარეზერვო ასლის შექმნა SQLCMD-ის გამოყენებით
sqlcmd -S localhost -E -Q "BACKUP DATABASE AdventureWorks TO DISK='C:\Backups\AdventureWorks_Diff.bak' WITH DIFFERENTIAL, COMPRESSION, INIT"
ტრანზაქციების ჟურნალის სარეზერვო ასლის შექმნა SQLCMD-ის გამოყენებით
sqlcmd -S localhost -E -Q "BACKUP LOG AdventureWorks TO DISK='C:\Backups\AdventureWorks_Log.trn' WITH COMPRESSION, INIT"
7.1.3 სარეზერვო გამომცემლის მონაცემთა ბაზა SQL Server რეპლიკაცია
გამომცემლის მონაცემთა ბაზების სარეზერვო ასლის შექმნისას SQL Server რეპლიკაციისთვის, რეპლიკაციის მეტამონაცემების შესანარჩუნებლად და ტრანზაქციული თანმიმდევრულობის უზრუნველსაყოფად გამოიყენეთ WITH REPLICATION ოფცია.
-- Backup publisher database with replication support
BACKUP DATABASE PublisherDB
TO DISK = 'C:\Backup\PublisherDB_Full.bak'
WITH REPLICATION,
COMPRESSION,
CHECKSUM,
INIT,
STATS = 10;
GO
დამატებითი ინფორმაციისთვის SQL Server რეპლიკაცია, იხილეთ ჩვენი ყოვლისმომცველი სახელმძღვანელო.
7.2 OSQL სარეზერვო მონაცემთა ბაზის გამოყენება
OSQL არის მემკვიდრეობით მიღებული ბრძანების ხაზის პროგრამა SQL Serverმიუხედავად იმისა, რომ Microsoft გირჩევთ SQLCMD-ის გამოყენებას, OSQL კვლავ ხელმისაწვდომია ძველ სკრიპტებთან და სისტემებთან უკუთავსებადობისთვის.
7.2.1 OSQL-ის ძირითადი სინტაქსი
OSQL სინტაქსი SQLCMD-ის სინტაქსის მსგავსია:
osql -S ServerName -d DatabaseName -Q "BACKUP DATABASE statement"
- -S: SQL Server ეგზემპლარის სახელი
- -დ: მონაცემთა ბაზის სახელი
- -კითხვა: ასრულებს მოთხოვნას და გადის
- -და: იყენებს სანდო კავშირს (Windows-ის ავთენტიფიკაცია)
- -უ: შესვლა მომხმარებლის სახელი
- -პ: Შესვლა პაროლი
7.2.2 სარეზერვო ასლის შექმნა OSQL-ის გამოყენებით
OSQL სარეზერვო მონაცემთა ბაზის ოპერაციების შესასრულებლად:
- ღიაა სარდლობის სწრაფი
- შეამოწმეთ, რომ OSQL ხელმისაწვდომია თქვენს სისტემაში SQL Server სამონტაჟო
- OSQL სარეზერვო ბრძანების შესრულება
სრული სარეზერვო ასლის შექმნის მაგალითი:
osql -S localhost -E -Q "BACKUP DATABASE AdventureWorks TO DISK='C:\Backups\AdventureWorks.bak' WITH INIT"
დიფერენციალური სარეზერვო ასლის მაგალითი:
osql -S localhost -E -Q "BACKUP DATABASE AdventureWorks TO DISK='C:\Backups\AdventureWorks_Diff.bak' WITH DIFFERENTIAL, INIT"
8. მესამე მხარის SQL Server სარეზერვო ინსტრუმენტები
მიუხედავად იმისა, SQL Server მოიცავს მშობლიურ სარეზერვო ასლის შექმნის შესაძლებლობებს, მესამე მხარის ინსტრუმენტები გთავაზობთ გაუმჯობესებულ ფუნქციებს, ავტომატიზაციას და საწარმოს დონის მართვას რთული მოთხოვნების მქონე ორგანიზაციებისთვის. ეს გადაწყვეტილებები უზრუნველყოფს გაუმჯობესებულ შეკუმშვას, ცენტრალიზებულ მართვას და სარეზერვო ასლის შექმნის გამარტივებულ სამუშაო პროცესებს. SQL Server მონაცემთა ბაზები მრავალ გარემოში.
8.1 Veeam-ის სარეზერვო ასლი SQL Server
Veeam გთავაზობთ მონაცემთა დაცვის ყოვლისმომცველ გადაწყვეტილებებს, რომლებიც სპეციალურად შექმნილია სარეზერვო ასლებისთვის. SQL Server მონაცემთა ბაზები, რომლებსაც მინიმალური გავლენა აქვთ წარმოების სისტემებზე.
ძირითადი თვისებები:
- აპლიკაციისთვის განკუთვნილი დამუშავება SQL Server სარეზერვო ასლის თანმიმდევრულობა
- ტრანზაქციების ჟურნალის სარეზერვო ასლი და მართვა
- დროის წერტილში აღდგენა დეტალური აღდგენის ვარიანტებით
- ინტეგრაცია Veeam Backup & Replication-თან მონაცემთა ერთიანი დაცვისთვის
- ავტომატური სარეზერვო ასლის დადასტურება და ვალიდაცია
- მხარდაჭერა ყოველთვის ხელმისაწვდომი ჯგუფებისთვის
- ვირტუალური მანქანის და აპლიკაციის დონე SQL Server სარეზერვო პარამეტრები
8.2 ბარაკუდას სარეზერვო სისტემა SQL Server
Barracuda MS-ისთვის გთავაზობთ ღრუბელთან ინტეგრირებულ სარეზერვო ასლების შექმნის გადაწყვეტილებებს გამარტივებული მენეჯმენტით. SQL Server სარეზერვო მონაცემთა ბაზის ოპერაციები.
ძირითადი თვისებები:
- ავტომატური SQL Server სარეზერვო ასლის დაგეგმვა
- ჩაშენებული ღრუბლოვანი რეპლიკაცია Barracuda ღრუბლოვან საცავში
- გლობალური დედუპლიკაცია და შეკუმშვა
- მყისიერი ადგილობრივი აღდგენის შესაძლებლობები
- ვებ-ზე დაფუძნებული მართვის კონსოლი
- სრული, დიფერენციალური და ტრანზაქციების ჟურნალის სარეზერვო ასლების მხარდაჭერა
- გამოსასყიდი პროგრამისგან დაცვა უცვლელი სარეზერვო ასლებით
8.3 Veritas NetBackup-ისთვის SQL Server
Veritas NetBackup არის საწარმოს დონის სარეზერვო ასლის შექმნის პლატფორმა, რომელიც უზრუნველყოფს ყოვლისმომცველ დაცვას. SQL Server მონაცემთა ბაზები რთულ IT გარემოში.
ძირითადი თვისებები:
- ათასობით მომხმარებლისთვის საწარმოს მასშტაბის სარეზერვო ასლების მართვა SQL Server შემთხვევები
- გაფართოებული დედუპლიკაციისა და შეკუმშვის ალგორითმები
- მოქნილი სარეზერვო ასლების პოლიტიკა და დაგეგმვა
- მხარდაჭერა ყველას SQL Server აღდგენის მოდელები
- ინტეგრაცია tape libra-თანraries და ღრუბლოვანი საცავი
- მონაცემთა ბაზების, ცხრილების და ობიექტების გრანულირებული აღდგენა
- მრავალპლატფორმული მხარდაჭერა (Windows, Linux) SQL Server)
- ავტომატური სარეზერვო ასლის სასიცოცხლო ციკლის მართვა
8.4 Commvault-ის სრული სარეზერვო ასლის შექმნა და აღდგენა SQL Server
Commvault გთავაზობთ ინტელექტუალურ მონაცემთა მართვას ყოვლისმომცველი სარეზერვო ასლით SQL Server შესაძლებლობები და მოწინავე ავტომატიზაციის ფუნქციები.
ძირითადი თვისებები:
- ხელოვნური ინტელექტით მართული სარეზერვო ასლის ოპტიმიზაცია და ანომალიების აღმოჩენა
- ერთიანი პლატფორმა სარეზერვო ასლის შექმნის, აღდგენისა და არქივირებისთვის
- მოწინავე SQL Server სარეზერვო შეკუმშვა (90%-მდე შემცირება)
- კატასტროფის აღდგენის ავტომატური ორკესტრირება
- Live Sync თითქმის ნულოვანი RPO დაცვისთვის
- მხარდაჭერა SQL Server ადგილობრივი, ღრუბლოვანი და ჰიბრიდული განლაგებები
- IntelliSnap სნეპშოტზე დაფუძნებული სარეზერვო ასლებისთვის
- ყოვლისმომცველი შესაბამისობისა და ელექტრონული აღმოჩენის შესაძლებლობები
8.5 Cohesity DataProtect for SQL Server
Cohesity უზრუნველყოფს ახალი თაობის მონაცემთა მართვას ჰიპერკონვერგირებული ინფრასტრუქტურით თანამედროვე ტექნოლოგიებისთვის. SQL Server სარეზერვო ოპერაციები.
ძირითადი თვისებები:
- ვებ-მასშტაბის არქიტექტურა გამარტივებული მართვისთვის
- მასობრივი აღდგენის მყისიერი შესაძლებლობები SQL Server მონაცემთა ბაზები
- აპლიკაციის შესაბამისი სნეპშოტები
- გლობალური დედუპლიკაცია ყველა სარეზერვო ასლზე
- მშობლიური ღრუბლოვანი ინტეგრაცია (AWS, Azure, Google Cloud)
- ჩაშენებული ანალიტიკისა და მონიტორინგის დაფები
- მონაცემთა ბაზის კლონირებისა და ტესტირების შესაძლებლობები
- გამოსასყიდი პროგრამისგან დაცვა უცვლელი სნეპშოტებით
8.6 Red Gate SQL სარეზერვო პრო
Red Gate SQL Backup Pro არის სპეციალიზებული ინსტრუმენტი, რომელიც ორიენტირებულია ექსკლუზიურად ოპტიმიზაციაზე. SQL Server სარეზერვო ასლის შექმნისა და აღდგენის ოპერაციები უმაღლესი შეკუმშვით და შესრულებით.
ძირითადი თვისებები:
- ინდუსტრიაში წამყვანი შეკუმშვის კოეფიციენტები (95%-მდე)
- ქსელის მდგრადობა სარეზერვო ასლის შესაქმნელად SQL Server არასანდო კავშირების გასწვრივ
- სარეზერვო ასლის დაშიფვრა 256-ბიტიანი AES-ით
- სარეზერვო ასლის დადასტურება და მთლიანობის შემოწმება
- დეტალური სარეზერვო ასლების ისტორია და ანგარიშგება
- ინტეგრაცია SQL Server მენეჯმენტის სტუდია
- ქსელურ ლოკაციებსა და ღრუბლოვან საცავში სარეზერვო ასლის შექმნის მხარდაჭერა
- პარალელური სარეზერვო ასლის შექმნა და აღდგენა უფრო სწრაფი ოპერაციებისთვის
9. როგორ აღვადგინოთ SQL Server მონაცემთა ბაზა
9.1 აღდგენის პროცესის გაგება
აღდგენა ა SQL Server მონაცემთა ბაზა სარეზერვო ფაილებიდან ხელახლა ქმნის მონაცემთა ბაზას. აღდგენის პროცესი კითხულობს სარეზერვო ფაილს და აღადგენს მონაცემთა ბაზას სარეზერვო ასლის შექმნის მდგომარეობაში.
მნიშვნელოვანი მოსაზრებები:
- აღდგენა არსებულ მონაცემთა ბაზას გადაწერს
- აღდგენის დროს მომხმარებლები გათიშულები არიან
- აღდგენა უნდა მიჰყვებოდეს სარეზერვო ასლის შექმნის თანმიმდევრობას (სრული, შემდეგ დიფერენციალური და შემდეგ ჟურნალები).
- მონაცემთა ბაზა მიუწვდომელია აღდგენის ოპერაციის დროს
9.2 სრული სარეზერვო ასლის აღდგენა SSMS-ის გამოყენებით
სრული მონაცემთა ბაზის სარეზერვო ასლის აღსადგენად, მიჰყევით ამ ნაბიჯებს.
9.2.1 ეტაპობრივი აღდგენის პროცესი
- ღიაა SQL Server მენეჯმენტის სტუდია და დაუკავშირდით თქვენს სერვერს
- In ობიექტის მკვლევარი, დააჭირეთ მაუსის მარჯვენა ღილაკს მონაცემთა ბაზა
- აირჩიეთ მონაცემთა ბაზის აღდგენა
- ამ წყარო განყოფილება, აირჩიეთ მოწყობილობა
- დააჭირეთ ... ღილაკი სარეზერვო ფაილების დასათვალიერებლად
- დაწკაპეთ დამატება და გადადით თქვენს .bak ფაილზე
- აირჩიეთ სარეზერვო ფაილი და დააჭირეთ OK
- ამ დანიშნულების განყოფილებაში შეიყვანეთ მონაცემთა ბაზის სახელი
- გადახედეთ აღდგენისთვის საჭირო სარეზერვო ასლების ნაკრებებს
- დაწკაპეთ OK რომ სtarაღდგენა
9.2.2 აღდგენის ოფციები და პარამეტრები
დაწკაპეთ პარამეტრები მარცხენა პანელში კონფიგურაციისთვის:
- არსებული მონაცემთა ბაზის გადაწერა (ჩანაცვლების ღილაკთან ერთად) – არსებული მონაცემთა ბაზიდან აღდგენის საშუალებას იძლევა
- რეპლიკაციის მდგომარეობების შენარჩუნება (KEEP_REPLICATION-ით) - შეინახე SQL Server რეპლიკაცია იყო
- აღდგენილ მონაცემთა ბაზაზე წვდომის შეზღუდვა (RESTRICTED_USER-თან ერთად) – ლიმიტები post- წვდომის აღდგენა
- აღდგენის მდგომარეობა – აირჩიეთ RESTORE WITH RECOVERY ან NORECOVERY-ს შორის
9.3 დიფერენციალური სარეზერვო ასლის აღდგენა
დიფერენციალური აღდგენისთვის საჭიროა როგორც სრული, ასევე დიფერენციალური სარეზერვო ასლების შექმნა:
- პირველ რიგში, აღადგინეთ სრული სარეზერვო ასლი ნოროკოვერი ვარიანტი
- შემდეგ აღადგინეთ დიფერენციალური სარეზერვო ასლი RECOVERY ვარიანტი
T-SQL-ის მაგალითი:
-- Restore full backup (NORECOVERY to allow differential)
RESTORE DATABASE AdventureWorks
FROM DISK = 'C:\Backups\AdventureWorks_Full.bak'
WITH NORECOVERY, REPLACE;
-- Restore differential backup (RECOVERY to complete)
RESTORE DATABASE AdventureWorks
FROM DISK = 'C:\Backups\AdventureWorks_Diff.bak'
WITH RECOVERY;
GO
9.4 აღდგენა ტრანზაქციების ჟურნალის სარეზერვო ასლების გამოყენებით
დროის კონკრეტულ მომენტში აღდგენისთვის, აღდგენა თანმიმდევრობით:
- სრული სარეზერვო ასლის აღდგენა NORECOVERY-ის გამოყენებით
- დიფერენციალური სარეზერვო ასლის აღდგენა NORECOVERY-ის გამოყენებით (ასეთის არსებობის შემთხვევაში)
- ტრანზაქციების ჟურნალის სარეზერვო ასლების აღდგენა NORECOVERY-ის გამოყენებით
- საბოლოო ჟურნალის სარეზერვო ასლის აღდგენა RECOVERY-ის გამოყენებით
-- Restore full backup
RESTORE DATABASE AdventureWorks
FROM DISK = 'C:\Backups\AdventureWorks_Full.bak'
WITH NORECOVERY, REPLACE;
-- Restore first log backup
RESTORE LOG AdventureWorks
FROM DISK = 'C:\Backups\AdventureWorks_Log1.trn'
WITH NORECOVERY;
-- Restore second log backup with recovery
RESTORE LOG AdventureWorks
FROM DISK = 'C:\Backups\AdventureWorks_Log2.trn'
WITH RECOVERY;
GO
9.5 დროის წერტილიდან აღდგენა
მონაცემთა ბაზის აღდგენა კონკრეტულ დროს STOPAT ოფციის გამოყენებით:
-- Restore to specific time: January 15, 2025 at 2:30 PM
RESTORE DATABASE AdventureWorks
FROM DISK = 'C:\Backups\AdventureWorks_Full.bak'
WITH NORECOVERY, REPLACE;
RESTORE LOG AdventureWorks
FROM DISK = 'C:\Backups\AdventureWorks_Log.trn'
WITH RECOVERY, STOPAT = '2025-01-15 14:30:00';
GO
9.6 ცხრილის აღდგენა
SQL Server არ უჭერს მხარს სარეზერვო ფაილებიდან ცხრილის დონის პირდაპირ აღდგენას. თუმცა, მაინც არსებობს რამდენიმე გამოსავალი.
9.6.1 მეთოდი 1: მონაცემთა ბაზის სნეპშოტები (საუკეთესოა პრევენციისთვის)
მონაცემთა ბაზის სნეპშოტები ცხრილის მონაცემების აღდგენის ყველაზე სწრაფ გზას წარმოადგენს, თუ ისინი პრობლემის წარმოშობამდე შეიქმნა. სნეპშოტი არის მონაცემთა ბაზის მხოლოდ წაკითხვის, სტატიკური ხედი დროის კონკრეტულ მომენტში.
მონაცემთა ბაზის სნეპშოტის შექმნა:
-- Create snapshot before making changes
CREATE DATABASE ProductionDB_Snapshot_20250107
ON
( NAME = ProductionDB_Data,
FILENAME = 'C:\Snapshots\ProductionDB_Snapshot.ss' )
AS SNAPSHOT OF ProductionDB;
GO
ცხრილის მონაცემების აღდგენა სნეპშოტიდან:
USE ProductionDB;
GO
-- Replace entire table content
BEGIN TRANSACTION;
-- Disable constraints temporarily
ALTER TABLE dbo.Orders NOCHECK CONSTRAINT ALL;
-- Clear current data
TRUNCATE TABLE dbo.Orders;
-- Restore from snapshot
INSERT INTO dbo.Orders
SELECT * FROM ProductionDB_Snapshot_20250107.dbo.Orders;
-- Re-enable constraints
ALTER TABLE dbo.Orders CHECK CONSTRAINT ALL;
COMMIT TRANSACTION;
GO
ვერსიის მოთხოვნები: მონაცემთა ბაზის სნეპშოტები ხელმისაწვდომია SQL Server Enterprise Edition (ყველა ვერსია) და Standard Edition starting ერთად SQL Server 2016 წლის SP1.
9.6.2 მეთოდი 2: ტემპის აღდგენაrary მონაცემთა ბაზა (Most საერთო)
ეს მეთოდი მუშაობს, როდესაც პრობლემის წარმოშობის შემდეგ ცხრილის მონაცემების აღდგენა გჭირდებათ და სურათი არ არსებობს:
- სარეზერვო ასლის აღდგენა ტემპშიrary მონაცემთა ბაზა
- ტემპიდან ცხრილის მონაცემების კოპირებაrary მონაცემთა ბაზიდან მიმდინარე მონაცემთა ბაზაში გადატანა
9.7 გვერდის აღდგენა
გვერდის აღდგენა აღადგენს დაზიანებულ ცალკეულ გვერდებს მთელი მონაცემთა ბაზის აღდგენის გარეშე, რაც მინიმუმამდე ამცირებს შეფერხების დროს. tarმხოლოდ დაზიანებული გვერდების მიღება. ეს ფუნქცია ხელმისაწვდომია მხოლოდ სრული ან ჯგუფური ლოგირების აღდგენის მოდელებში და მოითხოვს ტრანზაქციების ჟურნალის სარეზერვო ასლების უწყვეტ ჯაჭვს გვერდის სარეზერვო ასლიდან მიმდინარე ჟურნალის ფაილამდე.
გვერდის აღდგენისთვის, ჯერ დაზიანებული გვერდების იდენტიფიცირება, ჩანაწერის სარეზერვო ასლის შექმნა, კონკრეტული გვერდების აღდგენა და შემდეგ ყველა ტრანზაქციის ჟურნალის გამოყენება:
-- Identify damaged pages
SELECT * FROM msdb.dbo.suspect_pages
WHERE database_id = DB_ID('AdventureWorks');
-- Take tail-log backup
BACKUP LOG AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks_TailLog.trn'
WITH NORECOVERY;
-- Restore damaged pages
RESTORE DATABASE AdventureWorks
PAGE = '1:123, 1:456'
FROM DISK = 'C:\Backups\AdventureWorks_Full.bak'
WITH NORECOVERY;
-- Apply transaction logs
RESTORE LOG AdventureWorks
FROM DISK = 'C:\Backups\AdventureWorks_Log1.trn'
WITH NORECOVERY;
RESTORE LOG AdventureWorks
FROM DISK = 'C:\Backups\AdventureWorks_TailLog.trn'
WITH RECOVERY;
GO
შენიშვნა: გვერდის აღდგენა მარტივი აღდგენის მოდელის ფარგლებში მიუწვდომელია. თქვენ არ შეგიძლიათ გვერდების აღდგენა სისტემის ცხრილებიდან ან ფაილების ჯგუფის ძირითადი მეტამონაცემებიდან.
9.8 ნაწილ-ნაწილ აღდგენა
ნაწილ-ნაწილ აღდგენა (ნაწილობრივი აღდგენა) აღადგენს მონაცემთა ბაზას ეტაპობრივად ფაილების ჯგუფის დონეზე.tarპირველადი ფაილების ჯგუფთან მუშაობა. ეს კრიტიკულ მონაცემებს მყისიერად ონლაინ რეჟიმში გადაიყვანს, ხოლო ნაკლებად კრიტიკული მონაცემები ფონზე აღდგება. მარტივი აღდგენის მოდელის მიხედვით, ყველა წაკითხვის-ჩაწერის ფაილის ჯგუფი უნდა აღდგეს პირველადი ფაილების ჯგუფთან ერთად; მხოლოდ მხოლოდ წაკითხვის ფაილის ჯგუფების აღდგენაა შესაძლებელი ცალ-ცალკე. სრული ან ჯგუფური ლოგირების აღდგენის მოდელების მიხედვით, თითოეული ფაილის ჯგუფის ონლაინ რეჟიმში გადაყვანა შესაძლებელია დამოუკიდებლად ტრანზაქციების ჟურნალების გამოყენების შემდეგ.
| აღდგენის მოდელი | ნაწილ-ნაწილ აღდგენის ქცევა |
|---|---|
| მარტივი | ძირითადი და ყველა წაკითხვისა და ჩაწერის ფაილების ჯგუფი ერთად აღდგენილია. მხოლოდ წაკითხვის ფაილების ჯგუფები ცალ-ცალკე აღდგენილია. |
| სრული/ჯგუფური რეგისტრირება | თითოეული ფაილის ჯგუფი აღდგენილია დამოუკიდებლად ფაილების ჯგუფის დონეზე. |
სრული აღდგენის მოდელის მაგალითი - მონაცემთა ბაზის ონლაინ რეჟიმში გადასატანად ჯერ აღადგინეთ ძირითადი ფაილების ჯგუფი, შემდეგ კი აღადგინეთ მეორადი ფაილების ჯგუფები, სანამ მონაცემთა ბაზა ფუნქციონირებს:
-- Stage 1: Restore primary filegroup (database comes online)
RESTORE DATABASE AdventureWorks
FILEGROUP = 'PRIMARY'
FROM DISK = 'C:\Backups\AdventureWorks_Full.bak'
WITH PARTIAL, NORECOVERY;
RESTORE LOG AdventureWorks
FROM DISK = 'C:\Backups\AdventureWorks_Log1.trn'
WITH RECOVERY;
GO
-- Stage 2: Restore secondary filegroup (database stays online)
RESTORE DATABASE AdventureWorks
FILEGROUP = 'HistoricalData'
FROM DISK = 'C:\Backups\AdventureWorks_Full.bak'
WITH NORECOVERY;
RESTORE LOG AdventureWorks
FROM DISK = 'C:\Backups\AdventureWorks_Log1.trn'
WITH RECOVERY;
GO
მარტივი აღდგენის მოდელის მაგალითი:
-- Restore primary with all read-write filegroups
RESTORE DATABASE AdventureWorks
FILEGROUP = 'PRIMARY'
FROM DISK = 'C:\Backups\AdventureWorks_Full.bak'
WITH PARTIAL, RECOVERY;
-- Restore read-only filegroup separately
RESTORE DATABASE AdventureWorks
FILEGROUP = 'ReadOnlyArchive'
FROM DISK = 'C:\Backups\AdventureWorks_ReadOnly.bak'
WITH RECOVERY;
GO
9.9 აღდგენა T-SQL ბრძანებების გამოყენებით
აღდგენის სკრიპტის დასრულება ფაილის გადაადგილებით:
RESTORE DATABASE AdventureWorks
FROM DISK = 'C:\Backups\AdventureWorks.bak'
WITH MOVE 'AdventureWorks_Data' TO 'D:\Data\AdventureWorks.mdf',
MOVE 'AdventureWorks_Log' TO 'E:\Logs\AdventureWorks.ldf',
REPLACE,
STATS = 10;
GO
9.10 აღდგენამდე სარეზერვო ასლის მთლიანობის შემოწმება
შეამოწმეთ სარეზერვო ასლის მოქმედების ვადა აღდგენის გარეშე:
RESTORE VERIFYONLY
FROM DISK = 'C:\Backups\AdventureWorks.bak';
GO
ეს ბრძანება ადასტურებს, რომ სარეზერვო ასლი სრულია და იკითხება მონაცემთა ბაზის აღდგენის გარეშე.
10. SQL Server სარეზერვო ასლის შექმნის საუკეთესო პრაქტიკები
10.1 სარეზერვო სტრატეგიის შემუშავება
10.1.1 ბიზნეს მოთხოვნების შეფასება
სარეზერვო ასლების შექმნამდე შეაფასეთ:
- მონაცემთა კრიტიკულობა: რამდენად მნიშვნელოვანია ეს მონაცემები ოპერაციებისთვის?
- სიხშირის შეცვლის სიხშირე: რამდენად ხშირად იცვლება მონაცემები?
- მონაცემთა ბაზის ზომა: რამდენად დიდია მონაცემთა ბაზა?
- ხელმისაწვდომი რესურსები: რა სახის საცავი და გამტარუნარიანობაა ხელმისაწვდომი?
- შესაბამისობის მოთხოვნები: რა რეგულაციები უნდა დაიცვათ?
10.1.2 RTO-ს და RPO-ს განსაზღვრა
აღდგენის დროის მიზანი (RTO): მაქსიმალური დასაშვები შეფერხების დრო. განსაზღვრავს, თუ რამდენად სწრაფად გჭირდებათ ოპერაციების აღდგენა.
აღდგენის წერტილის მიზანი (RPO): მაქსიმალური დასაშვები მონაცემთა დანაკარგი. განსაზღვრავს სარეზერვო ასლის შენახვის სიხშირეს.
| RTO/RPO მოთხოვნა | რეკომენდებული სარეზერვო სტრატეგია |
|---|---|
| RPO: საათები, RTO: საათები | ყოველდღიური სრული + ტრანზაქციების ჟურნალი ყოველ 1-2 საათში |
| RPO: წუთები, RTO: საათები | ყოველდღიური სრული + ჟურნალის სარეზერვო ასლები ყოველ 15-30 წუთში |
| RPO: თითქმის ნულოვანი, RTO: წუთები | ყოველთვის ხელმისაწვდომი ჯგუფები + ხშირი ჟურნალის სარეზერვო ასლები |
| RPO: დღეები, RTO: დღეები | ყოველკვირეული სრული + დღიური დიფერენციალი |
10.2 სარეზერვო ასლის შექმნის გრაფიკის შექმნა
10.2.1 სიხშირის რეკომენდაციები
საწარმოო მონაცემთა ბაზებისთვის სარეზერვო ასლების შექმნის ტიპიური გრაფიკი:
- სრული სარეზერვო ასლები: ყოველკვირეული (კვირა ღამით დაბალი აქტივობის დროს)
- დიფერენციალური სარეზერვო ასლები: ყოველდღიურად (ყოველ ღამე)
- ტრანზაქციების ჟურნალის სარეზერვო ასლები: სამუშაო საათებში ყოველ 15-30 წუთში
- მხოლოდ კოპირების სარეზერვო ასლები: საჭიროებისამებრ ტესტირების ან განვითარებისთვის
10.2.2 შესრულებისა და დაცვის დაბალანსება
დაგეგმვისას გაითვალისწინეთ ეს ფაქტორები:
- არაპიკის საათები: სრული სარეზერვო ასლების შექმნა დაბალი აქტივობის პერიოდებში
- რესურსებზე ზემოქმედება: შეკუმშვა ამცირებს შეყვანა/გამოსვლას, მაგრამ ზრდის პროცესორის დატვირთვას
- ქსელის გამტარუნარიანობა: ქსელის სარეზერვო ასლების დაგეგმვა დაბალი ტრაფიკის დროს
- სარეზერვო ფანჯრები: დარწმუნდით, რომ სარეზერვო ასლების შექმნა სამუშაო საათებამდე დასრულდება
10.3 სარეზერვო ასლის შენახვის საუკეთესო პრაქტიკა
10.3.1 ადგილზე და გარე შენახვა
ადგილზე სარეზერვო ასლები:
- უფრო სწრაფი სარეზერვო ასლის შექმნისა და აღდგენის დრო
- ქვედა ც.ost მაღალი სიხშირის წვდომისთვის
- ადგილობრივი კატასტროფების მიმართ დაუცველი
- საუკეთესოა სწრაფი აღდგენის სცენარებისთვის
საიტის გარეთ სარეზერვო ასლები:
- დაცვა ადგილმდებარეობის სპეციფიკური კატასტროფებისგან
- გეოგრაფიული რეზერვის მოთხოვნების დაცვა
- აღდგენის უფრო ნელი დრო
- აუცილებელია კატასტროფის რეაბილიტაციისთვის
10.3.2 ღრუბლოვანი სარეზერვო ასლის შექმნის ვარიანტები
ღრუბლოვანი საცავის უპირატესობები:
- Azure Blob საცავი: მშობლიური SQL Server ინტეგრაცია, გost- ეფექტურია იშვიათი წვდომისთვის
- ამაზონ S3: მაღალი გამძლეობის, მოქნილი შესანახი იარუსები
- Google Cloud Storage: კონკურენტული ფასები, გლობალური ხელმისაწვდომობა
10.3.3 სარეზერვო ასლის შენახვის პოლიტიკა
ნიმუშის შენახვის პოლიტიკა:
- შეინახეთ ყოველდღიური სარეზერვო ასლები 7 დღის განმავლობაში
- შეინახეთ ყოველკვირეული სარეზერვო ასლები 4 კვირის განმავლობაში
- შეინახეთ ყოველთვიური სარეზერვო ასლები 12 თვის განმავლობაში
- შეინახეთ ყოველწლიური სარეზერვო ასლები 7 წლის განმავლობაში (შესაბამისობა)
10.4 სარეზერვო ასლის შეკუმშვა და დაშიფვრა
შეკუმშვის უპირატესობები:
- ამცირებს სარეზერვო ფაილის ზომას 50-70%-ით
- ამცირებს სარეზერვო ასლის შექმნის დროს
- ამცირებს შენახვის მოცულობასosts
- ამცირებს ქსელის გამტარუნარიანობას დისტანციური სარეზერვო ასლებისთვის
დაშიფვრის საუკეთესო პრაქტიკა:
- ყოველთვის დაშიფრეთ მგრძნობიარე მონაცემების შემცველი სარეზერვო ასლები
- გამოიყენეთ AES 256-ბიტიანი დაშიფვრა
- უსაფრთხო სერტიფიკატი ან გასაღების მართვა
- დაშიფვრის გასაღებების დოკუმენტირება და ცალკე შენახვა
10.5 სარეზერვო ასლების ტესტირება და ვერიფიკაცია
10.5.1 რეგულარული აღდგენის ტესტირება
აღდგენის პროცედურების ტესტირება კვარტალურად ან ყოველთვიურად:
- სარეზერვო ასლების აღდგენა სატესტო გარემოში
- გადაამოწმეთ მონაცემთა მთლიანობა და სისრულე
- შეამოწმეთ აპლიკაციის ფუნქციონირება
- დოკუმენტის აღდგენის დრო (RTO-ს შემოწმება)
- ნებისმიერი პრობლემის იდენტიფიცირება და მოგვარება
10.5.2 მხოლოდ აღდგენის დადასტურების გამოყენება
სარეზერვო ასლის ავტომატური ვალიდაცია:
-- Verify backup integrity
RESTORE VERIFYONLY
FROM DISK = 'C:\Backups\AdventureWorks.bak'
WITH CHECKSUM;
GO
სარეზერვო ასლის დასრულებისთანავე ან დაგეგმილი ტექნიკური მომსახურების ფარგლებში, განახორციელეთ ვერიფიკაცია.
10.6 სარეზერვო ასლის შექმნის ავტომატიზაცია და მონიტორინგი
10.6.1 SQL Server აგენტის ვაკანსიები
შექმენით ავტომატური სარეზერვო ასლების დავალებები:
- Expand SQL Server აგენტი
SSMS-ში
- მარჯვენა ღილაკის დასაქმება, სამუშაო და აირჩიეთ Ახალი სამუშაო
- დაასახელეთ დავალება (მაგ., „ყოველდღიური სრული სარეზერვო ასლი“)
- დამატება ნაბიჯი T-SQL სარეზერვო ასლის ბრძანებებით
- შექმნა განრიგი შესრულების დროისთვის
- უცნობია შეტყობინებები წარმატების/წარუმატებლობისთვის
10.6.2 ტექნიკური მომსახურების გეგმები
SQL Server ტექნიკური მომსახურების გეგმები უზრუნველყოფს ვიზუალურ ინტერფეისს სარეზერვო ასლის ავტომატიზაციისთვის:
- ნავიგაცია მართვის -> სარემონტო გეგმები
- დააჭირეთ ღილაკს და აირჩიეთ ტექნიკური მომსახურების გეგმის ოსტატი
- ავტომატიზაციისთვის სარეზერვო ასლის ამოცანების არჩევა
- სარეზერვო ასლის გრაფიკისა და პარამეტრების კონფიგურაცია
- ანგარიშგებისა და ჟურნალირების დაყენება
10.6.3 სარეზერვო ასლის შექმნის შეტყობინებები და შეტყობინებები
ელფოსტის შეტყობინებების კონფიგურაცია:
- მონაცემთა ბაზის ფოსტის დაყენება SQL Server
- შექმენით შეტყობინებები სარეზერვო ასლების ჩავარდნის შემთხვევაში
- სარეზერვო ასლის დავალებების ისტორიის მონიტორინგი
- ადმინისტრატორებისთვის შემაჯამებელი ანგარიშების გაგზავნა
10.7 დოკუმენტაცია და კატასტროფის შემდეგ აღდგენის დაგეგმვა
შეინახეთ ყოვლისმომცველი დოკუმენტაცია:
- სარეზერვო ასლის შექმნის გრაფიკი: როდის და რა ხდება სარეზერვო ასლის შექმნა
- შენარჩუნების პოლიტიკა: რამდენ ხანს ინახება სარეზერვო ასლები
- შენახვის ადგილები: სად ინახება სარეზერვო ასლები
- აღდგენის პროცედურები: ეტაპობრივი აღდგენის ინსტრუქციები
- საკონტაქტო ინფორმაცია: ძირითადი პერსონალი და გამყიდველები
- აღდგენის ტესტის შედეგები: დოკუმენტირებული ტესტის შედეგები
11. Მოწინავე SQL Server სარეზერვო სცენარები
11.1 ძალიან დიდი მონაცემთა ბაზების (VLDB) სარეზერვო ასლის შექმნა
11.1.1 ფაილებისა და ფაილების ჯგუფების სტრატეგიები
რამდენიმე ასეულ გიგაბაიტზე მეტი მოცულობის მონაცემთა ბაზებისთვის:
- მხოლოდ წაკითხვისა და ჩაწერის მონაცემების გამოყოფა სხვადასხვა ფაილურ ჯგუფებად
- იშვიათად შექმენით მხოლოდ წასაკითხი ფაილების ჯგუფების სარეზერვო ასლი
- ხშირი სარეზერვო ასლების შექმნა აქტიურ ფაილურ ჯგუფებზე გაამახვილეთ ყურადღება
- დეტალური კონტროლისთვის გამოიყენეთ ფაილის დონის სარეზერვო ასლები
ფაილის სარეზერვო ასლის შექმნის მაგალითი:
-- Back up specific file
BACKUP DATABASE LargeDB
FILE = 'LargeDB_Data1'
TO DISK = 'C:\Backups\LargeDB_File1.bak'
WITH COMPRESSION;
GO
11.1.2 სარეზერვო ასლის მუშაობის ოპტიმიზაცია
VLDB სარეზერვო ასლის მუშაობის გაუმჯობესება:
- ზოლიანი სარეზერვო ასლები: ერთდროულად რამდენიმე ფაილზე ჩაწერა
- შეკუმშვის: შეამცირეთ შეყვანა/გამოსვლა და შენახვის მოთხოვნები
- მრავალი სარეზერვო მოწყობილობა: სარეზერვო ოპერაციების პარალელიზაცია
- სწრაფი შენახვა: გამოიყენეთ SSD-ები სარეზერვო ასლების დასამზადებლად
- ბუფერების რაოდენობა: BUFFERCOUNT-ის გაზრდის ოფცია
- მაქსიმალური გადარიცხვის ზომა: MAXTRANSFERSIZE პარამეტრის ოპტიმიზაცია
-- Optimized VLDB backup
BACKUP DATABASE LargeDB
TO DISK = 'C:\Backups\LargeDB_1.bak',
DISK = 'D:\Backups\LargeDB_2.bak',
DISK = 'E:\Backups\LargeDB_3.bak'
WITH COMPRESSION,
BUFFERCOUNT = 100,
MAXTRANSFERSIZE = 4194304;
GO
11.2 სარეზერვო ასლის შექმნა ყოველთვის ჩართული ხელმისაწვდომობის ჯგუფებში
ყოველთვის ხელმისაწვდომი ჯგუფები ანაწილებენ სარეზერვო ასლის დატვირთვას რეპლიკებს შორის:
- სარეზერვო ასლის პარამეტრების კონფიგურაცია (ძირითადი, მეორადი ან ნებისმიერი რეპლიკა)
- სარეზერვო ასლების გადატანა მეორად რეპლიკებზე, ძირითადი სამუშაო დატვირთვის შესამცირებლად
- გამოიყენეთ COPY_ONLY სარეზერვო ასლები მეორად რეპლიკებზე
- სარეზერვო ასლის პრიორიტეტული პარამეტრების მონიტორინგი
-- Check backup preferences
SELECT
ag.name AS AvailabilityGroup,
ar.replica_server_name,
ar.backup_priority
FROM sys.availability_replicas ar
INNER JOIN sys.availability_groups ag ON ar.group_id = ag.group_id;
GO
11.3 მონაცემთა ბაზის ასლის შესაქმნელად სარეზერვო ასლის შექმნა
მონაცემთა ბაზის სარკისებური ვერსიის სცენარებში:
- რეგულარულად შექმენით ძირითადი მონაცემთა ბაზის სარეზერვო ასლი
- ტრანზაქციების ჟურნალის სარეზერვო ასლები აუცილებელია ასლის შესაქმნელად
- სარკისებური მონაცემთა ბაზა აღდგენის მდგომარეობაშია (პირდაპირი სარეზერვო ასლის შექმნა შეუძლებელია)
- განიხილეთ სარკის სარეზერვო ასლის შექმნა გადართვის შემდეგ
11.4 სარეზერვო ასლის შექმნა Azure Blob საცავში
SQL Server შეგიძლიათ სარეზერვო ასლის შექმნა პირდაპირ Azure Blob Storage-ში:
- Azure-ის შენახვის ანგარიშის შექმნა
- შექმნა SQL Server Azure-ის ავტორიზაციის სერთიფიკატი
- გამოიყენეთ URL სინტაქსი სარეზერვო ასლის დანიშნულების ადგილისთვის
-- Create credential for Azure
CREATE CREDENTIAL [https://mystorageaccount.blob.core.windows.net/backups]
WITH IDENTITY = 'SHARED ACCESS SIGNATURE',
SECRET = 'your_SAS_token';
GO
-- Backup to Azure
BACKUP DATABASE AdventureWorks
TO URL = 'https://mystorageaccount.blob.core.windows.net/backups/AdventureWorks.bak'
WITH COMPRESSION,
STATS = 10;
GO
11.5 სარეზერვო ასლის შექმნა URL-ზე
URL-ზე სარეზერვო ასლის შექმნის უპირატესობები:
- შეუზღუდავი ღრუბლოვანი საცავის მოცულობა
- გეოგრაფიული რეზერვირება ავტომატურად დამუშავდება
- Pay-as-you-go ფასების მოდელი
- ლოკალური დისკის სივრცე არ არის საჭირო
- მხარს უჭერს 64-მდე URL-ს თითო სარეზერვო ასლზე (ზოლირება)
11.6 ზოლიანი სარეზერვო ასლები შესრულებისთვის
ზოლიანი სარეზერვო ასლები მონაცემებს რამდენიმე ფაილზე ყოფს უფრო სწრაფი შეყვანის/გამოყვანის უზრუნველსაყოფად:
-- Striped backup to 4 files
BACKUP DATABASE AdventureWorks
TO DISK = 'C:\Backups\AW_Stripe1.bak',
DISK = 'D:\Backups\AW_Stripe2.bak',
DISK = 'E:\Backups\AW_Stripe3.bak',
DISK = 'F:\Backups\AW_Stripe4.bak'
WITH COMPRESSION, FORMAT;
GO
შენიშვნა: აღდგენისთვის საჭიროა ყველა ზოლის ფაილი. რომელიმე ფაილის არარსებობის შემთხვევაში, სარეზერვო ასლი გამოუსადეგარი გახდება.
12. Დიაგნოსტიკა SQL Server სარეზერვო ასლის პრობლემები
12.1 სარეზერვო ასლის შექმნის გავრცელებული შეცდომები და გადაწყვეტილებები
შეცდომა: „ოპერაციული სისტემის შეცდომა 5: წვდომა უარყოფილია“
- მიზეზი: SQL Server სერვისის ანგარიშს ნებართვები არ აქვს
- გადაჭრა: ჩაწერის ნებართვის მინიჭება SQL Server სერვისის ანგარიში სარეზერვო საქაღალდეში
შეცდომა: „სარეზერვო ასლის მოწყობილობის გახსნა შეუძლებელია… მოწყობილობის შეცდომა ან მოწყობილობა ხაზგარეშეა“
- მიზეზი: არასწორი გზა ან მიუწვდომელი ქსელის გაზიარება
- გადაჭრა: გადაამოწმეთ ბილიკის არსებობა, შეამოწმეთ ქსელის კავშირი, უზრუნველყავით დისკზე საკმარისი ადგილი
შეცდომა: „დისკზე საკმარისი ადგილი არ არის“
- მიზეზი: სარეზერვო ასლისთვის დისკზე არასაკმარისი ადგილია
- გადაჭრა: დისკის სივრცის გათავისუფლება, შეკუმშვის გამოყენება, სარეზერვო ასლის შექმნა სხვა ადგილას
შეცდომა: „მონაცემთა ბაზა გამოიყენება. მონაცემთა ბაზას სხვა მომხმარებლები იყენებენ“
- მიზეზი: აღდგენის დროს აქტიური კავშირები
- გადაჭრა: გამოიყენეთ WITH REPLACE ოფცია ან ჯერ გათიშეთ მომხმარებლები
12.2 სარეზერვო ასლის მუშაობის პრობლემები
ნელი სარეზერვო ასლების დიაგნოსტიკა:
- შეამოწმეთ დისკის შეყვანის/გამოყვანის მუშაობა გამოყენებით შესრულების მონიტორი
- აკონტროლეთ სარეზერვო ასლის შექმნის პროგრესი STATS ოფციის გამოყენებით
- მიმოხილვა SQL Server შეცდომების ჟურნალი შეფერხებებისთვის
- შეყვანა/გამოყვანის შესამცირებლად, განიხილეთ შეკუმშვა
- გამოიყენეთ ზოლიანი სარეზერვო ასლები მრავალ დისკზე
მოთხოვნა სარეზერვო ასლის პროგრესის მონიტორინგისთვის:
SELECT
session_id,
command,
percent_complete,
CAST(((DATEDIFF(s,start_time,GetDate()))/3600) as varchar) + ' hour(s), '
+ CAST((DATEDIFF(s,start_time,GetDate())%3600)/60 as varchar) + 'min, '
+ CAST((DATEDIFF(s,start_time,GetDate())%60) as varchar) + ' sec' as running_time,
CAST((estimated_completion_time/3600000) as varchar) + ' hour(s), '
+ CAST((estimated_completion_time %3600000)/60000 as varchar) + 'min, '
+ CAST((estimated_completion_time %60000)/1000 as varchar) + ' sec' as est_time_to_go,
dateadd(second,estimated_completion_time/1000, getdate()) as est_completion_time
FROM sys.dm_exec_requests
WHERE command LIKE 'BACKUP%';
GO
12.3 სივრცისა და შენახვის პრობლემები
შენახვის პრობლემების თავიდან აცილება:
- დანერგეთ შენარჩუნების პოლიტიკა: ძველი სარეზერვო ასლების ავტომატურად წაშლა
- შეკუმშვის გამოყენება: შეამცირეთ სარეზერვო ფაილის ზომა 50-70%-ით
- არქივირება უფრო იაფ საცავში: ძველი სარეზერვო ასლების გადატანა არქივის საცავში
- დისკის სივრცის მონიტორინგი: დისკზე სივრცის ნაკლებობის შესახებ შეტყობინებების დაყენება
- სარეზერვო ასლის ზომის სავარაუდო ზომა: სარეზერვო ასლის შექმნამდე გამოთვალეთ მოსალოდნელი ზომა
სარეზერვო ასლის ზომის სავარაუდო ზომა:
-- Estimate full backup size
EXEC sp_spaceused;
GO
12.4 ნებართვასთან და წვდომასთან დაკავშირებული საკითხები
სარეზერვო ასლებისთვის საჭირო ნებართვები:
- სარეზერვო მონაცემთა ბაზა ნებართვა
- db_backupoperator როლის წევრობა
- sysadmin სერვერის როლი (ყველა სარეზერვო ოპერაციისთვის)
სარეზერვო ასლის შექმნის ნებართვების მინიჭება:
-- Grant backup permission to user
GRANT BACKUP DATABASE TO [BackupUser];
GRANT BACKUP LOG TO [BackupUser];
GO
-- Add user to backup operator role
ALTER ROLE db_backupoperator ADD MEMBER [BackupUser];
GO
12.5 დაზიანებული სარეზერვო ფაილები
დაზიანებული სარეზერვო ასლების აღმოჩენა და მართვა:
შეამოწმეთ სარეზერვო ასლის მთლიანობა:
RESTORE VERIFYONLY
FROM DISK = 'C:\Backups\AdventureWorks.bak'
WITH CHECKSUM;
GO
მომავალი სარეზერვო ასლებისთვის CHECKSUM-ის ჩართვა:
BACKUP DATABASE AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks.bak'
WITH CHECKSUM, INIT;
GO
პრევენციის სტრატეგიები:
- სარეზერვო ასლის შექმნისას ყოველთვის გამოიყენეთ CHECKSUM ოფცია
- სარეზერვო ასლების შექმნისთანავე გადაამოწმეთ
- ტესტი რეგულარულად აღადგენს
- შეინახეთ სარეზერვო ასლები საიმედო საცავში
- შეინახეთ მრავალი სარეზერვო ასლი
12.6 მონაცემების აღდგენა დაზიანებული სარეზერვო ფაილებიდან
თუ თქვენი სარეზერვო ფაილები დაზიანებულია და მაინც გსურთ მათგან მონაცემების აღდგენა, შეგიძლიათ გამოიყენოთ მესამე მხარის ინსტრუმენტები, როგორიცაა DataNumen SQL Recovery, როგორც ქვემოთ:
- Start DataNumen SQL Recovery.
- დაზიანებული სარეზერვო ფაილის წყაროს ფაილად არჩევა ფილტრის „ყველა ფაილი (*.*)“-ზე შეცვლით:
- საჭიროების შემთხვევაში, დააყენეთ გამომავალი .MDF ფაილი.
- დააჭირეთ "Start Recovery“ და მიჰყევით ინსტრუქციებს მონაცემთა ბაზის აღსადგენად.
- აღდგენის პროცესის შემდეგ, გამოჩნდება ახალი აღდგენის მონაცემთა ბაზა. SQL Server რომელიც შეიცავს ყველა აღდგენილ მონაცემს.
13. SQL Server სარეზერვო ასლის უსაფრთხოება
13.1 სარეზერვო ფაილების დაცვა
დაიცავით სარეზერვო ფაილები არაავტორიზებული წვდომისგან:
- ფაილური სისტემის ნებართვები: შეზღუდეთ წვდომა მხოლოდ ავტორიზებული ადმინისტრატორებისთვის
- ქსელის უსაფრთხოება: ქსელის სარეზერვო ასლებისთვის უსაფრთხო პროტოკოლების გამოყენება
- Ფიზიკური დაცვა: შეინახეთ სარეზერვო მედია უსაფრთხო ადგილებში
- წვდომის ჟურნალირება: სარეზერვო ფაილზე წვდომის აუდიტი
13.2 დაშიფვრის პარამეტრები
SQL Server მხარს უჭერს გამჭვირვალე სარეზერვო ასლის დაშიფვრას:
დაშიფვრისთვის სერტიფიკატის შექმნა:
-- Create master key
USE master;
CREATE MASTER KEY ENCRYPTION BY PASSWORD = 'StrongP@ssw0rd!';
GO
-- Create certificate
CREATE CERTIFICATE BackupCertificate
WITH SUBJECT = 'Database Backup Certificate',
EXPIRY_DATE = '2026-12-31';
GO
დაშიფრული სარეზერვო ასლი:
BACKUP DATABASE AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks_Encrypted.bak'
WITH COMPRESSION,
ENCRYPTION (
ALGORITHM = AES_256,
SERVER CERTIFICATE = BackupCertificate
);
GO
მნიშვნელოვანია: ცალ-ცალკე შექმენით სერტიფიკატისა და პირადი გასაღების სარეზერვო ასლი. მათ გარეშე დაშიფრული სარეზერვო ასლების აღდგენა შეუძლებელია.
-- Backup certificate
BACKUP CERTIFICATE BackupCertificate
TO FILE = 'C:\Certificates\BackupCertificate.cer'
WITH PRIVATE KEY (
FILE = 'C:\Certificates\BackupCertificate.key',
ENCRYPTION BY PASSWORD = 'C3rt!f!c@t3P@ss'
);
GO
13.3 წვდომის კონტროლი და ნებართვები
მინიმალური პრივილეგიის პრინციპის დანერგვა:
- სარეზერვო ასლის ნებართვების მინიჭება მხოლოდ აუცილებელ ანგარიშებს
- სარეზერვო ასლის შექმნისა და აღდგენის ოპერაციებისთვის გამოიყენეთ ცალკეული ანგარიშები
- სარეზერვო ასლებისთვის SA ანგარიშის გამოყენებისგან თავის შეკავება
- რეგულარულად შეამოწმეთ სარეზერვო ასლის ნებართვები
- ნებართვების გაუქმება, როდესაც აღარ არის საჭირო
13.4 შესაბამისობის საკითხები
მარეგულირებელი მოთხოვნების გათვალისწინება:
- GDPR: პერსონალური მონაცემების შემცველი სარეზერვო ასლების დაშიფვრა, შენახვის პოლიტიკის განხორციელება
- HIPAA: PHI-ის დაშიფვრა სარეზერვო ასლებში, წვდომის კონტროლი, აუდიტის კვალის შენარჩუნება
- PCI DSS: ბარათის მფლობელის მონაცემთა სარეზერვო ასლების დაშიფვრა, სარეზერვო ასლების უსაფრთხო შენახვა
- SOX: სარეზერვო ასლის მთლიანობის შენარჩუნება, დოკუმენტების შენახვის პოლიტიკა
14. სარეზერვო ოპერაციების მონიტორინგი და შენარჩუნება
14.1 სარეზერვო ასლის ისტორიის თვალყურის დევნება
SQL Server ინახავს სარეზერვო ასლების ისტორიას msdb მონაცემთა ბაზაში:
-- View recent backup history
SELECT
bks.database_name,
bks.backup_start_date,
bks.backup_finish_date,
CASE bks.type
WHEN 'D' THEN 'Full'
WHEN 'I' THEN 'Differential'
WHEN 'L' THEN 'Log'
ELSE 'Other'
END AS backup_type,
bks.backup_size / 1024 / 1024 AS backup_size_mb,
bkmf.physical_device_name
FROM msdb.dbo.backupset bks
INNER JOIN msdb.dbo.backupmediafamily bkmf ON bks.media_set_id = bkmf.media_set_id
WHERE bks.backup_start_date >= DATEADD(DAY, -7, GETDATE())
ORDER BY bks.backup_start_date DESC;
GO
იპოვეთ მონაცემთა ბაზები ბოლოდროინდელი სარეზერვო ასლების გარეშე:
SELECT
d.name AS database_name,
MAX(bs.backup_finish_date) AS last_backup_date,
DATEDIFF(DAY, MAX(bs.backup_finish_date), GETDATE()) AS days_since_last_backup
FROM sys.databases d
LEFT JOIN msdb.dbo.backupset bs ON d.name = bs.database_name
WHERE d.database_id > 4 -- Exclude system databases
GROUP BY d.name
HAVING MAX(bs.backup_finish_date) < DATEADD(DAY, -7, GETDATE())
OR MAX(bs.backup_finish_date) IS NULL
ORDER BY last_backup_date;
GO
14.2 გამოყენება SQL Server რეპორტაჟი
SQL Server Management Studio მოიცავს ჩაშენებულ სარეზერვო ასლების ანგარიშებს:
- დააწკაპუნეთ მაუსის მარჯვენა ღილაკით მონაცემთა ბაზაზე Object Explorer-ში
- აირჩიეთ რეპორტაჟი -> სტანდარტული ანგარიშები
- აირჩიეთ ხელმისაწვდომი ანგარიშებიდან:
- სარეზერვო ასლის შექმნისა და აღდგენის ღონისძიებები
- ყველა სარეზერვო ასლი
- ტრანზაქციების ჟურნალის მიწოდების სტატუსი
14.3 მესამე მხარის მონიტორინგის ინსტრუმენტები
კომერციული მონიტორინგის გადაწყვეტილებები:
- SQL Sentry: ყოვლისმომცველი მონიტორინგი და განგაში
- Redgate SQL მონიტორი: რეალურ დროში მონიტორინგი და დიაგნოსტიკაostics
- SolarWinds-ის მონაცემთა ბაზის მუშაობის ანალიზატორი: შესრულებისა და სარეზერვო ასლის მონიტორინგი
- Idera SQL დიაგნოსტიკაostic მენეჯერი: სარეზერვო ასლის დადასტურება და გაფრთხილება
14.4 სარეზერვო სისტემის ჯანმრთელობის შემოწმება
შექმენით ჯანმრთელობის შემოწმების პროცედურა:
-- Backup health check procedure
CREATE PROCEDURE sp_BackupHealthCheck
AS
BEGIN
-- Check for databases without recent full backup
SELECT
'Missing Recent Full Backup' AS issue,
d.name AS database_name,
ISNULL(CAST(MAX(bs.backup_finish_date) AS VARCHAR), 'Never') AS last_backup
FROM sys.databases d
LEFT JOIN msdb.dbo.backupset bs
ON d.name = bs.database_name AND bs.type = 'D'
WHERE d.database_id > 4
GROUP BY d.name
HAVING MAX(bs.backup_finish_date) < DATEADD(DAY, -7, GETDATE()) OR MAX(bs.backup_finish_date) IS NULL; -- Check for failed backup jobs SELECT 'Failed Backup Job' AS issue, j.name AS job_name, jh.run_date, jh.run_time, jh.message FROM msdb.dbo.sysjobs j INNER JOIN msdb.dbo.sysjobhistory jh ON j.job_id = jh.job_id WHERE jh.run_status = 0 -- Failed AND jh.step_id = 0 AND jh.run_date >= CONVERT(INT, CONVERT(VARCHAR, GETDATE()-7, 112))
AND j.name LIKE '%backup%';
END
GO
15. SQL Server ხშირად დასმული კითხვები სარეზერვო ასლის შექმნის შესახებ
15.1 რა სიხშირით უნდა შევქმნა სარეზერვო ასლი SQL Server?
სარეზერვო ასლის შექმნის სიხშირე დამოკიდებულია თქვენი აღდგენის წერტილის მიზანზე (RPO):
- კრიტიკული წარმოების მონაცემთა ბაზები: სრული ყოველკვირეული, დიფერენციალური ყოველდღიური, ჟურნალი ყოველ 15-30 წუთში
- სტანდარტული წარმოების მონაცემთა ბაზები: სრული ყოველკვირეული, დიფერენციალური ყოველდღიური, ჟურნალი ყოველ 1-2 საათში
- განვითარების მონაცემთა ბაზები: სრული დღიური ან ყოველკვირეული
- მხოლოდ წასაკითხი მონაცემთა ბაზები: სრულია თითოეული მონაცემთა ცვლილების შემდეგ
15.2 რა განსხვავებაა სრულ და დიფერენციალურ სარეზერვო ასლს შორის?
სრული სარეზერვო ასლი მთელ მონაცემთა ბაზას კოპირებს, ხოლო დიფერენციალური სარეზერვო ასლი მხოლოდ ბოლო სრული სარეზერვო ასლის შექმნის შემდეგ ცვლილებებს აღრიცხავს. დიფერენციალური სარეზერვო ასლები უფრო მცირე და სწრაფია, მაგრამ აღდგენისთვის საბაზისო სრული სარეზერვო ასლია საჭირო.
15.3 შემიძლია თუ არა სარეზერვო ასლის შექმნა? SQL Server მუშაობის დროს?
დიახ, SQL Server მხარს უჭერს ონლაინ სარეზერვო ასლებს. მომხმარებლებს შეუძლიათ გააგრძელონ მუშაობა სარეზერვო ასლების ოპერაციების დროს. SQL Server იყენებს თავის ტრანზაქციების ჟურნალს თანმიმდევრულობის შესანარჩუნებლად, რაც უზრუნველყოფს სარეზერვო ასლების ვალიდურობას ერთდროული ცვლილებების მიუხედავად.
15.4 რამდენ ხანს გრძელდება SQL Server სარეზერვო ასლის გადაღება?
სარეზერვო ასლის შექმნის ხანგრძლივობა დამოკიდებულია:
- მონაცემთა ბაზის ზომა: უფრო დიდ მონაცემთა ბაზებს მეტი დრო სჭირდება
- სარეზერვო ასლის ტიპი: სრული სარეზერვო ასლების შექმნას ყველაზე მეტი დრო სჭირდება
- შეკუმშვის: შეუძლია გაზარდოს პროცესორის დრო, მაგრამ შეამციროს საერთო ხანგრძლივობა
- შენახვის სიჩქარე: SSD დისკები მნიშვნელოვნად უფრო სწრაფია, ვიდრე HDD დისკები
- სერვერის დატვირთვა: მაღალი აქტივობა ანელებს სარეზერვო ასლების შექმნას
ტიპიური დიაპაზონები: თანამედროვე აპარატურაზე 10 გბ მონაცემთა ბაზის სრული სარეზერვო ასლის შექმნას შეკუმშვით შეიძლება 5-15 წუთი დასჭირდეს.
15.5 სად უნდა შევინახო SQL Server სარეზერვო ასლები?
საუკეთესო პრაქტიკა: დაიცავით 3-2-1 წესი:
- 3 თქვენი მონაცემების ასლები
- 2 სხვადასხვა ტიპის საცავები (მაგ., დისკი და ფირზე/ღრუბელი)
- 1 საიტის გარეთ კოპირება
რეკომენდებული ადგილები:
- ლოკალური დისკი სწრაფი აღდგენისთვის
- ქსელური საცავი ცენტრალიზებული მართვისთვის
- ღრუბლოვანი საცავი (Azure, AWS) კატასტროფის შემდეგ აღდგენისთვის
15.6 რა არის .bak ფაილის გაფართოება?
.bak გაფართოება არის ნაგულისხმევი ფაილის გაფართოება SQL Server სარეზერვო ფაილები. ეს კონვენციაა და არა მოთხოვნა – SQL Server სარეზერვო ასლები მუშაობს ნებისმიერი ფაილის გაფართოებით. თუმცა, .bak-ის გამოყენება სარეზერვო ფაილების იდენტიფიცირებას მარტივად ახდენს და ინდუსტრიის სტანდარტს წარმოადგენს.
15.7 სარეზერვო ასლის შექმნის წესი SQL Server ქსელურ დისკზე?
ქსელურ დისკზე სარეზერვო ასლის შესაქმნელად:
- დარწმუნდით SQL Server სერვისის ანგარიშს აქვს ქსელის წილზე ჩაწერის ნებართვები
- გამოიყენეთ UNC გზა სარეზერვო ასლის ბრძანებაში:
\\ServerName\ShareName\BackupFile.bak - ავტომატური სარეზერვო ასლების დაგეგმვამდე შეამოწმეთ კავშირი
BACKUP DATABASE AdventureWorks
TO DISK = '\\BackupServer\SQLBackups\AdventureWorks.bak'
WITH COMPRESSION, INIT;
GO
15.8 შემიძლია თუ არა შეკუმშვა? SQL Server სარეზერვო ასლები?
დიახ, SQL Server მხარს უჭერს მშობლიურ სარეზერვო ასლის შეკუმშვას (Enterprise Edition ან Standard Edition)tarTing SQL Server 2016 SP1). შეკუმშვა, როგორც წესი, ამცირებს სარეზერვო ასლის ზომას 50-70%-ით და ხშირად ამცირებს სარეზერვო ასლის შექმნის დროს შეყვანის/გამოყვანის შემცირებით, თუმცა ზრდის პროცესორის გამოყენებას.
BACKUP DATABASE AdventureWorks
TO DISK = 'C:\Backups\AdventureWorks.bak'
WITH COMPRESSION;
GO
16. დასკვნა
16.1 ძირითადი წამალი
ეფექტური SQL Server სარეზერვო ასლის შექმნის სტრატეგიები იცავს თქვენს მონაცემებს და უზრუნველყოფს ბიზნესის უწყვეტობას. გახსოვდეთ ეს მნიშვნელოვანი პუნქტები:
- სარეზერვო ასლების ტიპების გაგება: თქვენი აღდგენის მოთხოვნების მიხედვით, აირჩიეთ შესაბამისი სარეზერვო ასლის ტიპები (სრული, დიფერენციალური, ტრანზაქციების ჟურნალი).
- აირჩიეთ შესაბამისი აღდგენის მოდელი: კრიტიკული მონაცემების სრული აღდგენა, მონაცემთა ბაზების შემუშავებისთვის მარტივი
- სარეზერვო ასლის გრაფიკის განხორციელება: რეგულარული სრული სარეზერვო ასლები დიფერენციალურ და ჟურნალის სარეზერვო ასლებთან ერთად ამცირებს მონაცემთა დაკარგვას
- აღდგენის პროცედურების ტესტირება: სარეზერვო ასლები მხოლოდ მაშინ არის ღირებული, თუ მათი წარმატებით აღდგენა შესაძლებელია
- ავტომატიზაცია და მონიტორინგი: გამოყენება SQL Server აგენტი, ტექნიკური მომსახურების გეგმები და მონიტორინგის ინსტრუმენტები
- უსაფრთხო სარეზერვო ასლები: მგრძნობიარე მონაცემების დაშიფვრა და სარეზერვო ფაილებზე წვდომის კონტროლი
- შეინახეთ გარე ასლები: დაიცავით თავი საიტის მასშტაბით კატასტროფებისგან ღრუბლოვანი ან დისტანციური შენახვის საშუალებით
- დაწერე ყველაფერი: შეინახეთ სარეზერვო ასლისა და აღდგენის პროცედურების მკაფიო დოკუმენტაცია
16.2 შემდეგი ნაბიჯები და რესურსები
თქვენი გასაუმჯობესებლად SQL Server სარეზერვო ასლის განხორციელება:
- შეაფასეთ თქვენი მიმდინარე სარეზერვო სტრატეგია საუკეთესო პრაქტიკებთან შედარებით
- გამოთვალეთ თქვენი RTO და RPO მოთხოვნები
- აღდგენის პროცედურების ტესტირება არასაწარმოო სისტემებზე
- რეგულარულად გადახედეთ და განაახლეთ სარეზერვო ასლების გრაფიკები
- ავტომატური მონიტორინგისა და განგაშის დანერგვა
- გუნდის წევრების გაწვრთნა აღდგენის პროცედურებში
Დამატებითი რესურსები:
- microsoft SQL Server დოკუმენტაცია: ოფიციალური სარეზერვო ასლის შექმნისა და აღდგენის ინსტრუქცია
- SQL Server სარეზერვო საზოგადოების ფორუმები: გაუზიარეთ გამოცდილება და გადაწყვეტილებები
- პროფესიული სერთიფიკატები: Microsoft-ის სერტიფიცირებული: Azure მონაცემთა ბაზის ადმინისტრატორის ასოცირებული
16.3 რეკომენდებული ინსტრუმენტები და გადაწყვეტილებები
სხვადასხვა სცენარზე დაყრდნობით:
მცირე ბიზნესი:
- მშობლიური SQL Server სარეზერვო ასლი დაგეგმილი გრაფიკით SQL Server აგენტის ვაკანსიები
- SQLBackupAndFTP ღრუბლოვანი ინტეგრაციისთვის
- Azure-ის სარეზერვო ასლი SQL Server
საშუალო საწარმოები:
- SQL Server სარემონტო გეგმები
- მესამე მხარის ინსტრუმენტები, როგორიცაა Redgate SQL Backup Pro
- Veeam-ის სარეზერვო ასლი SQL Server
მსხვილი საწარმოები:
- Quest LiteSpeed მაქსიმალური შეკუმშვისთვის
- Commvault ან Veritas NetBackup საწარმოს სარეზერვო ასლის მართვისთვის
- ყოველთვის ხელმისაწვდომი ჯგუფები მაღალი ხელმისაწვდომობა
SQL Server სარეზერვო ასლი მონაცემთა ბაზის ადმინისტრირების ფუნდამენტური ფაქტორია. სათანადო დაგეგმვით, დანერგვითა და ტესტირებით, თქვენ შეგიძლიათ უზრუნველყოთ, რომ თქვენი მონაცემები დაცული და საჭიროების შემთხვევაში აღდგენილი იყოს.tarდღესვე დანერგეთ ეს საუკეთესო პრაქტიკა თქვენი უსაფრთხოების უზრუნველსაყოფად SQL Server მონაცემთა ბაზები.
ავტორის შესახებ
იუან შენგი არის მონაცემთა ბაზის უფროსი ადმინისტრატორი (DBA) 10 წელზე მეტი გამოცდილებით SQL Server გარემოსა და საწარმოს მონაცემთა ბაზის მართვაში. მან წარმატებით გადაჭრა მონაცემთა ბაზის აღდგენის ასობით სცენარი ფინანსურ სერვისებში, ჯანდაცვისა და წარმოების ორგანიზაციებში.
იუანი სპეციალიზირებულია SQL Server მონაცემთა ბაზის აღდგენა, მაღალი ხელმისაწვდომობის გადაწყვეტილებები და მუშაობის ოპტიმიზაცია. მისი ფართო პრაქტიკული გამოცდილება მოიცავს მრავალტერაბაიტიანი მონაცემთა ბაზების მართვას, Always On Availability Groups-ის დანერგვას და კრიტიკულად მნიშვნელოვანი ბიზნეს სისტემებისთვის ავტომატური სარეზერვო ასლისა და აღდგენის სტრატეგიების შემუშავებას.
თავისი ტექნიკური ექსპერტიზისა და პრაქტიკული მიდგომის წყალობით, იუანი ფოკუსირებულია ყოვლისმომცველი სახელმძღვანელოების შექმნაზე, რომლებიც მონაცემთა ბაზის ადმინისტრატორებსა და IT სპეციალისტებს დაეხმარება რთული საკითხების გადაჭრაში. SQL Server ეფექტურად უწევს გამოწვევებს. ის მუდმივად ადევნებს თვალყურს უახლეს ამბებს SQL Server რელიზები და Microsoft-ის განვითარებადი მონაცემთა ბაზის ტექნოლოგიები, რეგულარულად ამოწმებს აღდგენის სცენარებს იმის უზრუნველსაყოფად, რომ მისი რეკომენდაციები ასახავდეს რეალურ სამყაროს საუკეთესო პრაქტიკას.
გაქვთ შეკითხვები SQL Server აღდგენა ან გჭირდებათ დამატებითი რჩევები მონაცემთა ბაზის პრობლემების მოგვარებაში? იუანი სიამოვნებით მოგმართავთ. გამოხმაურება და წინადადებები ამ ტექნიკური რესურსების გასაუმჯობესებლად.











