Suggestions for syncing pos terminal databases? We currently use MS SQL Linked servers to perform pull syncing. This works to some extent but is difficult to detect non available linked servers and we have a requirement where a POS terminal can be moved around, plugged in and just work. This hints to me that all terminals should be identical 开发者_运维知识库and there be no concept of master. Are distributed databases worth a consideration?
If the remote DBs (POS terminal database) can be moved around or disconnected and reconnected then I think you may want to consider a push to the master DB.
As I know nothing of POS terminal database I cannot speak for it, but it seems as if you have the ability to communicate via linked servers to SQL Server.
You could do something like this
POS DB -> SQL Server Express DB -> SQL Sever Master DB
Now the connection between the SQL Server Express DB and SQL Server Master DB could use SQL Server replication to replicate data between the two. You would need to read up on SQL Server replication and understand how the publishers/subscribers work but I think it would be possible.
Here is a reference to SQL Server Replication
http://msdn.microsoft.com/en-us/library/ms151198.aspx
Have you considered SSIS or SSSB?
- With SSIS, you can basically create packages that are scheduled to run at whatever interval you want and push the relevant data to the main server (push, not pull)
- With SSSB, you can trickle changes over to main server asynchronously using queues and remote endpoints.
You can also try streaming transaction logs, or just plain FTPing tran logs over to the main box on a schedule using either SSIS and SQL agent or something similar (Windows Task Scheduler), restoring them to a POS-specific DB and then merging with the main DB.
Either of the three is relatively tolerant of network interruption (SSSB requires some code to handle it, but it can be done).
精彩评论