Saytlararası VPN üzərində push və pull replikasiya agentləri
Abunəliyin agentinin yerləşdiyi yer hansı maşının VPN üzərindən bağlantı açacağını müəyyən edir. Push və ya pull seçimini diaqram oxlarına görə deyil, işin sahibinə görə edin.
Agentin yerləşdiyi yer, məlumatın yerləşdiyi yer deyil, SQL Server abunəliyini formalaşdıran qərardır. Agentı işlədən maşın bağlantını açır, müəyyən hesab altında işləyir və sinxronizasiya dayandıqda məsuliyyəti öz üzərinə götürür. Saytlararası VPN-də bu fərq detall deyil, dizaynın özüdür. Şəbəkəni çəkməzdən əvvəl agent bağlantılarını çəkin.
Üç rol, iki deyil
Publisher məqalə məlumatlarına, Distributor paylama bazasına sahibdir, Subscriber isə dəyişiklikləri qəbul edir. Log Reader Agent tranzaksiya replikasiyası üçün Distributor-da işləyir. Distribution Agent abunəlik növü ilə yeri dəyişən agentdir və buna görə şəbəkə dizaynını müəyyən edir. VPN qaydalarından danışmazdan əvvəl bu rolları dəqiqləşdirin.
Push abunəliyi Distribution Agent-ı Distributor-da, pull abunəliyi isə onu Subscriber-də işlədir, Microsoft-un abunəlik sənədləri dediyi kimi. Şəbəkə söhbəti ilə bağlı hər şey hansı maşının bu olduğundan irəli gəlir. Hər abunəlik üçün dörd faktı yazın: agentin hostu, proses kimliyi, istifadə etdiyi verilənlər bazası girişləri və çatmalı olduğu resurslar. Diaqram oxu deyil, bu faktlar hansı istiqamətin işləməli olduğunu deyir.
Push agentin Distributor-da yaşaması deməkdir
Push abunəliyində Distributor VPN üzərindən Subscriber-ə bağlantı açır. Abunəçi tərəfindəki dinləyici, firewall və SQL girişi uzaq tərəfdən gələn bağlantıları qəbul etməlidir. Distributor-un xidmət hesabına həmçinin abunəçi bazasında icazə lazımdır. Abunəliyi yaratmazdan əvvəl bu giriş yolunu planlaşdırın, çünki sonradan aşkar etmək adətən onu yenidən yaratmaq deməkdir.
Anlıq görüntünün çatdırılması sabit replikasiyanın heç vaxt istifadə etmədiyi bir yol əlavə edir. Əgər anlıq görüntü fayl paylaşımında yerləşdirilibsə, Distribution Agent həmin paylaşımdan oxuyur və abunəçinin hesabı eyni UNC yoluna çatmalıdır. Həftələrlə axan dəyişiklik axını yenidən başlatmanın işləyib-işləməyəcəyi barədə heç nə demir. Buna görə anlıq görüntü paylaşımı əvvəldən plana daxil edilməlidir.
Push-u birtərəfli trafik kimi oxumayın. Agent cavablara, təsdiqlərə və öz autentifikasiya mübadilələrinə ehtiyac duyur. Məlumat bir istiqamətdə hərəkət etsə belə, yol bağlantı səviyyəsində ikitərəfli olmalıdır.
Pull agentin Subscriber-də yaşaması deməkdir
Pull abunəliyi bağlantını tərsinə çevirir: Subscriber Distribution Agent-ı işlədir və Distributor-a müraciət edir. Bu quruluş filialdan gedən bağlantılara icazə verən və daxil olanları bloklayan VPN siyasətinə uyğundur. O, həmçinin cədvəl qərarını filial serverinə baxan şəxsin əlinə verir. Filial komandası öz sinxronizasiyasına sahib olmalı və öz uğursuzluqlarını görməlidirsə, bunu seçin.
Abunəçinin SQL Server Agent xidmət hesabına paylama bazasına və anlıq görüntü paylaşımına oxumaq icazəsi lazımdır. Bu hesab replikasiya xətalarında görünən kimlikdir və domen hüququ olmayan yerli xidmət hesabı şəbəkə nasazlığı kimi görünən, əslində isə etimadnamə nasazlığı olan nöqtədə uğursuz olur. Tuneli sazlamaqdan əvvəl hesabı yoxlayın. Girişi düzəltmək adətən şəbəkənin günahsızlığını sübut etməkdən daha sürətlidir.
Sahiblik agenti izləyir. Cədvəlin və uğursuzluqların hər ikisinə mərkəzi komanda sahib olmalıdırsa, push seçin. Hansını seçsəniz də, abunəliyin yanına yazın ki, növbəti mühəndis ilk hara baxacağını bilsin.
Yenidən nəşr fan-out-u dəyişir, sahibliyi yox
Abunəçi daha sonrakı abunəçilərə yenidən nəşr etmək üçün konfiqurasiya edilə bilər ki, bu da bir filial bazasının hər biri WAN üzərindən dartmadan bir neçə yerli istehlakçıya xidmət etməsinə imkan verir. Orta baza artıq bir nəşrə və öz agentlərinə sahibdir. O, həmçinin əvvəllər olmayan icazələri, monitorinqi və bərpa planını miras alır. Bu əlavə rol təkrar WAN çatdırılmasının aradan qaldırılmasının qiymətidir.
Sənədləşdirilmiş sıra vacibdir: aşağı axın nəşrini yaratmazdan əvvəl daxil olan abunəliyi işə salın. Buna keçiləcək sənədləşmə kimi deyil, yoxlamalı həyat dövrü addımı kimi yanaşın. Bunu tərsinə çevirmək konfiqurasiya edilmiş görünən, amma heç nə çatdırmayan zəncir yaradır.
Yazma modelini açıq şəkildə göstərin. Yalnız oxunan məlumat dəstini yerli istehlakçıya replikasiya etmək bir neçə saytda yazmaları qəbul etməkdən fərqli dizayndır və oxlar zənciri konflikt həlli yaratmır. Filial yazmalıdırsa, bu, öz topologiyası olan ayrı bir qərardır. Asılılığı da görünən edin: yenidən nəşr edən işləmədikdə, onun altındakı hər istehlakçı köhnəlmiş olur.
Yerləşdirməni başdan sona sübut edin
Abunəlik növünü yaddaşa güvənmək əvəzinə paylama bazasından oxuyun, sonra dəyişikliklərin həqiqətən gəldiyini yoxlayın:
USE distribution;
SELECT publication, subscriber_db, subscription_type
FROM dbo.MSsubscriptions;
EXEC sp_replmonitorsubscriptionpendingcmds
@publisher = 'PUB1', @publisher_db = 'Sales',
@publication = 'SalesPub', @subscriber = 'BR1',
@subscriber_db = 'Sales';
subscription_type dəyəri 0 olduqda push, 1 olduqda pull olur və onu yerində dəyişmək mümkün deyil, buna görə uyğunsuzluq abunəliyin redaktə edilməsi deyil, yenidən yaradılması deməkdir. Gözləyən əmrlər çağırışı seçilmiş agentin işi hərəkət etdirdiyini, yoxsa sadəcə işlədiyini bildirir. Abunəçi cədvəli boş qalarkən sıfır gözləyən əmr bildirən abunəlik, artan növbə bildirən abunəlikdən fərqli nasazlıqdır və ikisi fərqli sahiblərə aparır.
Real dəyişikliklə bitirin: Publisher-də bir sətir daxil edin və ya yeniləyin, agentin hesabat verməsini gözləyin və həmin sətri Subscriber-də oxuyun. Agentin necə bərpa olunduğunu görmək üçün qısa VPN fasiləsi zamanı bunu bir dəfə də təkrarlayın. Bu testdən sağ çıxan abunəliyin sənədləşdirə və müdafiə edə biləcəyiniz yerləşdirməsi var.