Microsoft SQL Server 2005 – replikace

sqlserver2005 – existuje i peer-to-peer (pres RPC zapouzdrene do HTTPS)

– synchronizace db (synchronizovane db jsou vsechny online)

– da se nastavit, ze nektere budou jen na read a nektere jen na write

– lepsi je vyuzit replikaci na urovni filesystemu, ale to SQL neumi (melo by to byt na SQL 2008)

– zajistuje autonomii serveru sql, prilblizuje data uzivatelum, redukuje locks na db

– role replikacnich serveru

– publisher – jeho db se zucastnuje replikace (~ sdili db)

– distributor – kopiruje sdilene db na subsriber, muze byt interni (je na stejnem srv jako publisher) nebo externi (na samostatnem serveru)

– subscriber – cil pro db

– muze byt obousmerne tzn. publisher je i subscriber a opacne

– typy replikace

– snapshot – pri zmene jedne radky v tabulce se replikuje cela tabulka (dobre je to na to, ze se da prenest cela db)

– snapshot agent – bezi na publisher srvru

– tranactional– replikuji se i male zmeny (i jen radky), vyuziva t-log

– log reader agent

– merge – oboustranna

– problem je ze pokud vznikne na obou srv stejne radky, tak dojde ke konfliktu (kvuli tomu vznika dat. typ GUID / pokud to ale nechci tak vyrobim sloupec ID serveru – aplikace pak musi resit rozeznani serveru, nebo to udelam na sql serveru pomoci triggeru)

– merge agent

– heterogeneous – replikace mezi sql serverem a jinym typem db serveru

– articles – prenasene data – co publikovat (tabulky, sloupce,…)

– publications – skupiny articles

– distributor

– subscriptions – odkud kam se ma udelat synchronizace

– replikacni agenti jsou soucasti sluzby sql serveru a pouzivaji joby

– mohu nastavit i replikaci pro napr. PDA pomoci compact edition sql

– konfiguruje se pres SSMS server

– replications – configure distribution… (timto se vytvori sys db distribution (sp_adddistributiondb))

– slozku pro snapshot (vytovri se pres bulkcopy) dat na specialni disk, protoze pri jeho vzniku nastane mnoho I/O operaci

– local publications – new publications…

– mohu pouzit filter (~ SELECT s WHERE) – vyberu jen napr. urcite radky ze sloupce

– snapshot – je tam proto, abych mohl prenest ty puvodni data, ale mohu nastavit i schedule

– nastavuji ucty pro agenty – musi mit prava read k replikovanym datum / mohu to nastavit i na ucet SQL Agenta (jako bylo nativne v SQL 2000)

– local subscriptions – new subscription …

– nastvauji push (vyssi zatizeni distributora) nebo pull (~kontinualni replikace => vyskoa latence)

– nadefinuji opet ucty

– typ synchronizace

– kontinualni

– manualni

– nemohu udelat subscriber na publikaci, ktera uz je prenasena

Written on January 1, 2010