Windows - Adatbázis replikáció az SQL 2000 Server-el

SQL 2000 Replikáció 5. rész

Elérkezett az SQL 2000 Server replikációról szóló cikksorozatunk utolsó része. Ebben megnézzük, hogy lehet a Publisher gépeken engedélyezni a Subscriber csatlakozását. Miként lehet hozzákapcsolódni a többszörözendő adatbázisokhoz. Végül felhívjuk a figyelmet a legáltalánosabb hibákra és adunk néhány jó tanácsot arra az esetre, ha valamilyen oknál fogva nem indulna be a replikáció.
Kiszolgálók engedélyezése az adatok átvételére
Dupla biztonsággal találkozunk a replikációs adatok átvétele során. Nem elég, ha a Publisher gépen többszörözésre közzé tesszük az adatokat és azokat jelszóval védjük. Ettől még a Subscriber nem képes átvenni őket a jelszó birtokában sem. A Publisheren meg kell határoznunk, hogy melyik Subscriber számára engedélyezzük a replikálandó adatok átvételét. Indítsuk el az Enterprise Manager-t a Publisher gépen és a Replication > Publications tárolójában kattintsunk egy üres helyre a jobboldali egérgombbal, majd lépjünk a "Configure Publishing, Subscribers, and Distribution" pontra. Megjelenik egy tulajdonság ablak, ahol a menjünk a "Subscribers" oldalra. Itt vannak felsorolva a replikációs adatok átvételére engedélyezett gépek. A "New" gombbal lehet újabbakat felvenni a listába. Először meg kell adni, hogy milyen típusú adatbázis kezeléssel dolgoznak. Legnagyobb hatékonyság eléréséhez az "SQL Server database" lehetőséget válasszuk, persze csak akkor, ha valóban SQL előfizetőket használunk. Kijelölés után az "OK" gombbal zárjuk be az ablakot, ekkor megjelenik egy következő, ahol megadhatjuk a gép nevet és a bejelentkezési adatokat. Az engedélyezettek listájának kibővítése után ellenőrizzük, hogy a gépnevek előtti jelölőnégyzetek be vannak-e kapcsolva, ha nem, akkor továbbra sem többszörözhetnek adatokat.
Subscriber gépek beállítása
Az SQL replikáció beindításához már csak a Subscription (=Előfizető) gépek beállítása hiányzik. Ezek a gépek veszik át a Publisher által közzétett adatokat. Indítsuk el az Enterprise Manager-t és lépjünk a Replication > Subscriptions tárolóba. Az ablak jobb felén kattintsunk egy üres helyre a jobboldali egérgombbal és a megjelenő menüben válasszuk a "New Pull Subscription" pontot. Itt is, mint a replikáció beállítása során eddig mindig, egy varázslón keresztül tudjuk elvégezni a szükséges lépéseket. Nézzünk egy példát a Snapshot típusú előfizetés megvalósítására:
A második oldalon választhatunk, hogy a regisztrált szerverek vagy az Active Directory publikációit vesszük át többszörözésre. Mivel az eddigiekben függetlenítettük magunkat az Active Directory-tól, aktivizáljuk a "Look at publications from registered servers" rádiógombot és lépjünk tovább.
A "Choose Publication" oldalon megjelenik egy lista a regisztrált szerverekről. Kapcsolatot csak a lista tagjaival tudunk teremteni. Kezdetben egyetlen gépet látunk, azt, amelyiken éppen dolgozunk. A "Register Server" gombra kattintva lehet újakat felvenni. Figyelem! Járjunk el nagyon körültekintően mindenhol, ahol felhasználói nevet és jelszót kell megadni, fontos, hogy a replikáció minden tagja ugyanazokat használja. Faszerkezetben jelennek meg a Publisher-ek által közzétett adatbázisok. Kattintsunk a többszörözendőre, majd lépjünk tovább.
Ezután meg kell adnunk a Publisher gép közzétételének eléréséhez szükséges felhasználói nevet és jelszót. Az ide beírt adatokat fogja az SQL szerver használni a replikáció adat szinkronizálásai során.
Lényeges beállítás következik. Meg kell adnunk, hogy a Publisher-től átvett adatok a Subscriber melyik adatbázisába kerüljenek. A "New" gombra kattintva létrehozhatunk egy újat, ekkor nem kell felülírni a meglévőket. Az adatbázis szerkezetével nem kell foglalkoznunk, mert úgyis az eredetivel fog megegyezni. Ezt a következő oldalon található "Yes, initialize the schema and data" rádiógombbal meg is erősíthetjük.
A "Snapshot Delivery" beállításoknál maradjunk az alapértelmezett mappa mellett, csak ritkán van szükség változtatásra.
Ezt követően az adatbázisok közötti szinkronizáció gyakoriságát kell eldönteni. Lehet "Continuously" (=folyamatos), megadott időzítés szerinti, illetve "On demand only" (=csak kérésre). Korábban már írtunk a replikációs időszakok kiválasztásáról és a különböző típusok eltérő igényeiről. Az ott elhangzottak szerint és a helyi körülmények figyelembe vételével alakítsuk ki a megfelelő időpontokat.
A többszörözéshez szükségünk lesz az SQLServerAgent szolgáltatásra. Ezt lehet aktivizálni a "Start Required Services" oldalon. Alapértelmezésben már fut, nincs vele teendőnk.
Ezzel elméletileg végeztünk is a Subscriber gép beállításával. A Replications > Subscriptions tárolóban megjelenik az új előfizetés és automatikusan megindul a szinkronizáció. Ránézésre is megmondható, ha valamilyen hiba történt vagy nem lehet többszörözni, mert a név előtti ikon minden esetben jelzi az aktuális állapotot - ilyen a fehér körben piros négyzet. Kattintsunk az előfizetésre a jobboldali egérgombbal és a megjelenő menüben lépjünk a "Job History" sorra. Itt láthatjuk a sikeres és sikertelen műveleteket. A hibaüzeneteken kívül a kiszolgáló minden esetben megpróbál bővebb tájékoztatást is adni. Kezdetben szükség van a teljes adatbázis átvitelére, ami több órát is igénybe vehet. Amíg a "Result" oszlopban az "In Progress" feliratot látjuk tart a szinkronizálás.
Tipikus hiba egy Subscription gép beállításánál, hogy a Publisher által közzétett adatbázisokat más felhasználói névvel és jelszóval lehet elérni, mint ami a Subscriber-ben meg lett adva.
Utolsó jó tanácsok
Cikksorozatunk lépéseit követve megvalósítható az adatbázis replikáció. Ha mégsem működik, akkor az esetek többségében bejelentkezési problémákkal kell számolnunk- ezt nem győzzük elégszer hangsúlyozni. Ne feledjük, hogy az SQL szerver három hitelesítési eljárást ismer:
  • Standard Security (=Szabványos biztonság): Az SQL szerver eléréséhez felhasználói név és jelszó szükséges.
  • Integrated Security (=Integrált biztonság): Csak a Windows-ba kell bejelentkezni, az SQL szerver átveszi a nevet és jelszót.
  • Mixed Security (=Kevert biztonság): Mindkét előző megoldást használhatjuk, ha az ügyfelek az alapértelmezett named pipes protokollal kapcsolódnak.
A replikáció több szolgáltatásból tevődik össze és buktatót jelent, hogy ezek mindegyikén szükség van hitelesítési eljárásokra. Ráadásul az Enterprise Manager-en belül is szétszórva helyezkednek el. Legyünk mindig rendkívül körültekintőek és következetesek már az SQL rendszer telepítésekor is a jogosultságok kezelésében.
Az alábbiakban felsorolunk néhány helyet, amit ellenőrizni kell. Ismételten elmondjuk, hogy az adott felhasználói névnek és jelszónak érvényesnek kell lenni a replikációban részvevő összes gépen és az adatbázisok publikálásánál ugyanazt kell megadni, mint az előfizetésnél.
A Publisher gép Replication > Publications tárolójában kattintsunk a jobboldali egérgombbal a közzétételre és nyissuk meg a tulajdonság lapot, majd keressük meg a következő helyet: Status > Agent Properties > Category. Válasszuk ki a "REPL-Snapshot" elemet és az alatta lévő "Owner" legördülő menüben jelöljük ki a közzététel tulajdonosát (pl.: sa). A többi replikációval kapcsolatos elemnek (REPL-*) automatikusan át kell venni az új beállítást - ellenőrizzük. Az ablak bezárása után, ha még nem futna a Snapshot Agent, kattintsunk a "Run Agent Now" gombra.
A Subscriber gép Replication > Subscription tárolójában kattintsunk az előfizetésre a jobboldali egérgombbal és lépjünk a tulajdonság lap "Synchronization" oldalára. Nyomjuk le a "Distribution Agent Properties" gombot és a "Category" legördülő menüben az előzőekhez hasonlóan gondoskodjunk róla, hogy a replikációval kapcsolatos bejegyzésnél (REPL-*) ugyanaz legyen a tulajdonos, mint a Publisher-nél.
A "Management" tárolóban kattintsunk a jobboldali egérgombbal az "SQL Server Agent" szolgáltatásra, a "Stop" menüvel állítsuk le. Nyissuk meg a tulajdonságlapját és a "Connections" oldalon szintén ellenőrizzük a hitelesítés módját, majd szükség szerint módosítsuk. Ezt követően indítsuk el az ügynököt ("Start" menüpont). A leállításra csak akkor van szükség, ha módosítást is végzünk.

SQL 2000 replikáció cikksorozat