0

I am an "accidental DBA" managing data for an engineering company. Each of our sites has a local store of the latest 3 months (rolling) of site data in a SQL Server 2000 database.

These databases (circa 150 of) are managed by the plant manufacturer and we only have read only SELECT access to the data. It is not possible to gain administrative access or make any changes to the tables, schema, configuration options, etc to these remote databases.

In addition to this, we keep an exact copy (same tables, schema, etc) of all data on a SQL Server 2012 (Standard edition) database in our office. This stores all historical data from each site, not just the 3 months stored remotely. At present, the remote data is retrieved and the office database updated using a custom third-party tool. However, this is provided as an exe and it is not possible to view the source code.

As configuration options on the third-party transfer tool are limited, I have been asked to find a way of replacing it. Obviously, I could write my own custom application, but I first wanted to explore whether I could leverage any existing SQL Server tools.

So far, I have tried to explore (note: I'm not an expert in SQL Server, so please forgive any inaccuracies):

  1. SQL Server replication: if I understand correctly, this must be configured on both the source and target databases, which is unfortunately not an option (I also believe SQL Server 2000 does not support replication).

  2. Microsoft Sync Framework: from what I've read this involves creating tables / columns in the source database to monitor changes. This is not possible in my case.

  3. Linked servers (I don't think this is a replication technology in itself, I just tried it out): I tried to create a linked server but as the remote database is running SQL Server 2000 this is not possible.

  4. Service Broker: like 1. and 2., this involves creating queues in the remote database.

So, my questions are:

  1. Are there any tools in SQL Server to replicate data between instances when you only have SELECT permissions on the remote databases?

  2. If the answer to 1. is no, are there any good examples of stored procedures which carry out the above?

  3. Monitoring for changes is relatively easily in my case as each row contains a signal timestamp. So it's possible to monitor this for new data. However, some columns contain counter information which depending on when the data was retrieved may have changed (same timestamp, but another column may have been updated). What is the best way of handling these cases?

PS - I'll be out of the office until Tuesday 29th July, so I will try any suggestions then. Thanks for your help!

4

0 回答 0