1. შესავალი SQL Server რეპლიკაცია
1.1 რა არის SQL Server რეპლიკაცია?
SQL Server რეპლიკაცია არის ტექნოლოგიების ერთობლიობა მონაცემებისა და მონაცემთა ბაზის ობიექტების ერთი მონაცემთა ბაზიდან მეორეში კოპირებისა და გავრცელებისთვის, შემდეგ მონაცემთა ბაზებს შორის სინქრონიზაციისთვის თანმიმდევრულობის შესანარჩუნებლად. ეს ფუნქცია საშუალებას გაძლევთ შექმნათ და შეინარჩუნოთ თქვენი მონაცემების მრავალი ასლი სხვადასხვა სერვერსა და ადგილას, რაც უზრუნველყოფს მონაცემთა ხელმისაწვდომობას და სანდოობას.
1.2 რეპლიკაციის მიზანი და უპირატესობები
SQL Server რეპლიკაცია ემსახურება მრავალ კრიტიკულ ბიზნეს საჭიროებას და მნიშვნელოვან უპირატესობებს უზრუნველყოფს მონაცემთა ბაზის მართვისა და მონაცემთა განაწილებისთვის:
- მონაცემთა განაწილება ლოკაციებს შორის: რეპლიკაცია საშუალებას გაძლევთ გაუზიაროთ მონაცემები რეგიონულ ოფისებს ან გლობალურ ლოკაციებს შორის, რაც აუმჯობესებს ოპერაციულ ეფექტურობას საჭირო მონაცემებზე ადგილობრივი წვდომის უზრუნველყოფით. ეს ამცირებს ქსელის შეყოვნებას და უზრუნველყოფს უკეთეს მუშაობას გეოგრაფიულად განაწილებული მომხმარებლებისთვის.
- მაღალი ხელმისაწვდომობა და კატასტროფის შედეგების აღმოფხვრა: კრიტიკული მონაცემების რეპლიკების მრავალ სერვერზე შენარჩუნებით, რეპლიკაცია უზრუნველყოფს სარეზერვო ასლებს, რომლებიც იცავს აპარატურის გაუმართაობისა და კატასტროფებისგან. პირველადი სერვერის გაუმართაობის შემთხვევაში, რეპლიკირებული ასლები შეიძლება გამოყენებულ იქნას როგორც სარეზერვო წყაროები, რაც მინიმუმამდე ამცირებს შეფერხებას და მონაცემთა დაკარგვას.
- დატვირთვის დაბალანსება და მასშტაბირება: რეპლიკაცია ანაწილებს წაკითხვის ოპერაციებს რამდენიმე სერვერზე, რაც ხელს უშლის რომელიმე ერთი სერვერის გადაქცევას შეფერხების ზონად. ეს მიდგომა აუმჯობესებს სისტემის მუშაობას და საშუალებას აძლევს თქვენს ინფრასტრუქტურას ჰორიზონტალურად მასშტაბირდეს მონაცემებისა და მომხმარებლის მოთხოვნების ზრდასთან ერთად.
- რეალურ დროში მოხსენება და ანალიტიკა: ანგარიშგებისა და ანალიტიკური მოთხოვნების რეპლიკაციურ სერვერებზე გადატანა ამცირებს დატვირთვას საწარმოო მონაცემთა ბაზებზე. მომხმარებლებს შეუძლიათ რთული ანალიტიკური მოთხოვნების გაშვება თითქმის რეალურ დროში მონაცემებზე ოპერაციულ სისტემებზე ზემოქმედების გარეშე, რაც უზრუნველყოფს როგორც მუშაობას, ასევე მონაცემთა განახლებას.
- მონაცემთა ინტეგრაცია და კონსოლიდაცია: რეპლიკაცია ხელს უწყობს სხვადასხვა წყაროდან მონაცემების ერთ კონსოლიდირებულ ხედში გაერთიანებას. ეს განსაკუთრებით ღირებულია მრავალი ფილიალის მქონე ორგანიზაციებისთვის, რომლებსაც სჭირდებათ მონაცემების აგრეგირება შტაბ-ბინაში, ან განაწილებული ოპერაციული სისტემებიდან ცენტრალიზებული მონაცემთა საწყობების შესაქმნელად.
2. SQL Server რეპლიკაციის არქიტექტურა და კომპონენტები
SQL Server რეპლიკაციის არქიტექტურა შედგება რამდენიმე ურთიერთდაკავშირებული კომპონენტისგან, რომლებიც ერთად მუშაობენ მონაცემების თქვენი მონაცემთა ბაზის ინფრასტრუქტურაში გასანაწილებლად და სინქრონიზაციისთვის. ეს განყოფილება იკვლევს ძირითად კომპონენტებს, მათ შორის გამომცემლებს, დისტრიბუტორებს, აბონენტებს, პუბლიკაციებს, სტატიებს, გამოწერებს და აგენტებს, რომლებიც კოორდინაციას უწევენ მონაცემთა ნაკადს მათ შორის:
- გამომცემელი: გამომცემელი არის SQL Server მაგალითად, რომ hostერთი ან მეტი მონაცემთა ბაზა, რომელიც შეიცავს რეპლიკაციისთვის განკუთვნილ მონაცემებს. ის რეპლიკაციის ტოპოლოგიაში ავტორიტეტულ წყაროს წარმოადგენს.
- დისტრიბუტორი: დისტრიბუტორი არის SQL Server ინსტანცია, რომელიც მართავს მონაცემთა ნაკადს გამომცემლებსა და აბონენტებს შორის. დისტრიბუტორის ინსტანცია hosts განაწილების მონაცემთა ბაზა, რომელიც ინახავს რეპლიკაციის მეტამონაცემებს და ტრანზაქციებს.
- აბონენტი: აბონენტი არის SQL Server ინსტანცია, რომელიც იღებს და ინახავს გამომცემლებისგან რეპლიკაციულ მონაცემებს. ერთი აბონენტის ინსტანციას შეუძლიაost მრავალი აბონენტის მონაცემთა ბაზა, რომელთაგან თითოეული იღებს მონაცემებს სხვადასხვა პუბლიკაციიდან.
- გამოცემა: პუბლიკაცია განსაზღვრავს, თუ რა მონაცემები იქნება კოპირებული და როგორ გავრცელდება ის აბონენტებზე. ის აჯგუფებს დაკავშირებულ სტატიებს და ადგენს რეპლიკაციის მეთოდოლოგიას, რომელიც გამოიყენება ყველა შემავალ ობიექტზე.
- მუხლი: სტატია რეპლიკაციის ფუნდამენტური საშენი ბლოკია, რომელიც წარმოადგენს ინდივიდუალურ მონაცემთა ბაზის ობიექტს, რომელიც გავრცელდება აბონენტებზე.
- გამოწერა: გამოწერა ამყარებს ურთიერთობას პუბლიკაციასა და გამომწერს შორის, განსაზღვრავს, თუ როგორ და როდის მიეწოდება მონაცემები დანიშნულების მონაცემთა ბაზას.
- აგენტები: აგენტები სპეციალიზებული პროცესებია, რომლებიც ასრულებენ მონაცემების გადატანისა და სინქრონიზაციის ფაქტობრივ სამუშაოს რეპლიკაციის კომპონენტებს შორის.
3. სახეები SQL Server რეპლიკაცია
SQL Server გთავაზობთ რეპლიკაციის რამდენიმე ტიპს, რომელთაგან თითოეული შექმნილია მონაცემთა განაწილების კონკრეტული სცენარებისა და ბიზნეს მოთხოვნებისთვის. თითოეული ტიპის მახასიათებლების, უპირატესობებისა და შეზღუდვების გაგება აუცილებელია თქვენი გარემოსთვის სწორი მიდგომის შესარჩევად.
3.1 სნეპშოტის რეპლიკაცია
სნეპშოტის რეპლიკაცია იღებს კონკრეტულ დროს გამოსაქვეყნებელი მონაცემების სნეპშოტს, შემდეგ კი ზუსტ და სრულ ასლს ურიგებს გამომწერებს. ის არ აკონტროლებს შემდგომ ცვლილებებს შემდეგი სნეპშოტის გენერირებამდე. სნეპშოტის რეპლიკაცია რეპლიკაციის უმარტივესი ფორმაა, რაც მას შესაფერისს ხდის იმ სცენარებისთვის, სადაც მონაცემები იშვიათად იცვლება ან სადაც ოდნავ მოძველებული მონაცემების ქონა მისაღებია.
გავრცელებული გამოყენების შემთხვევები მოიცავს პერიოდულად განახლებული ფასების სიების ან გაცვლითი კურსების მსგავსი საცნობარო მონაცემების გავრცელებას, მონაცემთა საწყობებისთვის საწყისი მონაცემთა ნაკრებების მიწოდებას და სცენარებს, სადაც მონაცემების სრული განახლება სასურველია ინდივიდუალური ცვლილებების თვალყურის დევნებასთან შედარებით. მაგალითად, კომპანიამ შეიძლება გამოიყენოს სნეპშოტების რეპლიკაცია განახლებული პროდუქტის კატალოგების ფილიალებში დღეში ერთხელ გასავრცელებლად.
სნეპშოტების რეპლიკაციის მთავარი უპირატესობებია მისი სიმარტივე, დაბალი ტექნიკური მომსახურების მოთხოვნები და მონაცემების პირველადი გასაღებების გარეშე რეპლიკაციის შესაძლებლობა. თუმცა, მას აქვს მნიშვნელოვანი ნაკლოვანებები, მათ შორის მაღალი გავლენა, როდესაც სნეპშოტები გენერირდება ცხრილის ბლოკირების გამო, განახლებებს შორის მაღალი შეყოვნება და არაეფექტურობა დიდი მონაცემთა ნაკრებების ან ხშირად ცვალებადი მონაცემების შემთხვევაში. აბონენტებში შეტანილი ნებისმიერი ცვლილება ლost როდესაც შემდეგი სურათი გამოიყენება.
3.2 ტრანზაქციული რეპლიკაცია
ტრანზაქციული რეპლიკაცია ცვლილებებს გამომცემლიდან აბონენტებამდე თითქმის რეალურ დროში აწვდის, ინდივიდუალური ტრანზაქციების რეპლიკაციით მათი განხორციელებისთანავე. ის იწყება საწყისი სურათით, რათა დადგინდეს საწყისი ხაზი, შემდეგ მუდმივად აკონტროლებს ტრანზაქციების ჟურნალს გამოქვეყნებულ სტატიებში ცვლილებების აღმოსაჩენად და მათ აბონენტებს ეტაპობრივად აწვდის.
ტრანზაქციული რეპლიკაცია იდეალურია სერვერიდან სერვერზე სცენარებისთვის, რომლებიც მოითხოვენ მაღალ გამტარუნარიანობას და დაბალ შეყოვნებას. გავრცელებული გამოყენების შემთხვევები მოიცავს მასშტაბირებისა და ხელმისაწვდომობის გაუმჯობესებას წაკითხვის ოპერაციების აბონენტის სერვერებზე გადატანით, მონაცემთა საწყობისა და ანგარიშგების მხარდაჭერას თითქმის რეალურ დროში მონაცემებით, მონაცემების ინტეგრირებას მრავალი ადგილიდან ცენტრალურ ადგილას და პარტიული დამუშავების გადატანას სპეციალურ სერვერებზე. მაგალითად, ელექტრონული კომერციის პლატფორმამ შეიძლება გამოიყენოს ტრანზაქციული რეპლიკაცია რეგიონულ მონაცემთა ბაზებში სინქრონიზებული ინვენტარიზაციის მონაცემების შესანარჩუნებლად.
ტრანზაქციული რეპლიკაციის უპირატესობებში შედის მონაცემთა მიწოდების დაბალი შეყოვნება, დიდი ტრანზაქციების მოცულობის მაღალი გამტარუნარიანობა და აბონენტებთან არარეპლიკირებული ცვლილებების განხორციელების შესაძლებლობა. ნაკლოვანებებში შედის სნეპშოტ რეპლიკაციასთან შედარებით უფრო დიდი სირთულე, რეპლიკაციურ ცხრილებში პირველადი გასაღებების მოთხოვნა და რეპლიკაციის შეწყვეტის პოტენციალი კონფლიქტების წარმოშობის შემთხვევაში, როგორიცაა პირველადი გასაღების დარღვევა აბონენტებთან.
3.3 რეპლიკაციის შერწყმა
შერწყმის რეპლიკაცია სპეციალურად შექმნილია იმ გარემოებისთვის, სადაც აბონენტებს სჭირდებათ ოფლაინში ან წყვეტილი კავშირის მქონე მუშაობა, შემდეგ კი ცვლილებების სინქრონიზაცია, როდესაც კავშირი ხელმისაწვდომია. რეპლიკაციის ეს ტიპი საშუალებას იძლევა მონაცემების დამოუკიდებლად შეცვლა როგორც გამომცემლის, ასევე აბონენტების შემთხვევაში, ცვლილებების თვალყურის დევნებით ტრიგერებისა და მეტამონაცემების ცხრილების გამოყენებით და ცვლილებების ავტომატურად შერწყმით სინქრონიზაციის დროს.
შერწყმის რეპლიკაცია შექმნილია მობილური აპლიკაციებისა და განაწილებული სერვერის გარემოსთვის, სადაც ავტონომიური ცვლილებები ხდება. გამოყენების შემთხვევები მოიცავს გაყიდვების ძალის ავტომატიზაციას, სადაც მობილური მომხმარებლები მუშაობენ ოფლაინში და მოგვიანებით სინქრონიზდებიან, გაყიდვების წერტილების სისტემებს, რომლებიც დამოუკიდებლად მუშაობენ და პერიოდულად აერთიანებენ მონაცემებს და განაწილებულ აპლიკაციებს, სადაც რამდენიმე საიტს სჭირდება გაზიარებული მონაცემების განახლება. მაგალითად, საცალო ვაჭრობის ქსელმა შეიძლება გამოიყენოს შერწყმის რეპლიკაცია, რათა თითოეულმა მაღაზიამ შეძლოს ადგილობრივი ინვენტარის მართვა ცენტრალური საწყობის სისტემასთან სინქრონიზაციისას.
შერწყმის რეპლიკაციის უპირატესობებში შედის ავტონომიური აბონენტების მხარდაჭერა, რომლებსაც შეუძლიათ ცვლილებების შეტანა, ქსელური კავშირის წყვეტილი ტოლერანტობა და კონფლიქტების მოქნილი მოგვარება. ნაკლოვანებებში შედის დაყენებისა და მოვლა-პატრონობის უფრო დიდი სირთულე, მეტამონაცემებისა და ტრიგერების თვალყურის დევნებით გამოწვეული შესრულების გადატვირთვა, ცხრილებში უნიკალური იდენტიფიკატორის სვეტების დამატება და კონფლიქტების პოტენციალი, რომლებიც მართვას და მოგვარებას მოითხოვს.
3.4 ურთიერთშემცვლელთა რეპლიკაცია
თანატოლთა რეპლიკაცია აგებულია ტრანზაქციულ რეპლიკაციაზე და საშუალებას აძლევს სერვერის რამდენიმე ინსტანციას (სამი ან მეტი კვანძი) იმოქმედონ როგორც თანასწორი თანატოლები, სადაც თითოეული კვანძი ერთდროულად ემსახურება როგორც გამომცემელს, ასევე აბონენტს. ამ ტოპოლოგიაში, ყველა კვანძი ინახავს მონაცემთა იდენტურ ასლებს და შეუძლია როგორც წაკითხვის, ასევე ჩაწერის ოპერაციების შესრულება, რაც უზრუნველყოფს ჭეშმარიტად განაწილებულ მრავალმასტერულ გარემოს.
თანატოლთა რეპლიკაცია შესაფერისია იმ აპლიკაციებისთვის, რომლებიც მოითხოვენ წაკითხვის ოპერაციების მასშტაბირებას და მაღალ ხელმისაწვდომობას. გამოყენების შემთხვევები მოიცავს ვებ აპლიკაციებს, რომლებიც ანაწილებენ კატალოგის მოთხოვნებს მრავალ კვანძზე, მონაცემების თანმიმდევრულობის შენარჩუნებით, სცენარებს, რომლებიც საჭიროებენ მოვლა-პატრონობას ან განახლებას შეფერხების გარეშე, კვანძების ინდივიდუალურად გათიშვით და გლობალურ აპლიკაციებს, რომლებსაც აქვთ მონაცემთა ცენტრები სხვადასხვა რეგიონში. მაგალითად, მსოფლიო მასშტაბით პროგრამული უზრუნველყოფის მხარდაჭერის ორგანიზაციამ შეიძლება გამოიყენოს თანატოლთა რეპლიკაცია სხვადასხვა დროის სარტყელში მყოფ ოფისებს შორის, რათა თითოეულ ლოკაციას ჰქონდეს ადგილობრივი წვდომა მიმდინარე მონაცემებზე.
თანატოლებთან რეპლიკაციის უპირატესობებში შედის გაუმჯობესებული წაკითხვის შესრულება მასშტაბირების გზით, მაღალი ხელმისაწვდომობა მრავალი აქტიური კვანძის შემთხვევაში და მონაცემთა თითქმის რეალურ დროში თანმიმდევრულობა. ნაკლოვანებებში შედის Enterprise Edition-ის მოთხოვნა, მრავალკვანძიანი ტოპოლოგიების მართვის სირთულე, ყველა კვანძში იდენტური სქემისა და მონაცემების საჭიროება და კონფლიქტების პოტენციალი, როდესაც ჩაწერის ოპერაციები სწორად არ არის დაყოფილი.
3.5 ორმხრივი რეპლიკაცია
ორმხრივი რეპლიკაცია არის სპეციფიკური ტრანზაქციული რეპლიკაციის ტოპოლოგია, რომელიც სპეციალურად შექმნილია ორსერვერიანი გარემოსთვის, სადაც ორივე სერვერს ერთმანეთთან ცვლილებების გაცვლა სჭირდება. თითოეული სერვერი აქვეყნებს მონაცემებს და იწერს იმავე მონაცემებს მეორე სერვერიდან, რაც ქმნის მარტივ ორმხრივ სინქრონიზაციის ნაკადს. მიუხედავად იმისა, რომ peer-to-peer რეპლიკაციას ასევე შეუძლია ორი კვანძის მხარდაჭერა, ორმხრივი რეპლიკაცია უზრუნველყოფს გაუმჯობესებულ მუშაობას ამ კონკრეტული სცენარისთვის.
ორმხრივი რეპლიკაცია შესაფერისია იმ სცენარებისთვის, რომლებიც მოითხოვს ორ აქტიურ სერვერს სინქრონიზებული მონაცემებით, როგორიცაა აქტიური-აქტიური კონფიგურაციები მაღალი ხელმისაწვდომობისთვის ან გეოგრაფიულად განაწილებული აპლიკაციებისთვის, სადაც თითოეულ საიტს სჭირდება ადგილობრივი ჩაწერის წვდომა. ტოპოლოგია მოითხოვს აპლიკაციის ფრთხილად დიზაინს მონაცემთა განახლებების დაყოფისა და კონფლიქტების თავიდან ასაცილებლად.
უპირატესობებში შედის ორი სერვერის სცენარებისთვის ოპტიმიზებული მუშაობა, უფრო მარტივი კონფიგურაცია peer-to-peer რეპლიკაციასთან შედარებით, თითქმის რეალურ დროში სინქრონიზაცია და შერწყმის რეპლიკაციასთან შედარებით დაბალი ხარჯები. ნაკლოვანებებში შედის ზუსტად ორი სერვერის შეზღუდვა, ჩაშენებული კონფლიქტების მოგვარების არარსებობა, რაც მოითხოვს აპლიკაციის ფრთხილად დიზაინს და კონფლიქტების თავიდან ასაცილებლად სათანადო დაყოფის სტრატეგიების საჭიროება.
3.6 განახლებადი გამოწერები
განახლებადი გამოწერები აფართოებს ტრანზაქციულ რეპლიკაციას, რათა აბონენტებს საშუალება მისცენ პერიოდულად შეიტანონ ცვლილებები რეპლიკაციურ მონაცემებში, რომლებიც შემდეგ უკან, გამომცემელთან და სხვა აბონენტებთან გადაეცემა. შერწყმის რეპლიკაციისა და თანატოლებთან ტოპოლოგიებისგან განსხვავებით, რომლებიც შექმნილია ხშირი ორმხრივი განახლებებისთვის, განახლებადი გამოწერები განკუთვნილია იმ სცენარებისთვის, სადაც მონაცემთა ძირითადი ნაკადი ცალმხრივია (გამომცემლიდან აბონენტებამდე), მაგრამ აბონენტებს ზოგჯერ სჭირდებათ შესწორებების ან განახლებების შეტანა.
განახლებადი გამოწერები შესაფერისია იმ სცენარებისთვის, სადაც მost განახლებები ხდება გამომცემლის მიერ, მაგრამ აუცილებელია პერიოდული განახლებები აბონენტებისთვის, როგორიცაა საველე ოფისები, რომლებიც ძირითადად კითხულობენ მონაცემებს, მაგრამ საჭიროებენ ადგილობრივი შესწორებების ან განახლებების შეტანას. ტოპოლოგია მოითხოვს ფრთხილად დაგეგმვას კონფლიქტების მინიმიზაციისა და მონაცემთა თანმიმდევრულობის უზრუნველსაყოფად.
ძირითადი უპირატესობებია აბონენტებისთვის ჩაწერის შეზღუდული ოპერაციების დაშვება ტრანზაქციული რეპლიკაციის შესრულების მახასიათებლების შენარჩუნებისას. ნაკლოვანებებია გაზრდილი სირთულე, გადაჭრის საჭირო კონფლიქტების პოტენციალი, ორფაზიანი ჩაწერის პროტოკოლიდან გამომდინარე შესრულების გადატვირთვა დაუყოვნებლივი განახლების რეჟიმში და მოთხოვნა, რომ ყველა რეპლიკირებულ ცხრილს ჰქონდეს პირველადი გასაღებები.
3.7 რეპლიკაციების სხვადასხვა ტიპის შედარება
| რეპლიკაციის ტიპი | განახლების დრო | გამომცემელთა რაოდენობა | მიმართულებით | გამოიყენეთ სცენარები |
|---|---|---|---|---|
| Snapshot | დროის წერტილი | 1 | One direction (გამომცემელი → გამომწერები) | იშვიათად ცვალებადი საცნობარო მონაცემები (ფასების სიები, გაცვლითი კურსები) |
| გარიგების | თითქმის რეალურ დროში | 1 | One direction (გამომცემელი → გამომწერები) | მაღალი გამტარუნარიანობის სცენარები (ელექტრონული კომერციის ინვენტარი, მონაცემთა საწყობი, ანგარიშგება) |
| შერწყმა | პერიოდული (დაკავშირებისას) | 1 | ორმხრივი (გამომცემელი ↔ აბონენტები) | მობილური აპლიკაციები, ოფლაინ მუშაკები (გაყიდვების ავტომატიზაცია, საველე მომსახურება) |
| გასაკეთებელი- to- თანხმობა | თითქმის რეალურ დროში | მრავალჯერადი (3 ან მეტი) | ორმხრივი (ყველა კვანძი) | გლობალური მრავალმონაცემთა ცენტრის განლაგება (მსოფლიო მასშტაბით ოფისები ადგილობრივი წაკითხვისა და ჩაწერის წვდომით) |
| ორმხრივი | თითქმის რეალურ დროში | 2 | ორმხრივი (ორივე სერვერი) | ორი მონაცემთა ცენტრის აქტიური-აქტიური კონფიგურაციები (ორმაგი საიტის მაღალი ხელმისაწვდომობა) |
| განახლებადი გამოწერები | თითქმის რეალურ დროში | 1 | ძირითადად ერთი მიმართულებით (ხანდახან საპირისპირო განახლებები) | ფილიალები, რომლებიც ძირითადად კითხულობენ, მაგრამ ზოგჯერ აახლებენ (ადგილობრივი შესწორებები) |
4. დაყენება SQL Server რეპლიკაცია
4.1 წინაპირობები და მოთხოვნები
4.1.1 პროგრამული უზრუნველყოფის მოთხოვნები
SQL Server რეპლიკაციას თავსებადობა სჭირდება SQL Server ტოპოლოგიის ყველა მონაწილისთვის ვერსიები. დისტრიბუტორის ვერსია უნდა იყოს გამომცემლის ვერსიის ტოლი ან უფრო მაღალი, ხოლო აბონენტი შეიძლება იყოს გამომცემლის ორი ვერსიის ფარგლებში. მაგალითად, SQL Server 2016 წლის გამომცემელს შეუძლია რეპლიკაცია SQL Server 2012, 2014, 2016, 2017 ან 2019 გამომწერი.
4.1.2 ნებართვის მოთხოვნები
რეპლიკაციის კონფიგურაციისთვის თითოეულ დონეზე საჭიროა კონკრეტული ნებართვები. სისტემის ადმინისტრატორის ფიქსირებული სერვერის როლის წევრებს შეუძლიათ რეპლიკაციის კონფიგურაციის ყველა დავალების შესრულება. უფრო დეტალური ნებართვებისთვის, მომხმარებლები უნდა იყვნენ გამომცემლისა და აბონენტის მონაცემთა ბაზებისთვის db_owner მონაცემთა ბაზის როლის წევრები.
4.2 ნაბიჯი 1: დისტრიბუციის კონფიგურაცია
დისტრიბუციის კონფიგურაცია დაყენების პირველი ნაბიჯია SQL Server რეპლიკაცია.
დისტრიბუციის კონფიგურაციისთვის გამოიყენეთ SQL Server მართვის სტუდია:
- დაუკავშირდით SQL Server მაგალითად SQL Server მენეჯმენტის სტუდია.
- ობიექტის მკვლევარში, დააწკაპუნეთ მაუსის მარჯვენა ღილაკით რეპლიკაცია საქაღალდე და აირჩიეთ დისტრიბუციის კონფიგურაცია.
- განაწილების კონფიგურაციის ოსტატში დააჭირეთ ღილაკს შემდეგი მისასალმებელ გვერდზე.
- წლის დისტრიბუტორი გვერდზე, აირჩიეთ შემდეგი ვარიანტებიდან ერთ-ერთი თქვენი ტოპოლოგიის მოთხოვნების მიხედვით:
- ადგილობრივი დისტრიბუტორიაირჩიეთ „სერვერის სახელი იმოქმედებს როგორც საკუთარი დისტრიბუტორი“; SQL Server „შეიქმნება განაწილების მონაცემთა ბაზა და ჟურნალი“, თუ გსურთ, რომ გამომცემელი და დისტრიბუტორი ერთსა და იმავე ინსტანციაზე (მიმდინარე ინსტანცია) იმუშაონ. ეს კონფიგურაცია უფრო მარტივი დასაყენებელია და შესაფერისია მცირე გარემოსთვის ან იმ შემთხვევაში, როდესაც გამომცემელსა და დისტრიბუტორს შორის ქსელის შეყოვნება პრობლემებს გამოიწვევს.
- დისტანციური დისტრიბუტორიაირჩიეთ „გამოიყენეთ შემდეგი სერვერი, როგორც დისტრიბუტორი“ და დააჭირეთ ღილაკს დამატება დისტანციური დისტრიბუტორის სერვერის მითითება, თუ გსურთ დისტრიბუციის დამუშავების ცალკეულ ინსტანციაზე გადატანა. ეს კონფიგურაცია აუმჯობესებს მუშაობას რეპლიკაციის მოცულობის მაღალი მაჩვენებლების დროს, სამუშაო დატვირთვის მრავალ სერვერზე განაწილებით. თქვენ უნდა მიუთითოთ დისტანციური დისტრიბუტორის სახელი და მიუთითოთ პაროლი, რომელსაც გამომცემელი გამოიყენებს დისტრიბუტორთან დასაკავშირებლად.
- დაწკაპეთ შემდეგი სნეპშოტის საქაღალდის მდებარეობის მითითებისთვის. ქსელში ხელმისაწვდომობის უზრუნველსაყოფად, ლოკალური გზის ნაცვლად გამოიყენეთ UNC გზა (მაგალითად, \\servername\share\folder).
- წლის განაწილების მონაცემთა ბაზა გვერდზე, დაეთანხმეთ დისტრიბუციის მონაცემთა ბაზის ნაგულისხმევ სახელს (როგორც წესი, „დისტრიბუცია“) ან მიუთითეთ საკუთარი სახელი, შემდეგ კი დააკონფიგურირეთ მონაცემებისა და ჟურნალის ფაილების მდებარეობა.
- წლის გამომცემელთა გვერდზე, გადაამოწმეთ, რომ მიმდინარე სერვერი ჩართულია, როგორც გამომცემელი. თუ მიმდინარე სერვერს დისტრიბუტორად დააკონფიგურირებთ, შეგიძლიათ დაამატოთ დამატებითი გამომცემლები, რომლებიც ამ დისტრიბუტორს გამოიყენებენ.
- გადახედეთ ოსტატის მოქმედებებს და დააწკაპუნეთ ფერი დისტრიბუციის კონფიგურაციისთვის.
4.3 ნაბიჯი 2: პუბლიკაციის შექმნა
დისტრიბუციის კონფიგურაციის შემდეგ, შემდეგი ნაბიჯი არის პუბლიკაციის შექმნა, რომელიც განსაზღვრავს, თუ რომელი მონაცემთა ობიექტები იქნება რეპლიკირებული აბონენტებისთვის.
პუბლიკაციის შესაქმნელად, გამოიყენეთ SQL Server მართვის სტუდია:
- ობიექტის მკვლევარში, გააფართოვეთ რეპლიკაცია საქაღალდე.
- მარჯვენა ღილაკის ადგილობრივი პუბლიკაციები და აირჩიეთ ახალი პუბლიკაცია.
- ახალი პუბლიკაციის ოსტატიtarts; დაწკაპუნება შემდეგი მისასალმებელ გვერდზე.
- აირჩიეთ მონაცემთა ბაზა, რომლის გამოქვეყნებაც გსურთ სიიდან პუბლიკაციების მონაცემთა ბაზა გვერდი. ეს ავტომატურად ჩართავს გამოქვეყნებას არჩეულ მონაცემთა ბაზაში.
- წლის პუბლიკაციის ტიპი გვერდზე, აირჩიეთ რეპლიკაციის ტიპი: მოკლე შინაარსის გამოცემა, ტრანზაქციული გამოქვეყნება, თანატოლთაშორისი გამოცემა, ან პუბლიკაციის გაერთიანება.
- წლის სტატიები გვერდი, გააფართოვეთ მაგიდები კვანძი და აირჩიეთ ცხრილები სტატიებად ჩასართავად.
- სურვილისამებრ გაფართოება შენახული პროცედურები, ნახვები, ან სხვა ტიპის ობიექტები დამატებითი სტატიების ჩასართავად.
- დაწკაპეთ სტატიის თვისებები ფილტრაციის ან სტატიისთვის სპეციფიკური სხვა პარამეტრების კონფიგურაციისთვის.
- წლის ცხრილის რიგების ფილტრი გვერდზე, საჭიროების შემთხვევაში დაამატეთ სტრიქონების ფილტრები.
- წლის სნეპშოტის აგენტი გვერდზე აირჩიეთ, როდის შექმნათ სნეპშოტი: დაუყოვნებლივ, კონკრეტულ დროს თუ გრაფიკით.
- წლის აგენტის უსაფრთხოება გვერდზე მიუთითეთ Snapshot Agent-ის უსაფრთხოების კონტექსტი.
- წლის ჯადოქრის მოქმედებები გვერდი, აირჩიეთ პუბლიკაციის შექმნა.
- მიუთითეთ პუბლიკაციის სახელი და დააჭირეთ მასზე ფერი.
4.4 ნაბიჯი 3: გამოწერის შექმნა
პუბლიკაციის შექმნის შემდეგ, შემდეგი ნაბიჯი არის ხელმოწერების შექმნა, რომლებიც პუბლიკაციას აბონენტების მონაცემთა ბაზებთან დააკავშირებს.
გამოწერები შეიძლება იყოს push-გამოწერები (დისტრიბუტორის მიერ მართული) ან pull-გამოწერები (გამომწერის მიერ მართული). ძირითადი განსხვავებებია, თუ სად ქმნით გამოწერას და რომელ აგენტის მდებარეობას ირჩევთ, რაც განსაზღვრავს გამოწერის მოქმედებას (push თუ pull).
Push გამოწერისთვის (დისტრიბუტორის მიერ მართული):
- წლის გამომცემელი სერვერი, გაფართოება რეპლიკაცია -> ადგილობრივი პუბლიკაციები.
- დააწკაპუნეთ მაუსის მარჯვენა ღილაკით პუბლიკაციაზე და აირჩიეთ ახალი გამოწერები.
Pull-ის გამოწერისთვის (მათ მართავს აბონენტი):
- წლის აბონენტის სერვერი, გაფართოება რეპლიკაცია, დააჭირეთ მაუსის მარჯვენა ღილაკს ადგილობრივი გამოწერებიდა აირჩიეთ ახალი გამოწერები.
- წლის განთავსების გვერდზე, დააჭირეთ მოვძებნით SQL Server გამომცემლობა და დაუკავშირდით გამომცემლის სერვერს.
ორივე ტიპის გამოწერისთვის ოსტატის საერთო ნაბიჯები:
- ახალი გამოწერის ოსტატში დააწკაპუნეთ შემდეგი მისასალმებელ გვერდზე.
- აირჩიეთ პუბლიკაცია და დააჭირეთ მასზე შემდეგი.
- წლის დისტრიბუციის აგენტის მდებარეობა გვერდზე აირჩიეთ აგენტის მდებარეობა:
- Push-გამოწერააირჩიეთ „ყველა აგენტის გაშვება დისტრიბუტორთან“ - დისტრიბუტორი ცვლილებებს აბონენტებს გადასცემს.
- გამოწერის გატანააირჩიეთ „თითოეული აგენტის გაშვება მის აბონენტთან“ - თითოეული აბონენტი ცვლილებებს დისტრიბუტორიდან გამოიტანს.
- წლის აბონენტების გვერდზე, აირჩიეთ არსებული აბონენტის სერვერები ან დააწკაპუნეთ გამომწერის დამატება ახლების დასამატებლად.
- თითოეული აბონენტისთვის აირჩიეთ დანიშნულების მონაცემთა ბაზა ან შექმენით ახალი მონაცემთა ბაზა. შენიშვნა: გამოწერის მონაცემთა ბაზა უნდა განსხვავდებოდეს გამომცემლის მონაცემთა ბაზისგან, მაშინაც კი, თუ იგივე მონაცემთა ბაზა გამოიყენება. SQL Server მაგალითად.
- წლის დისტრიბუციის აგენტის უსაფრთხოება გვერდზე, უსაფრთხოების კონტექსტის კონფიგურაციისთვის დააჭირეთ თითოეული გამოწერის თვისებების ღილაკს.
- წლის სინქრონიზაციის გრაფიკი გვერდზე აირჩიეთ უწყვეტი სინქრონიზაცია ან დაგეგმილი სინქრონიზაცია.
- წლის გამოწერების ინიციალიზაცია გვერდი, აირჩიეთ დაუყოვნებლივ ოსტატის დასრულებისას ინიციალიზაციისთვის ან პირველი სინქრონიზაციის დროს.
- გადახედეთ ოსტატის მოქმედებებს და დააწკაპუნეთ ფერი.
5. მონიტორინგი და მართვა SQL Server რეპლიკაცია
5.1 რეპლიკაციის მონიტორინგი რეპლიკაციის მონიტორის გამოყენებით
რეპლიკაციის მონიტორის გასაშვებად:
- In SQL Server მენეჯმენტის სტუდია, გაფართოება რეპლიკაცია ობიექტის მკვლევარში.
- მარჯვენა ღილაკის რეპლიკაცია და აირჩიეთ რეპლიკაციის მონიტორის გაშვება.
- თუ გამომცემლები არ არიან რეგისტრირებულნი, დააწკაპუნეთ გამომცემლის დამატება მარცხენა სარკმელზე.
- არჩევა დამატება SQL Server გამომცემლობა და დაუკავშირდით გამომცემლის სერვერს.
- გამომცემელი მარცხენა პანელში ჩანს პუბლიკაციებისა და გამოწერების გაფართოებადი კვანძებით.
5.2 შესრულების მონიტორინგი
5.2.1 მონიტორის შეყოვნება
რეპლიკაციის შეყოვნება არის დროის ინტერვალი გამომცემელში მომხდარ ცვლილებასა და აბონენტზე ამ ცვლილების გამოყენებას შორის. აკონტროლეთ შეყოვნება, რათა დარწმუნდეთ, რომ მონაცემთა სიახლე აკმაყოფილებს ბიზნესის მოთხოვნებს.
რეპლიკაციის მონიტორი გამოიყენეთ ყველა გამოწერის ჩანართზე შეყოვნების მეტრიკის სანახავად. შეყოვნების სვეტი აჩვენებს საშუალო შეყოვნებას წამებში. ტრანზაქციული რეპლიკაციისთვის, ტრეისერ ტოკენები უზრუნველყოფენ შეყოვნების ზუსტ გაზომვებს მარკერის ტრანზაქციების ჩასმით, რომლებიც თვალყურს ადევნებენ რეპლიკაციის მილსადენში.
ტრეისერის ტოკენების გამოსაყენებლად:
- რეპლიკაციის მონიტორში აირჩიეთ ტრანზაქციული პუბლიკაცია.
- დააჭირეთ Tracer Tokens Tab.
- დაწკაპეთ ტრეისერის ჩასმა მარკერის ტრანზაქციის ინექციისთვის.
- აკონტროლეთ ტოკენი, როდესაც ის გამომცემლიდან დისტრიბუტორამდე და შემდეგ აბონენტამდე გადაადგილდება.
- შეფერხებების დასადგენად, ნახეთ თითოეული სეგმენტისთვის საჭირო დრო.
5.2.2 მონიტორის გამტარუნარიანობა
გამტარუნარიანობა ზომავს დროთა განმავლობაში რეპლიკირებული მონაცემების მოცულობას, რაც, როგორც წესი, გამოიხატება წამში ტრანზაქციების ან წამში ბრძანებების სახით. აკონტროლეთ გამტარუნარიანობა, რათა დარწმუნდეთ, რომ რეპლიკაცია გამომცემლის აქტივობას აჰყვება.
მიუხედავად იმისა, რომ Replication Monitor უზრუნველყოფს სინქრონიზაციის ძირითად სტატუსს, მიწოდების სიჩქარე და დეტალური გამტარუნარიანობის მეტრიკა გრაფიკულ ინტერფეისში არ ჩანს. გამტარუნარიანობის მონიტორინგისთვის გამოიყენეთ T-SQL მოთხოვნები განაწილების მონაცემთა ბაზასთან:
USE distribution
GO
-- Direct join to avoid subquery
SELECT TOP 20
h.time AS [Time],
a.name AS [Agent Name],
h.runstatus AS [Status],
h.delivered_transactions AS [Delivered Transactions],
h.delivered_commands AS [Delivered Commands],
h.delivery_rate AS [Delivery Rate (commands/sec)],
h.delivery_latency AS [Delivery Latency (ms)],
h.comments AS [Comments]
FROM MSdistribution_history h
JOIN MSdistribution_agents a ON h.agent_id = a.id
WHERE a.name LIKE '%MyPublication2%'
AND h.runstatus IN (2, 3, 4, 6)
ORDER BY h.time DESC
GO
სტატუსის კოდები: 1 = Start, 2 = მიმდინარეობს, 3 = წარმატებით, 4 = უმოქმედო, 5 = ხელახლა ცდა, 6 = წარუმატებლობა. შეადარეთ მიწოდების სიჩქარე გამომცემლის ტრანზაქციების სიჩქარეს, რათა დაადგინოთ სიტუაციები, როდესაც რეპლიკაცია ჩამორჩება. შესრულების მრიცხველები Windows-ის მუშაობის მონიტორი უზრუნველყოს დამატებითი გამტარუნარიანობის მეტრიკა თითოეული რეპლიკაციის აგენტისთვის.
5.2.3 შემაფერხებელი წერტილების იდენტიფიცირება
რეპლიკაციის შეფერხებები შეიძლება წარმოიშვას ტოპოლოგიის მრავალ წერტილში. გამომცემელში, სნეპშოტის გენერირების გადაჭარბებული დრო ან ჟურნალის წამკითხველი აგენტის შეფერხებები შეიძლება მიუთითებდეს რესურსების შეზღუდვაზე. რეპლიკაციის აქტივობების დროს აკონტროლეთ გამომცემლის CPU, მეხსიერება და დისკის შეყვანა/გამოყვანა.
დისტრიბუტორთან შეამოწმეთ ტრანზაქციების დაგროვება დისტრიბუციის მონაცემთა ბაზაში. გაუნაწილებელი ბრძანებების დიდი რაოდენობა მიუთითებს, რომ დისტრიბუტორს არ შეუძლია მიწოდების ტემპის შენარჩუნება. აკონტროლეთ დისტრიბუტორის სერვერის რესურსები და განიხილეთ სპეციალური დისტანციური დისტრიბუტორის გამოყენება მაღალი მოცულობის სცენარებისთვის.
აბონენტზე ცვლილებების ნელი გამოყენება შეიძლება გამოწვეული იყოს არასაკმარისი რესურსებით, ინდექსების არარსებობით ან შეზღუდვებით, რომლებიც ანელებს ჩასმის ოპერაციებს. აკონტროლეთ აბონენტის რესურსების გამოყენება და შეკითხვის შესრულება, როდესაც გაშვებულია განაწილების აგენტი. კომპონენტებს შორის ქსელის გამტარუნარიანობის შეზღუდვები ასევე იწვევს შეფერხებებს, განსაკუთრებით დიდი მოცულობის მონაცემების შემთხვევაში.
5.3 რეპლიკაციის აგენტების მართვა
5.3.1 Start და Stop აგენტები
სtart ან რეპლიკაციის აგენტის შეჩერება:
- In SQL Server მენეჯმენტის სტუდია, გაფართოება SQL Server აგენტი -> დასაქმება, სამუშაო.
- იპოვეთ რეპლიკაციის აგენტის დავალება (სახელები, როგორც წესი, მოიცავს პუბლიკაციისა და აბონენტის ინფორმაციას).
- დააწკაპუნეთ მაუსის მარჯვენა ღილაკით დავალებაზე და აირჩიეთ Starტ იობი or სამუშაოს შეჩერება.
5.3.2 აგენტის პროფილების კონფიგურაცია
აგენტის პროფილები შეიცავს პარამეტრების ნაკრებებს, რომლებიც აკონტროლებენ აგენტის ქცევას. SQL Server გთავაზობთ ნაგულისხმევ პროფილებს, რომლებიც ოპტიმიზირებულია გავრცელებული სცენარებისთვის და შეგიძლიათ შექმნათ მორგებული პროფილები კონკრეტული საჭიროებებისთვის.
აგენტის პროფილების შესაცვლელად:
- ობიექტის მკვლევარში, გაშალეთ რეპლიკაცია.
- მარჯვენა ღილაკის რეპლიკაცია და აირჩიეთ დისტრიბუტორის თვისებები.
- დააჭირეთ პროფილის ნაგულისხმევი პარამეტრები ღილაკს.
- ჩამოსაშლელი სიიდან აირჩიეთ აგენტის ტიპი (Snapshot, ჟურნალის წამკითხველი, განაწილება ან შერწყმა).
- აირჩიეთ პროფილი და დააწკაპუნეთ განცხადებები პარამეტრის მნიშვნელობების სანახავად.
- დაწკაპეთ ახალი პროფილი არსებული პროფილის საფუძველზე საკუთარი პროფილის შესაქმნელად.
- საჭიროების შემთხვევაში, შეცვალეთ პარამეტრები და დააჭირეთ ღილაკს OK.
აგენტზე პროფილის გამოსაყენებლად, შეცვალეთ გამოწერის თვისებები და აირჩიეთ სასურველი პროფილი აგენტის პროფილის ჩამოსაშლელი სიიდან.
5.3.3 აგენტის პარამეტრები და პარამეტრები
აგენტის პარამეტრები არეგულირებს მუშაობას და ქცევას. დისტრიბუციის აგენტის ძირითადი პარამეტრებია CommitBatchSize (თითოეულ კომიტზე გამოყენებული ტრანზაქციების რაოდენობა), CommitBatchThreshold (კომიტამდე ბრძანებების რაოდენობა), SubscriptionStreams (პარალელური კავშირები უფრო სწრაფი მიწოდებისთვის) და QueryTimeout (ბრძანებების ვადის ამოწურვა).
ჟურნალის წამკითხველი აგენტისთვის მნიშვნელოვან პარამეტრებს შორისაა ReadBatchSize (ტრანზაქციების წაკითხვა სკანირების დროს), ReadBatchThreshold (ბრძანებები მიწოდებამდე) და PollingInterval (ჟურნალის სკანირებას შორის დაყოვნება). შეცვალეთ ეს პარამეტრები ტრანზაქციების მოცულობისა და შეყოვნების მოთხოვნების მიხედვით.
5.4 სარეზერვო ასლის შექმნისა და აღდგენის საკითხები
რეპლიკაციაში ჩართული მონაცემთა ბაზების სარეზერვო ასლის შექმნა განსაკუთრებულ ყურადღებას მოითხოვს. გამომცემლის მონაცემთა ბაზისთვის აუცილებელია რეგულარული სრული და ტრანზაქციების ჟურნალის სარეზერვო ასლების შექმნა. ტრანზაქციული რეპლიკაციის დროს მონაცემთა ბაზების სარეზერვო ასლის შექმნისას, მონიშნეთ მონაცემთა ბაზის სარეზერვო ასლი რეპლიკაციის მხარდაჭერისთვის WITH REPLICATION ოფციის გამოყენებით. რეპლიკაციის კონფიგურაციის დასაცავად რეგულარულად შექმენით დისტრიბუციის მონაცემთა ბაზის სარეზერვო ასლი.
გამომცემლის მონაცემთა ბაზის იმავე სერვერზე იმავე სახელით აღდგენისას, რეპლიკაციის მდგომარეობის შესანარჩუნებლად გამოიყენეთ WITH KEEP_REPLICATION ოფცია. ეს ოფცია უზრუნველყოფს, რომ ჟურნალის წამკითხველი აგენტის მიერ ჯერ არ დამუშავებული ტრანზაქციები რეპლიკაციისთვის მონიშნული დარჩეს, რაც რეპლიკაციის ავტომატურად გაგრძელების საშუალებას იძლევა გამოწერების ხელახალი ინიციალიზაციის გარეშე.
კატასტროფის შემდეგ აღდგენის სცენარებში, სადაც სარეზერვო ასლები მიუწვდომელია, დაზიანებულია ან მონაცემთა ბაზის ფაილები დაზიანებულია, შეიძლება საჭირო გახდეს სპეციალიზებული აღდგენის ინსტრუმენტები. DataNumen SQL Recovery შეუძლია მონაცემების ამოღება დაზიანებული ან მიუწვდომელი MDF და NDF ფაილებიდან, რაც უკიდურესი გამოსავალია სტანდარტული აღდგენის პროცედურების წარუმატებლობის შემთხვევაში.
დამატებითი ინფორმაციისთვის SQL Server სარეზერვო ასლი, იხილეთ ჩვენი ყოვლისმომცველი სახელმძღვანელო.
6. ხშირად დასმული კითხვები (FAQ)
კითხვა: რა განსხვავებაა სნეპშოთსა და ტრანზაქციულ რეპლიკაციას შორის?
A: სნეპშოტის რეპლიკაცია იღებს მონაცემების სრულ ასლს კონკრეტულ მომენტში და იყენებს მას აბონენტზე, რაც შესაფერისია იშვიათად ცვალებადი მონაცემების შემთხვევაში. ტრანზაქციული რეპლიკაციაtarts საწყისი სნეპშოთით და შემდეგ განუწყვეტლივ ახდენს ინდივიდუალური ტრანზაქციების კოპირებას მათი განხორციელებისთანავე, რაც უზრუნველყოფს თითქმის რეალურ დროში სინქრონიზაციას ხშირად ცვალებადი მონაცემებისთვის.
კითხვა: შემიძლია თუ არა სხვადასხვას შორის რეპლიკაციის გაკეთება? SQL Server ვერსიები?
დიახ, SQL Server რეპლიკაცია მხარს უჭერს ვერსიის თავსებადობას შეზღუდული დიაპაზონის ფარგლებში. დისტრიბუტორის ვერსია უნდა იყოს გამომცემლის ვერსიის ტოლი ან უფრო მაღალი, ხოლო გამომწერი შეიძლება იყოს გამომცემლის ორი ვერსიის ფარგლებში. მაგალითად, თუ გამომცემელი არის SQL Server 2016 წელს, აბონენტი შეიძლება იყოს SQL Server 2012, 2014, 2016, 2017 ან 2019 წლებში.
კითხვა: როგორ გავუმკლავდე კონფლიქტებს შერწყმის რეპლიკაციის დროს?
A: შერწყმის რეპლიკაცია უზრუნველყოფს ჩაშენებულ კონფლიქტების აღმოჩენისა და გადაწყვეტის მექანიზმებს. თქვენ შეგიძლიათ კონფლიქტების გადამჭრელების კონფიგურაცია სტატიის დონეზე, ჩაშენებული გადამჭრელების არჩევით ან მორგებული კონფლიქტების გადამჭრელების დანერგვით. კონფლიქტები, როგორც წესი, წყდება პრიორიტეტებზე დაფუძნებული ან დროის ნიშნულებზე დაფუძნებული მეთოდების გამოყენებით, ხელით განხილვისთვის კონფლიქტების ჟურნალირების ოფციით.
კითხვა: რა გავლენას ახდენს რეპლიკაცია შესრულებაზე?
A: რეპლიკაცია რამდენიმე გზით მოქმედებს მუშაობაზე: გამომცემელი განიცდის ზედმეტ ხარჯებს ცვლილებების თვალყურის დევნებისა და სნეპშოტების გენერირებისგან, დისტრიბუტორი იყენებს რესურსებს ტრანზაქციების შესანახად და გადასაგზავნად, ხოლო ქსელის გამტარუნარიანობა მოიხმარება მონაცემთა გადაცემის დროს. ზემოქმედება განსხვავდება რეპლიკაციის ტიპის მიხედვით, სნეპშოტების რეპლიკაცია იწვევს პერიოდულ მაღალი ზემოქმედების მქონე აფეთქებებს, ხოლო ტრანზაქციული რეპლიკაცია ინარჩუნებს უფრო თანმიმდევრულ, მაგრამ უწყვეტ დატვირთვას.
კითხვა: როგორ დავიცვა ჩემი რეპლიკაციის ტოპოლოგია?
A: დაიცავით თქვენი რეპლიკაციის ტოპოლოგია რამდენიმე საუკეთესო პრაქტიკის დანერგვით: გამოიყენეთ Windows-ის ავთენტიფიკაცია ან ძლიერი SQL Server ავთენტიფიკაცია, კავშირების დაშიფვრა TLS-ის გამოყენებით, სნეპშოტის საქაღალდის დაცვა შესაბამისი საშუალებით NTFS ნებართვების მისაღებად, წვდომის კონტროლისთვის პუბლიკაციებზე წვდომის სიის (PAL) კონფიგურაციისთვის, თითოეული რეპლიკაციის აგენტისთვის მინიმალური საჭირო ნებართვებით ცალკეული სერვისის ანგარიშების გამოყენებით და რეპლიკაციის უსაფრთხოების პარამეტრების რეგულარული აუდიტისთვის.
კითხვა: შემიძლია თუ არა Azure SQL მონაცემთა ბაზაში რეპლიკაციის გაკეთება?
A: დიახ, შეგიძლიათ Azure SQL მონაცემთა ბაზაში რეპლიკაცია ტრანზაქციული რეპლიკაციის გამოყენებით ადგილობრივი რესურსით. SQL Server ან Azure SQL Managed Instance, როგორც გამომცემელი და დისტრიბუტორი. Azure SQL Database-ს შეუძლია იმოქმედოს როგორც აბონენტი, მაგრამ არა როგორც გამომცემელი ან დისტრიბუტორი. შერწყმის რეპლიკაცია და peer-to-peer რეპლიკაცია არ არის მხარდაჭერილი Azure SQL Database-თან.
კითხვა: როგორ ვაკონტროლო რეპლიკაციის შეფერხება?
A: რეპლიკაციის შეფერხების მონიტორინგი რეპლიკაციის მონიტორის გამოყენებით SQL Server Management Studio, რომელიც აჩვენებს თითოეული გამოწერის შეყოვნების მეტრიკას. ასევე შეგიძლიათ მოითხოვოთ განაწილების მონაცემთა ბაზის ცხრილები, როგორიცაა MSdistribution_history და MSrepl_commands, გამოიყენოთ რეპლიკაციის აგენტებისთვის სპეციფიკური შესრულების მრიცხველები ან დააყენოთ შეტყობინებები შეყოვნების ზღურბლებზე დაყრდნობით, სინქრონიზაციის შეფერხებების პროაქტიულად აღმოსაჩენად და მოსაგვარებლად.
კითხვა: რა ხდება, როდესაც აბონენტი ოფლაინშია?
A: როდესაც აბონენტი ოფლაინშია, ქცევა დამოკიდებულია რეპლიკაციის ტიპზე. ტრანზაქციული რეპლიკაციის შემთხვევაში, ტრანზაქციები გროვდება განაწილების მონაცემთა ბაზაში მანამ, სანამ აბონენტი ისევ ონლაინ რეჟიმში არ დაბრუნდება, შემდეგ სინქრონიზაცია განახლდება. შერწყმის რეპლიკაციის შემთხვევაში, ცვლილებები თვალყურს ადევნებენ ორივე მხარეს და ერთიანდებიან კავშირის აღდგენის შემდეგ. შენახვის პერიოდის პარამეტრი განსაზღვრავს, თუ რამდენ ხანს ინახება მონაცემები მის ხელახლა ინიციალიზაციამდე.
კითხვა: როგორ დავამატო ახალი სტატიები არსებულ პუბლიკაციას?
A: არსებულ პუბლიკაციაში ახალი სტატიების დასამატებლად გამოიყენეთ SQL Server Management Studio-ს გამოყენებით შეგიძლიათ შეცვალოთ პუბლიკაციის თვისებები და აირჩიოთ დამატებითი ობიექტები, ან გამოიყენოთ sp_addarticle შენახული პროცედურა. სტატიების დამატების შემდეგ, შექმენით ახალი სნეპშოთი და ხელახლა ინიციალიზაცია გაუკეთეთ ყველა გამოწერას, რათა უზრუნველყოთ, რომ გამომწერებმა მიიღონ ახალი სტატიები. ზოგიერთი ცვლილება შეიძლება მოითხოვდეს გამოწერის ხელახლა ინიციალიზაციას პუბლიკაციის პარამეტრებიდან გამომდინარე.
კითხვა: როგორ წავშალო რეპლიკაცია მონაცემთა ბაზიდან?
A: მონაცემთა ბაზიდან რეპლიკაციის წასაშლელად, ჯერ ყველა გამოწერის წაშლით sp_dropsubscription-ის გამოყენებით, შემდეგ პუბლიკაციის sp_droppublication-ის გამოყენებით გაუქმებით და ბოლოს მონაცემთა ბაზაში გამოქვეყნების გამორთვით sp_replicationdboption-ის გამოყენებით. თუ სერვერი დისტრიბუტორია, გამორთეთ დისტრიბუცია sp_dropdistributor-ის გამოყენებით. რეპლიკაციის კონფიგურაციის წაშლამდე ყოველთვის შექმენით მონაცემთა ბაზების სარეზერვო ასლი.
კითხვა: რა განსხვავებაა მათ შორის SQL Server რეპლიკაციისა და AlwaysOn ხელმისაწვდომობის ჯგუფები?
A: რეპლიკაცია არის მონაცემთა განაწილებისა და ინტეგრაციის გადაწყვეტა, რომელიც მოქმედებს ობიექტის დონეზე, ხოლო ყოველთვის ხელმისაწვდომი ჯგუფები არის მაღალი ხელმისაწვდომობისა და კატასტროფის შემდეგ აღდგენის გადაწყვეტა, რომელიც მუშაობს მონაცემთა ბაზის დონეზე.
7. დასკვნა
SQL Server რეპლიკაცია უზრუნველყოფს მყარ ჩარჩოს მონაცემების მრავალ მონაცემთა ბაზასა და ადგილას გავრცელებისა და სინქრონიზაციისთვის. ტექნოლოგია მხარს უჭერს სხვადასხვა სცენარებს სხვადასხვა ტიპის რეპლიკაციის მეშვეობით.
სწორი რეპლიკაციის სტრატეგიის შერჩევა თქვენს კონკრეტულ მოთხოვნებზეა დამოკიდებული. გაითვალისწინეთ მონაცემთა ცვლილების სიხშირე, შეყოვნების მოთხოვნები, აბონენტებს სჭირდებათ თუ არა განახლებები, ქსელის მახასიათებლები და აბონენტის ავტონომიის საჭიროებები. სნეპშოტ რეპლიკაცია საუკეთესოდ მუშაობს იშვიათად ცვალებადი საცნობარო მონაცემებისთვის, სადაც შეყოვნება კრიტიკული არ არის. ტრანზაქციული რეპლიკაცია შესაფერისია მაღალი მოცულობის სცენარებისთვის, რომლებიც მოითხოვს დაბალ შეყოვნებას და ძირითადად ცალმხრივ მონაცემთა ნაკადს.
შერწყმის რეპლიკაცია აირჩიეთ, როდესაც აბონენტებს სჭირდებათ ავტონომიური ოპერაცია ოფლაინ შესაძლებლობებით და ორმხრივი სინქრონიზაციით. დანერგეთ peer-to-peer რეპლიკაცია დატვირთვის დაბალანსებისთვის მრავალ აქტიურ კვანძზე წაკითხვის ოპერაციებისთვის თითქმის რეალურ დროში თანმიმდევრულობით. განიხილეთ ჰიბრიდული მიდგომები, რომლებიც აერთიანებს რეპლიკაციის მრავალ ტიპს მრავალფეროვანი მოთხოვნების მქონე რთული სცენარებისთვის.
ლიტერატურა
- Microsoft-ის ოფიციალური დოკუმენტი: SQL Server რეპლიკაცია
- Microsoft-ის ოფიციალური დოკუმენტი: რეპლიკაციის ტიპები
- Microsoft-ის ოფიციალური დოკუმენტი: Peer-to-Peer - ტრანზაქციული რეპლიკაცია
ავტორის შესახებ
იუან შენგი არის მონაცემთა ბაზის უფროსი ადმინისტრატორი (DBA) 10 წელზე მეტი გამოცდილებით SQL Server გარემოსა და საწარმოს მონაცემთა ბაზის მართვაში. მან წარმატებით გადაჭრა მონაცემთა ბაზის აღდგენის ასობით სცენარი ფინანსურ სერვისებში, ჯანდაცვისა და წარმოების ორგანიზაციებში.
იუანი სპეციალიზირებულია SQL Server მონაცემთა ბაზის აღდგენა, მაღალი ხელმისაწვდომობის გადაწყვეტილებები და მუშაობის ოპტიმიზაცია. მისი ფართო პრაქტიკული გამოცდილება მოიცავს მრავალტერაბაიტიანი მონაცემთა ბაზების მართვას, Always On Availability Groups-ის დანერგვას და კრიტიკულად მნიშვნელოვანი ბიზნეს სისტემებისთვის ავტომატური სარეზერვო ასლისა და აღდგენის სტრატეგიების შემუშავებას.
თავისი ტექნიკური ექსპერტიზისა და პრაქტიკული მიდგომის წყალობით, იუანი ფოკუსირებულია ყოვლისმომცველი სახელმძღვანელოების შექმნაზე, რომლებიც მონაცემთა ბაზის ადმინისტრატორებსა და IT სპეციალისტებს დაეხმარება რთული საკითხების გადაჭრაში. SQL Server ეფექტურად უწევს გამოწვევებს. ის მუდმივად ადევნებს თვალყურს უახლეს ამბებს SQL Server რელიზები და Microsoft-ის განვითარებადი მონაცემთა ბაზის ტექნოლოგიები, რეგულარულად ამოწმებს აღდგენის სცენარებს იმის უზრუნველსაყოფად, რომ მისი რეკომენდაციები ასახავდეს რეალურ სამყაროს საუკეთესო პრაქტიკას.
გაქვთ შეკითხვები SQL Server აღდგენა ან გჭირდებათ დამატებითი რჩევები მონაცემთა ბაზის პრობლემების მოგვარებაში? იუანი სიამოვნებით მოგმართავთ. გამოხმაურება და წინადადებები ამ ტექნიკური რესურსების გასაუმჯობესებლად.














