Ms sql სარეზერვო ასლი სკრიპტის საშუალებით. სარეზერვო SQL Server Express. იხილეთ ინფორმაცია მონაცემთა ბაზის სარეზერვო და აღდგენის ღონისძიებების შესახებ

Ms sql სარეზერვო ასლი სკრიპტის საშუალებით.  სარეზერვო SQL Server Express.  იხილეთ ინფორმაცია მონაცემთა ბაზის სარეზერვო და აღდგენის ღონისძიებების შესახებ
Ms sql სარეზერვო ასლი სკრიპტის საშუალებით. სარეზერვო SQL Server Express. იხილეთ ინფორმაცია მონაცემთა ბაზის სარეზერვო და აღდგენის ღონისძიებების შესახებ

და ასევე: SQL სარეზერვო, 1C სარეზერვო.

1C სერვერის ოთახი შეიცავს მონაცემებს მონაცემთა ბაზაში, რომელიც მდებარეობს SQL სერვერზე. დღეს ჩვენ განვიხილავთ MS SQL 2005/2008 ვარიანტს.

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

რა თქმა უნდა, არავის სურს ხელით გააკეთოს 1C მონაცემთა ბაზების SQL სარეზერვო ასლი ყოველდღე. ამისათვის არსებობს ავტომატური ინსტრუმენტები. მოდით გავეცნოთ მათ.

სარეზერვო SQL-ის დაყენება

1C მონაცემთა ბაზისთვის სარეზერვო SQL-ის დაყენება არაფრით განსხვავდება ნებისმიერი სხვა მონაცემთა ბაზის სარეზერვო ასლის დაყენებისგან.

კონფიგურაციისთვის გაუშვით MS SQL Management Studio. ეს პროგრამა მდებარეობს MS SQL პროგრამების ჯგუფში.

1C SQL მონაცემთა ბაზის სარეზერვო დავალების დამატება

ავტომატური SQL მონაცემთა ბაზის სარეზერვო ამოცანები განლაგებულია მენეჯმენტის / ტექნიკური გეგმების ფილიალში.

ახალი სარეზერვო ამოცანის დასამატებლად, დააწკაპუნეთ მარჯვენა ღილაკით Maintenance plans ჯგუფზე და აირჩიეთ New Maintenance Plan.

შეიყვანეთ დავალების სათაური. შენთვის მხოლოდ სახელს აქვს მნიშვნელობა. უმჯობესია გამოიყენოთ ინგლისური სიმბოლოები ყოველი შემთხვევისთვის.

1C SQL მონაცემთა ბაზის სარეზერვო სამუშაოს დაყენება

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

ქვედა მარცხენა კუთხეში ნაჩვენებია ოპერაციის პარამეტრების სია. აირჩიეთ მონაცემთა ბაზის სარეზერვო დავალება ორმაგი დაწკაპუნებით ან უბრალოდ გადაიტანეთ მარჯვნივ.

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

პარამეტრების ფანჯარაში აირჩიეთ საჭირო SQL 1C მონაცემთა ბაზები (შეგიძლიათ გქონდეთ რამდენიმე ან ერთი ერთდროულად).

აირჩიეთ მდებარეობა SQL 1C მონაცემთა ბაზის სარეზერვო ასლის შესანახად. თქვენ უნდა აირჩიოთ ფიზიკურად განსხვავებული მყარი დისკი. ორგანიზაციული მიზნებისთვის, შეგიძლიათ მონიშნოთ „ქვესაქაღალდის შექმნა“ ჩამრთველი.

ახლა მოდით დავაყენოთ სარეზერვო განრიგი. სარეზერვო განრიგი დაემატა ნაგულისხმევად. მაგრამ შეგიძლიათ დაამატოთ რამდენიმე განრიგი (მაგალითად, ერთი ყოველდღიური, ერთი ყოველკვირეული და ა.შ.). დააჭირეთ სარეზერვო განრიგის პარამეტრების ღილაკს.

სკრინშოტი აჩვენებს 1C მონაცემთა ბაზის ყოველდღიური სარეზერვო SQL-ის მაგალითს დილის 3 საათზე.

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

1C SQL მონაცემთა ბაზის სარეზერვო დავალების შენახვა

დააჭირეთ ჩანაწერს. დავალება გამოჩნდება სიაში მარცხნივ.

Ეს არის მნიშვნელოვანი! შეამოწმეთ, რომ სარეზერვო SQL მონაცემთა ბაზის სამუშაო სწორად შეიქმნა. ამისათვის დააწკაპუნეთ დავალებაზე მარჯვენა ღილაკით და აირჩიეთ Execute.

შედეგად, სარეზერვო ფაილი უნდა გამოჩნდეს მითითებულ გზაზე. თუ რამე არასწორია, წაშალეთ დავალება (Del) და დაიწყეთ თავიდან.

2. იხილეთ ინფორმაცია მონაცემთა ბაზის სარეზერვო და აღდგენის ღონისძიებების შესახებ

იმისათვის, რომ გაარკვიოთ, როდის შეიქმნა კონკრეტული მონაცემთა ბაზის სარეზერვო ასლები, ასევე როდის იქნა მონაცემთა ბაზის აღდგენა სარეზერვო ასლიდან, შეგიძლიათ გამოიყენოთ სტანდარტული ანგარიში " » (სარეზერვო და აღდგენა მოვლენები). ამ ანგარიშის შესაქმნელად, თქვენ უნდა დააწკაპუნოთ მაუსის მარჯვენა ღილაკით შესაბამის მონაცემთა ბაზაზე Object Browser-ში (Server Oblects) და აირჩიეთ “ ანგარიშები" (ანგარიშები) -" სტანდარტული ანგარიში" (სტანდარტული მოხსენებები) - " სარეზერვო და აღადგინეთ მოვლენები» (სარეზერვო და აღდგენა მოვლენები).

გენერირებული ანგარიში შეიცავს შემდეგ მონაცემებს:

  • სარეზერვო ოპერაციებისთვის საჭირო საშუალო დრო
  • წარმატებული სარეზერვო ოპერაციები
  • სარეზერვო ოპერაციის შეცდომები
  • წარმატებული აღდგენის ოპერაციები

ამ ინფორმაციის სანახავად, თქვენ უნდა გააფართოვოთ ანგარიშში შესაბამისი დაჯგუფება.

ეს სტატია დაგეხმარა?

დიფერენციალური სარეზერვო ასლი ეფუძნება მონაცემთა უახლეს წინა სრულ სარეზერვო ასლს. დიფერენციალური სარეზერვო ასლი ინახავს მხოლოდ ცვლილებებს, რომლებიც განხორციელდა ბოლო სრული სარეზერვო ასლის შემდეგ.
რეკომენდაციები:
  1. გამოიყენეთ მონაცემთა ბაზის დიფერენციალური ასლები, თუ მონაცემთა სრული ასლის შექმნას დიდი დრო სჭირდება
  2. პერიოდულად გააკეთეთ მონაცემთა ბაზის სრული ასლი, რათა შემცირდეს შექმნილი დიფერენციალური ასლების მოცულობა.
  3. მონაცემთა ბაზის სრული ასლის შექმნის შემდეგ, ყველა წინა დიფერენციალური ასლი კარგავს შესაბამისობას.
შეგიძლიათ მეტი წაიკითხოთ დიფერენციალური სარეზერვო ასლების შექმნის სიხშირის რეკომენდაციების შესახებ.

ნება მომეცით მოგცეთ მცირე პრაქტიკული მაგალითი იმისა, თუ რატომ დავიწყეთ სხვაობის ასლის გამოყენება. დროთა განმავლობაში, ჩვენი კლიენტის მონაცემთა ბაზა იმდენად გაიზარდა, რომ სრული სარეზერვო ასლის შექმნას დასჭირდა 8 საათი, კიდევ რამდენიმე თვე და შესაძლოა ამ ოპერაციის დასრულება სამუშაო დღის დასაწყისში არ ექნებოდათ. დიფერენციალურ სარეზერვო სისტემაზე გადასვლის შემდეგ დრო 8 საათიდან 2-4 წუთამდე შევამცირეთ (კვირის დღეზეა დამოკიდებული). კვირაში ერთხელ ვაკეთებდით მონაცემთა ბაზის სრულ ასლს.

მაგალითი SQL მონაცემთა ბაზის დიფერენციალური სარეზერვო ასლის შესაქმნელად ასლის დასრულების შემდეგ შემოწმებით (განსხვავებულია დროშით სრული ასლისგან დიფერენციალურიამის ნაცვლად უნდა გამოიყენოთ NOFORMAT).

გამოაცხადეთ @pathBackup, როგორც varchar(55) დააყენეთ @pathBackup = N"C:\Backup\[DB ფაილის სახელი]_" + REPLACE(convert(varchar,GETDATE(), 104),".","_") + " .bak" სარეზერვო მონაცემთა ბაზა [მონაცემთა ბაზის სახელი] DISK-ზე = @pathBackup WITH DIFFERENTIAL, NOFORMAT, INIT, NAME = N" მონაცემთა ბაზის სრული სარეზერვო ასლი", SKIP, NOREWIND, NOUNLOAD, STATS = 10, declatup, როგორც ანგარიშზე დაბრუნება როგორც varchar(55) დააყენეთ @pathBackup = N"C:\Backup\[DB ფაილის სახელი]_" + REPLACE(convert(varchar,GETDATE(), 104),".","_") + " .bak" აირჩიეთ @backupSetId = პოზიცია msdb..backupset სადაც database_name=N"[მონაცემთა ბაზის სახელი]" და backup_set_id=(აირჩიეთ max(backup_set_id) msdb..backupset სადაც database_name=N"[მონაცემთა ბაზის სახელი]") თუ @backupSetId არის null. start raiserror(N"დადასტურების შეცდომა. სარეზერვო ინფორმაცია მონაცემთა ბაზის '[Database Name]' ვერ მოიძებნა.", 16, 1) დასასრული აღდგენა VERIFYONLY FROM DISK = @pathBackup WITH FILE = @backupSetId, NOUNLOAD, NOREWIND GO

3.სისტემის მონაცემთა ბაზები
ძირითადი მონაცემთა ბაზისა და მასთან დაკავშირებული ფაილების გარდა, გირჩევთ, გააკეთოთ სისტემის მონაცემთა ბაზების ასლები. დავიწყოთ იმით, თუ რა მონაცემთა ბაზები არსებობს MS SQL-ში. მათგან მხოლოდ 5 არის:

მე ავირჩიე მხოლოდ 2 სისტემის მონაცემთა ბაზის სარეზერვო ასლის შექმნა:

  1. msdb - იმიტომ, რომ კონფიგურირებული ამოცანები და სხვა ინახება იქ
  2. master – ყველა კონფიგურირებული SQL Server პარამეტრი ინახება.
ეს ინფორმაცია ჯერ კიდევ არ არის ძალიან კრიტიკული და შეიძლება აღდგეს ხელით, მაგრამ რატომ უნდა დაკარგოთ დამატებითი დრო, როდესაც შეგიძლიათ უბრალოდ აიღოთ ის სარეზერვო ასლიდან.
4. სარეზერვო გეგმა
ზემოაღნიშნულიდან გამომდინარე, ჩვენ შევიმუშავებთ მონაცემთა სარეზერვო გეგმას. ეს შეიძლება განსხვავდებოდეს იმისგან, რაც გჭირდებათ, ეს ყველაფერი დამოკიდებულია მონაცემთა ბაზის აღდგენის მოთხოვნებზე. გეგმის მომზადებისას უნდა გაეთვალისწინებინა, რომ საჭირო იყო მონაცემების მაქსიმალურად აღდგენა და მონაცემების დაკარგვა ერთ საათზე მეტი არ იყო.

ჩვენ გავაკეთებთ შემდეგ სარეზერვო ასლებს:

  • ძირითადი მონაცემთა ბაზის სრული ასლი, კვირაში ერთხელ მეტი არ არის საჭირო
  • ძირითადი მონაცემთა ბაზის დიფერენციალური ასლი, ყოველდღე
  • ძირითადი მონაცემთა ბაზის ტრანზაქციის ჟურნალის ასლები, ყოველ საათში
  • სამაგისტრო სისტემის მონაცემთა ბაზის ასლი, კვირაში ერთხელ
  • msdb სისტემის მონაცემთა ბაზის ასლი, კვირაში ერთხელ
შედეგად, ჩვენ მივიღეთ შემდეგი მონაცემთა სარეზერვო გეგმა:
კვირის დღე
დრო
მოქმედებები
სიხშირე
აღწერა
ორშაბათი პარასკევი
8-00-დან 21-00-მდე
სარეზერვო ასლები

ტრანზაქციის ჟურნალი

ყოველ საათში
მონაცემთა ბაზის სარეზერვო ასლის შესრულების შემდეგ, ტრანზაქციის ჟურნალი შეკუმშული და შეკვეცილია
შაბათი კვირა
8-00-დან 18-00 საათამდე
ორშაბათი კვირა
22-00
ძირითადი მონაცემთა ბაზის დიფერენციალური ასლი
1 დღეში
წარმატებული დიფერენციალური ასლის გაშვების შემდეგ, ტრანზაქციის ჟურნალის ყველა ძველი ასლი წაიშლება
შაბათი
12-00
მონაცემთა ბაზის შემოწმება
1 დღეში
მონაცემთა ბაზის მთლიანობის შემოწმება.
შაბათი
18-00
მონაცემთა ბაზის სრული ასლის შექმნა
1 დღეში
ამ ოპერაციის დასრულების შემდეგ შეტყობინება იგზავნება ელექტრონული ფოსტით.

თუ სარეზერვო ასლი წარმატებით შეიქმნა, ის წაიშლება

  • ძველი სრული სარეზერვო
  • ყველა ძველი დიფერენციალური ასლი
  • ყველა ძველი ტრანზაქციის ჟურნალი
ორშაბათი კვირა
23-30
სამაგისტრო სისტემის მონაცემთა ბაზის ასლის შექმნა
1 დღეში

კვირა
12-30
msdb სისტემის მონაცემთა ბაზის ასლის შექმნა
თვეში 1 ჯერ
ყოველთვის ინახება მონაცემთა ბაზის მხოლოდ ბოლო ინსტანცია
  1. გამოიყენეთ სარეზერვო საშუალება CHECKSUM-ით
    რომ დარწმუნდეს, რომ ყველაფერი კარგად წავიდა. ამ გადაწყვეტის მინუსი არის ის, რომ დიდი მონაცემთა ბაზებისთვის, საკონტროლო ჯამის შემოწმებამ შეიძლება სერიოზულად დატვირთოს სისტემა.
  2. ნუ შექმნით ფაილების სარეზერვო ასლს იმავე ფიზიკურ დისკზე, რომელიც ინახავს მონაცემთა ბაზას ან ტრანზაქციის ჟურნალს.
  3. თუ იყენებთ MS SQL 2008 ან უფრო მაღალ ვერსიას, გირჩევთ გამოიყენოთ SQL სარეზერვო შეკუმშვა. ნაგულისხმევად შეკუმშვას ჩართავს შემდეგი კოდი: USE master; GO EXEC sp_configure „სარეზერვო შეკუმშვის ნაგულისხმევი“, „1“; ხელახლა კონფიგურაცია უგულებელყოფით;
  4. შეინახეთ სარეზერვო ასლები რამდენიმე დღის განმავლობაში, თუ რომელიმე მათგანი დაზიანდება - ძველი სარეზერვო ასლი უკეთესია, ვიდრე სარეზერვო ასლის გარეშე.
  5. გამოყენება DBCC CHECKDBკოპირებამდე თითოეული მონაცემთა ბაზის შესამოწმებლად, ეს დაუყოვნებლივ გაფრთხილებთ მოსალოდნელი პრობლემების შესახებ. DBCC CHECKDB("მონაცემთა ბაზის სახელი") WITH NO_INFOMSGS, ALL_ERRORMSGS; Შენიშვნა:პრაქტიკაში, ჩვენ ვიყენებდით ამ შემოწმებას მხოლოდ სრული სარეზერვო ასლის შესრულებამდე.
  6. პერიოდულად განაახლეთ სტატისტიკა და განაახლეთ მონაცემთა ბაზის ინდექსები

აპლიკაციის გამოყენებით

რამდენიმე ნიუანსი განაცხადის შესახებ:
  • ყველა ტექსტი და მოთხოვნა კოდში შედის რესურსებში, ეს უფრო ადვილი იყო ჩემთვის
  • კავშირის პარამეტრების და სხვა პარამეტრების შეყვანისას, ისინი ინახება ფაილში. Express და Standard-ისთვის გამოიყენება სხვადასხვა ფაილები (dbStandart, udExpress) და მათში ინახება UserData კლასი.
  • ზოგიერთ ოპერაციას შეიძლება დასჭირდეს ადმინისტრატორის უფლებები
  • ამ დროისთვის, მონაცემთა ბაზასთან კავშირი დომენის ანგარიშის ქვეშ არ მუშაობს
  • პროგრამას არ აქვს სუპერ ლამაზი ინტერფეისი
1. ადმინისტრატორის შეტყობინების დაყენება
ძალიან მეზარებოდა სერვერზე შესვლა ყოველ ჯერზე და გადამოწმება მუშაობდა თუ არა რაიმე შეცდომა. და მინდოდა შემეძლო სხვა შეტყობინებების მიღება და არა მხოლოდ დავალების შესრულების შესახებ.

ამ მიზნით გამოიყენება DatabaseMail MS SQL (სტანდარტული ვერსიისთვის და უფრო მაღალი)
ჩემს აპლიკაციაში გავაკეთე სპეციალური განყოფილება ამ ამოცანის ავტომატიზაციისთვის

დაწკაპუნებით, გამოჩნდება ფორმა საფოსტო პროფილის შესაქმნელად საჭირო ინფორმაციის შევსებისთვის:

აპლიკაცია ავტომატურად არის კონფიგურირებული სტანდარტული SMTP პორტისთვის 25 იმ მისამართისთვის, საიდანაც იგზავნება წერილები. საჭიროების შემთხვევაში, ის შეიძლება შეიცვალოს sysmail_add_account_sp პროცედურაში
მომხმარებლის და პაროლი საჭიროა იმ შემთხვევაში, თუ საფოსტო სერვისს აქვს ავტორიზაციის კონფიგურაცია.

სისტემაში ოპერატორის სახელი მითითებულია, რათა სწორად შევქმნათ პროფილი DatabaseMail-ში. დაწერეთ ნებისმიერი სახელი, რომელიც თქვენთვის გასაგები იქნება. ქვემოთ მოცემულია შევსებული ფორმის მაგალითი.

  1. MS SQL სისტემის პარამეტრები იცვლება.
  2. მონაცემთა ბაზის ფოსტის პროფილი შექმნილია
  3. გააქტიურებულია SQL Agente პროფილში
  4. მონაცემთა ბაზის ფოსტის ანგარიში შეიქმნა
  5. DatabaseMail ანგარიშის დამატება მონაცემთა ბაზის ფოსტის პროფილში
  6. მონაცემთა ბაზის ფოსტის ოპერატორი შექმნილია
ეს უფრო დეტალურად არის აღწერილი შემდეგ სტატიაში და, ნაწილობრივ, აქედან ავიღე. ბუნებრივია, ეს მოქმედებები შეიძლება შესრულდეს SSMS-ის გამოყენებით.
2.დამატებითი შენიშვნები ადმინისტრატორისთვის
პროგრამა გთავაზობთ 2 ამოცანას, რომლებიც გამოიყენება მონაცემთა ბაზაში:
  1. მონაცემთა ბაზის მთლიანობის შემოწმება. მონაცემთა ბაზის შესამოწმებლად გამოყენებული იქნა სტანდარტული პროცედურა DBCC CHECKDB.
  2. ინფორმაცია ფაილურ ჯგუფებში თავისუფალი სივრცის შესახებ.
  3. მეორე დავალება განხორციელდა dbo.sysfiles სისტემის ცხრილის შეკითხვის გამოყენებით
  4. აქ მოცემულია ამ მოთხოვნის მაგალითი, რომელიც შესრულდა მონაცემთა ბაზის წინააღმდეგ:
აირჩიეთ NAME = მარცხნივ(a.NAME,15), a.FILEID, = კონვერტირება(ათწილადი(12,2),მრგვალი(a.size/128.000,2)), = კონვერტირება(ათწილადი(12,2),მრგვალი( fileproperty(a.name,"SpaceUsed")/128.000,2)), = კონვერტირება(ათწილადი(12,2),round((a.size-fileproperty(a.name,"SpaceUsed"))/128.000,2) ) , FILENAME = a.FILENAME dbo.sysfiles-დან a
პასუხი სერვერიდან მოდის ადმინისტრატორის ელფოსტაზე html მარკირების სახით. ეს სინტაქსი შესაძლებელია შემდეგი სტანდარტული MS SQL FOR XML ფუნქციის წყალობით.

ასევე, როცა ვეძებდი, თუ როგორ გადამეყვანა მოთხოვნების დაბრუნებული შედეგი html ტექსტად, წავაწყდი შემდეგ გვერდს, სადაც ადამიანმა შექმნა მთელი პროცედურა ამ მიზნებისთვის.
თქვენ შეგიძლიათ დააკონფიგურიროთ ეს ოპერაციები პროგრამის მენიუში შესაბამისი ელემენტის გამოყენებით:

გამოჩნდება ფანჯარა, სადაც მითითებულია საფოსტო ყუთი, რომელზეც უნდა გაიგზავნოს მოხსენების html ტექსტი:

3. მონაცემთა ბაზის ფოსტის დაყენებისას პრობლემების გადაჭრა
MS SQL 2008-ში მე შევხვდი პრობლემას SQL Server Agent-ის დაყენებისას. სიმპტომები შემდეგია: კონფიგურაციის შემდეგ შეუძლებელია SQL Agent-ის გაშვება. ეს ძირითადად მოგვარებულია SQL სერვერზე განახლების დაყენებით.

თუ ეს განახლებები არ დაგვეხმარება, თქვენ უნდა გადმოწეროთ გამოსწორება. ამ საიტზე შეგიძლიათ ნახოთ საბოლოო ლინკი იმისთვის, რომ გადახვიდეთ რიგ კითხვებზე.
თუ არსებობს პრობლემები DatabaseMail მოდულთან. აპლიკაციის გამოყენებით ამ მოდულის დაყენების შემდეგ, თქვენ უნდა გადახვიდეთ SQL Agent-ზე და ნახოთ ღონისძიების ჟურნალი. თუ არის შეცდომები, "ვერ არის დაკავშირება საფოსტო ყუთთან". ეს ნიშნავს, რომ არსებობს პრობლემა, თუნდაც წერილი გაიგზავნოს გადამოწმების გზით.

ამის გამოსწორება შესაძლებელია შემდეგი მანიპულაციებით:

  1. მართვის სტუდია - SQL Server Agent - Properties.
  2. გაფრთხილების სისტემა
  3. მოხსენით მონიშვნა ფოსტის პროფილის ჩართვა
  4. დააწკაპუნეთ OK
  5. ხელახლა შედით სისტემაში და შეამოწმეთ ყუთი
  6. გადატვირთეთ SQL Server Agent.
შეამოწმეთ თქვენი ანგარიში SQL Agent სერვისისთვის. თუ ეს არის დომენის ანგარიში, შეცვალეთ იგი სისტემის ანგარიშზე ან პირიქით. ყველაფერი უნდა მუშაობდეს.
4. დააყენეთ სარეზერვო ასლი SQL Standard აპლიკაციის გამოყენებით:
აირჩიეთ სტანდარტული ვერსია. შეტყობინებების დაყენება. (იხილეთ სექცია, შეტყობინების პარამეტრები):

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

აირჩიეთ სარეზერვო პარამეტრი:

მიუთითეთ ბაზის ასლების შენახვის გზები. თუ მითითებული საქაღალდეები არ არსებობს, პროგრამა შეეცდება მათ შექმნას (საჭიროა შესაბამისი უფლებები).

დააჭირეთ შენახვას და შესაბამისი ამოცანები კონფიგურირებულია მონაცემთა ბაზაში. მიზანშეწონილია თითოეული სარეზერვო ასლისთვის სხვადასხვა საქაღალდის კონფიგურაცია, რადგან... წაშლისას ყველა ფაილი bak გაფართოებით წაიშლება. (სმ. განყოფილება, რომელიც წაშლის მონაცემთა ბაზის ასლებს)

5. დააყენეთ სარეზერვო ასლი SQL Express აპლიკაციის გამოყენებით:
ვინაიდან SQL Express-ს არ აქვს SQL აგენტი, სარეზერვო ასლების ავტომატიზაციის ამოცანა სხვაგვარად უნდა გადაჭრილიყო. bat ფაილი იქმნება მომხმარებლის მიერ მითითებულ საქაღალდეში, რომელიც აღწერს SQL მოთხოვნას, რომელიც პასუხისმგებელია სარეზერვო ასლის შექმნაზე. საჭიროების შემთხვევაში, შეგიძლიათ პირდაპირ შეცვალოთ იგი. გარდა ამისა, Windows-ის სტანდარტული განრიგმა უნდა იმუშაოს, ის ქმნის დავალებას, რომელიც იმუშავებს დღეში ერთხელ მითითებულ დროს.

ამისათვის გაუშვით აპლიკაცია. აირჩიეთ MS SQL Express:

ჩნდება ფორმა პარამეტრების შესავსებად:

ჩვენ მივუთითებთ სად შეინახება ჩვენი ასლი, ასევე სად განთავსდება bat ფაილი მონაცემთა ბაზის ასლის შესაქმნელად (არ არის საჭირო ფაილის სახელის მითითება, ის ავტომატურად იქნება მითითებული). შემდეგი, ჩვენ ვაზუსტებთ კავშირის პარამეტრებს და დროს, როდესაც ამოცანა უნდა დაიწყოს.

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

6. ამოცანების წაშლა ბაზიდან.
თუ საჭიროა მონაცემთა ბაზიდან ყველა ამოცანის წაშლა (მაგალითად, გინდოდათ შეცვალოთ ბილიკები მონაცემთა ბაზის შესანახად). ამისათვის გამოიყენეთ შესაბამისი ელემენტი პროგრამის მენიუში. ყველა დავალება გარკვეული საწყისი პრეფიქსით (ჩემს შემთხვევაში King) წაიშლება SQL აგენტიდან:

7. მონაცემთა ბაზის ასლების წაშლა
ზოგიერთ ამოცანაში, მონაცემთა ბაზის ძველი ასლები კონფიგურირებულია წასაშლელად. ამისთვის ვიყენებ master.dbo.xp_delete_file პროცედურას. გამოყენების მაგალითი: წაშლის ყველა ფაილს bak გაფართოებით მითითებული საქაღალდიდან, რომლის შექმნის თარიღი 14 დღეზე მეტია.
EXECUTE master.dbo.xp_delete_file 0,"E:\backups",N"bak",dateadd(d,-14,getdate()),0;
და აქ არის კიდევ ერთი უფრო დეტალური მაგალითი და ინფორმაცია იმის შესახებ, თუ რა პარამეტრებს იღებს ეს ფუნქცია.

როგორ აღვადგინოთ სარეზერვო ასლები

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

SQL სკრიპტის გამოყენება. მონაცემთა ბაზის აღსადგენად გამოიყენეთ RESTORE ბრძანება.

თუ თქვენ უბრალოდ გჭირდებათ მონაცემთა ბაზის სრული ასლიდან აღდგენა, მაშინ უბრალოდ გაუშვით შემდეგი სკრიპტი:
მონაცემთა ბაზის აღდგენა [მონაცემთა ბაზის სახელი] FROM DISK = "Z:\SQLServerBackups\back.bak" WITH REPLACE
თუ თქვენ გჭირდებათ თანმიმდევრულად აღადგინოთ სრული ასლი, დიფერენციალური ასლები და ტრანზაქციის ჟურნალები, მაშინ უნდა დაწეროთ შემდეგი SQL სკრიპტი.

RESTORE DATABASE TEST_DB – სრული ასლის აღდგენა FROM test_db_full WITH NORECOVERY; GO RESTORE DATABASE TEST_DB – სხვაობის აღდგენა ასლი FROM test_db_diff WITH FILE = 1, NORECOVERY; GO RESTORE LOG TEST_DB – აღადგინეთ ტრანზაქციების ჟურნალი No. 1 FROM test_db_tran_1 FILE = 1, NORECOVERY-ით; GO RESTORE LOG TEST_DB – აღადგინეთ ტრანზაქციის ჟურნალი No. 2 FROM test_db_tran_2 WITH FILE = 1, WITH NORECOVERY; გადადით მონაცემთა ბაზის TEST_DB-ის აღდგენაზე აღდგენით; წადი
თქვენ ასევე შეგიძლიათ გამოიყენოთ SSMS მონაცემთა ბაზის აღსადგენად.

ტეგები: ტეგების დამატება

გუშინ მე დამავალეს SQL Server 2008 Express მონაცემთა ბაზის სარეზერვო ასლის შექმნა. მოგეხსენებათ, SQL Server-ის ამ გამოცემას არ აქვს SQL Server Agent-ის მხარდაჭერა, ამიტომ მომიწია პატარა გუგლის გაკეთება. გარკვეული ძებნის შემდეგ, წავაწყდი პროგრამას SQLBackupAndFTP(sqlbackupandftp.com). პროგრამის უფასო გამოცემა მხარს უჭერს მონაცემთა ბაზის სარეზერვო ასლს (განრიგის გამოყენებისას შესაძლებელია მხოლოდ ორი მონაცემთა ბაზის სარეზერვო ასლის შექმნა), სარეზერვო ასლის ZIP შეკუმშვა, სარეზერვო ასლის შენახვა ადგილობრივ ან ქსელურ დისკზე და სარეზერვო ასლის გაგზავნაც კი FTP სერვერი. მაგრამ პირველ რიგში...
პროგრამის ჩამოტვირთვისა და ინსტალაციის შემდეგ იხსნება შემდეგი ფანჯარა:

SQL Server-თან დაკავშირების პარამეტრების და ავტორიზაციის მეთოდის შესაცვლელად დააჭირეთ ღილაკს დაუკავშირდით SQL სერვერს:

თუ კავშირი წარმატებული იყო, თქვენ შეძლებთ იხილოთ სერვერთან დაკავშირებული ყველა მონაცემთა ბაზის სია. საჭირო მონაცემთა ბაზის არჩევისას, განყოფილებაში შეინახეთ სარეზერვო ასლები ლოკალურ/ქსელის საქაღალდეშიმიუთითეთ ლოკალური ან ქსელური საქაღალდე სარეზერვო ასლების შესანახად. საჭიროების შემთხვევაში, შეგიძლიათ დააკონფიგურიროთ სარეზერვო ასლების კოპირება FTP სერვერზე. ამისათვის ჩართეთ ფუნქცია სარეზერვო ასლების გაგზავნა FTP სერვერზე r, მიუთითეთ ველში მასპინძლის მისამართითქვენი სერვერის მისამართი და ასევე შეიყვანეთ თქვენი შესვლა და პაროლი FTP სერვერზე შესასვლელად.

ღილაკზე დაჭერით გაიქეცი ახლავეშეგიძლიათ შეამოწმოთ როგორ მუშაობს ყველაფერი...
ერთადერთი პრობლემა, რაც მე შევხვდი არის ის, რომ მე არ შემიძლია დავაყენო ელ.ფოსტის შეტყობინებების გაგზავნა სამუშაოს პროგრესის შესახებ.
შემდეგი, თქვენ უნდა მიუთითოთ სარეზერვო ასლის დრო და შეინახოთ დავალება. ძალიან კარგია, რომ შეგიძლიათ შექმნათ დაგეგმილი სარეზერვო ასლები SQLBackupAndFTPიყენებს სტანდარტულ Windows-ის დავალების განრიგს:

და ბოლოს, განყოფილებაში Მოწინავეშეგიძლიათ მიუთითოთ ანგარიში სარეზერვო სამუშაოს გასაშვებად, პროგრამის დროებითი საქაღალდე, ჟურნალის ფაილების შესანახი საქაღალდე და სარეზერვო ფაილის შეკუმშვის დონე.

მონაცემთა ბაზის აღდგენა სარეზერვოდან
მოწოდებულია აპლიკაცია სარეზერვო ასლიდან მონაცემთა ბაზის აღსადგენად ერთი დაწკაპუნებით SQL აღდგენა:

როგორც ნახატიდან ხედავთ, მონაცემთა ბაზის აღსადგენად თქვენ უნდა მიუთითოთ სარეზერვო ფაილი ფორმატში ბაკან zipაირჩიეთ მონაცემთა ბაზა და დააწკაპუნეთ აღდგენა. Სულ ეს არის!

პროგრამა SQLBackupAndFTPმხარს უჭერს მუშაობას DBMS-ის შემდეგ ვერსიებთან და გამოცემებთან: SQL Server 2005/2008 Express, SQL Server 2008 Enterprise/Workgroup/Standard/Web, SQL Server 2005 Enterprise/Workgroup/Standard, SQL Server 2000 და შემდეგი ოპერაციული სისტემები20: /XP/ Vista/7, Windows Server 2003/2008.

ტეგები: SQL Server, SQL Server 2008 Express, SQLBackupAndFTP, სარეზერვო

ეს სტატია კომენტარს არ ექვემდებარება, რადგან მისი ავტორი ჯერ არ არის

სხვადასხვა წყაროდან ბევრი ინფორმაციის შესწავლის შემდეგ, გადავწყვიტე აღმეწერა MS SQL Server მონაცემთა ბაზის სარეზერვო ასლის დაყენების პროცესი სავსეაღდგენის მოდელი, რომელი მოდელის გამოყენება თქვენზეა დამოკიდებული, მაგრამ დავამატებ, რომ თუ თქვენს მონაცემთა ბაზაში არის ინფორმაციის დიდი ნაკადი (მაგალითად, ათობით, ასობით ან ათასობით დოკუმენტი იქმნება 1 საათში), მაშინ დაკარგვა ინფორმაცია სამუშაო დღის განმავლობაში უბრალოდ მიუღებელი იქნება, ამ შემთხვევაში მხოლოდ სრული მოდელი უზრუნველყოფს თქვენი მონაცემების უსაფრთხოებას. ეს სტატია განკუთვნილია დამწყები სისტემის ადმინისტრატორებისთვის და შეიცავს ჩემი აზრითმოქმედებების მინიმალური ნაკრები 1C მონაცემთა ბაზის სარეზერვო ასლისთვის. თავად SQL სერვერის ინსტალაცია\კონფიგურაცია და მასზე მონაცემთა ბაზის განთავსება არ შედის ამ სტატიის ფარგლებში.

ჩვენ გავაკეთებთ ყველა პარამეტრს SQL Management Studio-ს გამოყენებით. ჯერ თქვენ უნდა შექმნათ სარეზერვო მოწყობილობა, თქვენ არ გჭირდებათ მისი შექმნა, მაგრამ ჩემი აზრით ეს ბევრად უფრო მოსახერხებელი და სწორია. უცებ SQL Management Studio -> სერვერის ობიექტები -> სარეზერვო მოწყობილობები. თქვენ უნდა მიუთითოთ მოწყობილობის სახელი და ფაილი, რომელშიც შეინახება სარეზერვო ასლები (სასურველია BAK გაფართოებით), შემდეგ შეგიძლიათ ნახოთ მედიის შინაარსი, ყველა სარეზერვო ასლი იქნება ჩამოთვლილი.

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

ჩვენს სერვის გეგმას ექნება სამი ქვეგეგმა: 1 - მონაცემთა ბაზის სარეზერვო (სრული); 2 - მონაცემთა ბაზის სარეზერვო (Difference); 3 - სარეზერვო ტრანზაქციის ჟურნალი. თითოეულ ქვეგეგმას აქვს საკუთარი შესრულების განრიგი. ყველა ადგენს განრიგს საკუთარი შეხედულებისამებრ, მაგრამ ჩემს შემთხვევაში სრული ასლი კეთდება კვირაში ერთხელ კვირას, დიფერენციალური ასლი ყოველდღე კვირის გარდა და ტრანზაქციის ჟურნალი ყოველ საათში. ამ სარეზერვო მოდელით, თქვენ შეგიძლიათ აღადგინოთ სასურველი მონაცემთა ბაზა ნებისმიერ თარიღსა და დროს, და ჩვენ ვზოგავთ ადგილს თქვენს მყარ დისკზე, რადგან სრული სარეზერვო ასლი რეალურად ხდება კვირაში ერთხელ და მხოლოდ ცვლილებები ხდება კვირის განმავლობაში.

ყოველდღიური განრიგის დადგენა. ყოველკვირეული განსხვავდება მხოლოდ მოსანიშნი ველში „კვირა“ და მოხსნილია „ორშაბათიდან“ „შაბათამდე“

სარკინიგზო ტრანსპორტის განრიგი. დღის განმავლობაში დროის დაზოგვა წითლად არის მონიშნული, აზრი აქვს, მაგალითად, თუ მომხმარებლები მუშაობენ მონაცემთა ბაზასთან გარკვეული პერიოდის განმავლობაში, თუ მუშაობის რეჟიმი არის 24x7, მაშინ მას ვტოვებთ ნაგულისხმევად.

ქვემოთ მოყვანილი სურათი გვიჩვენებს ყოველკვირეული ქვეგეგმის რედაქტორს, რომელიც შედგება დავალებებისაგან, რომლებიც შესრულებულია მოცემული თანმიმდევრობით. თანმიმდევრობა დაყენებულია ხელით და მწვანე ისრები ნიშნავს, რომ შემდეგი დავალება შესრულდება მხოლოდ იმ შემთხვევაში, თუ წინა დავალება წარმატებით დასრულდება, ხოლო ლურჯი ისრები ნიშნავს, რომ დავალება შესრულდება, როდესაც წინა დავალება დასრულდება. ტექნიკური ქვეგეგმის რედაქტორში ამოცანების დამატება შესაძლებელია "ელემენტების პანელიდან", რომელიც მდებარეობს ზედა მარცხენა კუთხეში, როდესაც რედაქტორი ღიაა.

Დავალებები. თქვენ უნდა შეხვიდეთ თითოეულ დავალებაში და აირჩიოთ მონაცემთა ბაზა, რომლისთვისაც ის შესრულდება და რიგი სხვა პარამეტრები (ასეთის არსებობის შემთხვევაში). მოდით შევხედოთ რა ამოცანებს შეიცავს ჩვენი ტექნიკური გეგმის ყოველკვირეული ქვეგეგმა.

1. „შეამოწმეთ მონაცემთა ბაზის მთლიანობის ამოცანა“. შემდეგი დავალება შესრულდება მხოლოდ იმ შემთხვევაში, თუ მონაცემთა ბაზა არ შეიცავს შეცდომებს. (უნდა შევქმნათ მონაცემთა ბაზის სარეზერვო ასლი შეცდომებით?)

2. „აღდგენის ინდექსის ამოცანა“. აუცილებელია ინდექსის აღდგენა (აღდგენა) ყოველდღე, რადგან... ინდექსებთან მუშაობისას ისინი ძალიან ფრაგმენტირებული ხდებიან და როცა ფრაგმენტაცია 25%-ს აჭარბებს, SQL შესამჩნევად შენელებას იწყებს. ეს ოპერაცია საკმაოდ რესურსზე ინტენსიურია, ამიტომ მისი გაკეთება შეიძლება კვირაში ერთხელ მაინც და დღისითქვეგეგმის ჩანაცვლება ნაკლებად რესურსზე ინტენსიური ამოცანებით „ინდექსის რეორგანიზაცია“.

3. „სტატისტიკის განახლება“. ოპტიმიზაციისთვის... სხვათა შორის, ამ დავალების შესრულება შესაძლებელია დღეში რამდენჯერმე, თუ თქვენი მონაცემთა ბაზა ძლიერად არის დატვირთული.

4. სტატისტიკის განახლების შემდეგ, თქვენ უნდა გაასუფთავოთ პროცედურული ქეში. ამისათვის გადაიტანეთ დავალება „Execute T-SQL განცხადება“ რედაქტორში და ჩაწერეთ პროცედურა ველში „T-SQL განცხადება:“ DBCC FREEPROCCACHE. მაგრამ თქვენ უნდა გაითვალისწინოთ, რომ ეს პროცედურა ასუფთავებს ყველა მონაცემთა ბაზის ქეშს და ჩვენ განვაახლეთ სტატისტიკა ერთ დროს! როგორ გავასუფთავოთ პროცედურული ქეში კონკრეტული მონაცემთა ბაზისთვის, წაიკითხეთ. მოკლედ: DBCC FLUSHPROCINDB(DB_ID)

5. „DB Backup“ (Back Up Database Task). ამ ამოცანში მივუთითებთ, თუ რომელი მონაცემთა სარეზერვო ასლი გვაქვს, სარეზერვო ასლის ტიპი (ყოველკვირეული ქვეგეგმისთვის - სრული, ყოველდღიური ქვეგეგმისთვის - დიფერენციალური, საათობრივი - ტრანზაქციის ჟურნალი.) ჩამრთველს ვაყენებთ პოზიციაზე "Create a მონაცემთა ბაზის სარეზერვო ასლი ერთ ან მეტ ფაილში" და დაამატეთ ადრე შექმნილი სარეზერვო მოწყობილობა. ამ შემთხვევაში, ყველა ასლი ინახება ერთ ფაილში, რომელიც მითითებულია შექმნისას სარეზერვო მოწყობილობა, თუ გადამრთველი დარჩა "შექმენით სარეზერვო ფაილი თითოეული მონაცემთა ბაზისთვის", მაშინ თითოეული სარეზერვო ასლისთვის შეიქმნება ცალკე ფაილი Full, Differential და VT, რაც ძალიან მოუხერხებელია აღდგენისას, მაგრამ მოსახერხებელია შენახვისას. არ დაგავიწყდეთ მიუთითოთ, რომ გჭირდებათ სარეზერვო ასლების შეკუმშვა!

6. „Clear Log“ ასუფთავებს ამოცანების შესრულებისას შექმნილ ჩანაწერებს. თქვენ ასევე შეგიძლიათ ჩართოთ „Post-Maintenance Cleanup“ დავალება და დააკონფიგურიროთ ტექსტის ჟურნალების ან მოძველებული სარეზერვო ასლების წასაშლელად.

VT სარეზერვო ასლის ქვეგეგმა შედგება ერთი დავალებისგან „მონაცემთა ბაზის სარეზერვო ასლი“. ჩემთვის უფრო მოსახერხებელია VT-ის შენახვა არა სარეზერვო მოწყობილობაში, არამედ ცალკე ფაილში, რომელიც უნდა იყოს მითითებული დავალების პარამეტრებში.