De lokaasje fan de agint, net de lokaasje fan ’e gegevens, is de beslissing dy’t in SQL Server-abonnemint foarmet. De masine dy’t de agint draait, iepenet de ferbining, wurket ûnder in spesifyk akkount en nimt de skuld op him as de syngronisaasje stûket. Op in site-nei-site-VPN is dat ferskil it ûntwerp, net in detail. Tekenje de agintferbiningen foardat jo it netwurk tekenje.

Trije rollen, net twa

De Publisher hat de gegevens fan it artikel, de Distributor hat de distribúsjedatabase, en de Subscriber ûntfangt feroarings. De Log Reader Agent draait by de Distributor foar transaksjonele replikaasje. De Distribution Agent is dejinge waans lokaasje mei it abonnemintstype feroaret, en dêrom bepaalt er it netwurkûntwerp. Krij dy rollen rjocht foardat jo oer VPN-regels prate.

In push-abonnemint draait de Distribution Agent by de Distributor, en in pull-abonnemint draait him by de Subscriber, sa’t de abonnemintdokumintaasje fan Microsoft seit. Alles yn it netwurkpetear folget út hokker masine dat is. Skriuw fjouwer feiten op foar elk abonnemint: de host fan de agint, syn prosesidentiteit, de databankynloggen dy’t er brûkt en de boarnen dy’t er berikke moat. Dy feiten, net in pylk yn in diagram, fertelle jo hokker rjochting wurkje moat.

Push betsjut dat de agint by de Distributor wennet

By in push-abonnemint iepenet de Distributor de ferbining nei de Subscriber oer de VPN. De listener, de firewall en de SQL-ynlog oan ’e abonneeside moatte ferbiningen fan ’e fiere side akseptearje. It tsjinstakkount fan de Distributor hat ek tastimming nedich op ’e abonneedatabank. Plan dy yngeande rûte foardat jo it abonnemint meitsje, want it letter ûntdekke betsjut meastentiids it opnij meitsje.

It leverjen fan in momintopname foeget in rûte ta dy’t stabile replikaasje nea brûkt. As de momintopname op in bestânsdieling stiet, lêst de Distribution Agent fan dy dieling en moat it akkount fan de abonnee itselde UNC-paad berikke. In feroaringsstream dy’t wiken rint seit neat oer oft in werinitialisaasje wurkje sil. Dêrom heart de momintopnamedieling fan it begjin ôf yn it plan.

Lês push net as ienrjochtingferkear. De agint hat antwurden, befêstigings en syn eigen autentikaasje-útwikselings nedich. It paad moat op ferbiningsnivo twarjochtings wêze, sels as gegevens yn ien rjochting bewege.

Pull betsjut dat de agint by de Subscriber wennet

In pull-abonnemint draait de ferbining om: de Subscriber draait de Distribution Agent en berikt de Distributor. Dy regeling past by in VPN-belied dat útgeande ferbiningen fan ’e filiaal tastean en yngeande blokkearje. It leit ek de planningsbeslissing yn ’e hannen fan wa’t de filiaalserver besiket. Kies it as it filiaalteam syn eigen syngronisaasje besitte moat en syn eigen flaters fernimme moat.

It tsjinstakkount fan SQL Server Agent fan de abonnee hat lêstastimming nedich ta de distribúsjedatabase en ta de momintopnamedieling. Dat akkount is de identiteit dy’t yn replikaasjeflaters ferskynt, en in lokaal tsjinstakkount sûnder domeinrjochten falt op in punt dat op in netwurkflater liket mar eins in bewiisflater is. Kontrolearje it akkount foardat jo de tunnel debugge. De ynlog reparearje is meastentiids flugger as it netwurk ûnskuldich bewize.

Eigendom folget de agint. Kies push as it sintrale team sawol it skema as de flaters besitte moat. Hokker jo ek kieze, skriuw it njonken it abonnemint sadat de folgjende yngenieur wit wêr’t er earst sjen moat.

Werpublisearjen feroaret de fersprieding, net it eigendom

In abonnee kin konfigurearre wurde om wer te publisearjen nei fierdere abonnees, wêrtroch ien filiaaldatabase ferskate lokale konsuminten tsjinje kin sûnder dat elk oer de WAN lûkt. De middelste database hâldt no in publikaasje en syn eigen aginten. It erft ek tastimmingen, tafersjoch en in herstelplan dy’t it earder net hie. Dy ekstra rol is de priis foar it fuortheljen fan werhelle WAN-levering.

De dokumintearre folchoarder is wichtich: initialisearje it ynkommende abonnemint foardat jo de delstreamske publikaasje meitsje. Behannelje dat as in libbenssyklus-stap mei in kontrôle, net as papierwurk om oer te slaan. It omkeare leveret in keten dy’t konfigurearre liket en neat leveret.

Ferwurdigje it skriuwmodel eksplisyt. In alleen-lêzen-dataset nei in lokale konsumint replikearje is in oar ûntwerp as skriuwen op ferskate plakken akseptearje, en in keten fan pylken makket gjin konfliktoplossing. As it filiaal skriuwe moat, is dat in aparte beslissing mei syn eigen topology. Meitsje ek de ôfhinklikens sichtber: as de werpublisearder del is, is elke konsumint derûnder ferâldere.

Bewiis de pleatsing fan begjin oant ein

Lês it abonnemintstype út de distribúsjedatabase ynstee fan op it ûnthâld te fertrouwen, en kontrolearje dan oft feroarings wier oankomme:

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 fan 0 is push en 1 is pull, en it kin net op it plak feroare wurde, dus in misferhâlding betsjut it abonnemint opnij meitsje ynstee fan it bewurkje. De oprop foar wachtende kommando’s fertelt jo oft de keazen agint wurk ferpleatst of gewoan draait. In abonnemint dat nul wachtende kommando’s rapportearret wylst de abonneetabel leech bliuwt, is in oare flater as ien dy’t in groeiende efterstân rapportearret, en de twa liede ta ferskillende eigners.

Einigje mei in echte feroaring: foegje ien rige ta by de Publisher of aktualisearje dy, wachtsje oant de agint rapportearret en lês dy rige by de Subscriber. Doch dat noch ien kear by in koarte VPN-ûnderbrekking om te sjen hoe’t de agint him herstelt. In abonnemint dat dy test oerlibbet, hat in pleatsing dy’t jo dokumintearje en ferdigenje kinne.

Relatearre artikelen