Ik zit met de volgende situatie: ik heb een centrale server en verschillende losstaande computers. Op deze losstaande pc's draait SQL Server 2005 en op de centrale server ook. De applicatie op deze losstaande PC moet ook kunnen draaien wanneer de database verbinding naar de centrale danwel lokale server wegvalt.
In de ideale situatie worden alle cliënten ten alle tijde voorzien van de laatste informatie van de centrale server. Bij wijzigingen op 1 client worden de wijzigingen doorgestuurd naar de centrale server. Deze server relayed de wijzingen vervolgens weer naar alle andere cliënten.
Uiteraard is hier een softwareoplossing voor de bedenken welke dit ondervangt. Echter heb ik begrepen dat dit ook te ondervangen met SQL Server merge replication. Ik heb hier zelf geen ervaring mee en heb hierbij nog een aantal vraagtekens. Ik hoop dan ook dat er mede-tweakers zijn die er wel ervaring mee hebben en deze ook willen delen
.
VRAAG 1:
- Om te repliceren is men een duurdere SQL Server licentie nodig? Is deze licentie enkel benodigd op de centrale server of ook op alle cliënten? Als ik voor iedere cliënt 25k$ neer moet leggen dan is deze hele optie niet interessant
. Het betreft natuurlijk wel two-way replicatie dus zou ikzelf vermoeden dat de duurdere licentie op zowel de centrale server als cliënten aanwezig moet zijn.
VRAAG 2:
Omdat alle cliënten onafhankelijk van elkaar data in hun lokale database schieten houden ze dus geen rekening met hun primary keys. Wat gebeurt wanneer er bij het replicatieproces twee rijen (afkomstig van twee verschillende cliënten) bij elkaar komen met dezelfde primary key? Worden beide rijen verworpen? Wordt de primary van een van de rijen veranderd (uiteraard zouden dan alle PK's en relevante FK's op de cliënt ook moeten worden hernummerd). Voeg hierbij een internetverbinding toe die niet altijd beschikbaar zal zijn en ik vraag me af in hoe verre me dit problemen op zou leveren
. Iemand ideeën of ervaringen hiermee?
In de ideale situatie worden alle cliënten ten alle tijde voorzien van de laatste informatie van de centrale server. Bij wijzigingen op 1 client worden de wijzigingen doorgestuurd naar de centrale server. Deze server relayed de wijzingen vervolgens weer naar alle andere cliënten.
Uiteraard is hier een softwareoplossing voor de bedenken welke dit ondervangt. Echter heb ik begrepen dat dit ook te ondervangen met SQL Server merge replication. Ik heb hier zelf geen ervaring mee en heb hierbij nog een aantal vraagtekens. Ik hoop dan ook dat er mede-tweakers zijn die er wel ervaring mee hebben en deze ook willen delen
VRAAG 1:
- Om te repliceren is men een duurdere SQL Server licentie nodig? Is deze licentie enkel benodigd op de centrale server of ook op alle cliënten? Als ik voor iedere cliënt 25k$ neer moet leggen dan is deze hele optie niet interessant
VRAAG 2:
Omdat alle cliënten onafhankelijk van elkaar data in hun lokale database schieten houden ze dus geen rekening met hun primary keys. Wat gebeurt wanneer er bij het replicatieproces twee rijen (afkomstig van twee verschillende cliënten) bij elkaar komen met dezelfde primary key? Worden beide rijen verworpen? Wordt de primary van een van de rijen veranderd (uiteraard zouden dan alle PK's en relevante FK's op de cliënt ook moeten worden hernummerd). Voeg hierbij een internetverbinding toe die niet altijd beschikbaar zal zijn en ik vraag me af in hoe verre me dit problemen op zou leveren