Hej! Håller på att pula med två databaser lokalt och en på ett webbhotell. Med jämna mellanrum är det så att jag behöver uppdatera datan på servern med den information från de lokala. Det är två användare med bärbara datorer. På kontoret jobbar de mot servern. Innan de sticker ut på uppdrag bör de ha den färska datan från servern. På sina säljuppdrag lägger de in info i den lokala. När de kommer in på kontoret skall de kunna synka databaserna Är det någon som har en principiell idé om hur man bör göra (detaljerna kan jag nog lura ut).
Synka databaser -komplext?
3 svar · 223 visningar · startad av clarkbones
Komplext? Ja det kan det vara.
Beror på hur informationen ser ut. Jobbar man mot samma poster? Har man samma sekvensnummer för primära nycklar? Är det stora datamängder? osv. osv.
Jobbar man mot samma poster:
Risk att man skriver över varandras information.
Har man samma sekvensnummer för primära nycklar:
Lägger man upp nya poster lokalt riskerar dom att krocka med andra nyupplagda poster när dom synkroniseras mot servern.
Är det stora datamängder:
Vid stora datamängder blir man tvungen att klara av att enbart föra över förändringar.
Ingen enkel uppgift med andra ord.
Är det någon som har en principiell idé om hur man bör göra
Har det uppfattningen att vill man få detta att fungera bra måste det byggas med i arkitekturen redan från början.
Alla förändringar i databasen loggas, viktigt att transaktionerna syns i loggen. Installationernas sekvensnummer får inte krocka (gäller för nya poster). Ett sätt kan vara att låta lokala installationerna använder negativa sekvensnummer. När posterna synkroniseras med servern byts det ut mot ”riktiga” nummer. Inte helt lätt men blir bra när det fungerar.
Tyvärr har jag ingen enkel lösning att komma med.
PS. En del databaser har inbyggda stöd för synkronisering.
Tack för svaret. Har SQl Server inbyggt stöd för synkning?
jajemen! självklart har det det! :)
------------------
<A HREF="http://cartman.nu" TARGET=_blank>
if i'm not back in five minutes, just wait longer.</A>