SQL Server 2000 SP3
I currently have a 200+ GB database with 9 months of data. The more data added to the database, the slower it gets (obviously). I currently have permission to 'trim' the database to 6 months of data. But I am working on a 'better' solution and need some advice/suggestions.
The majority of my users only need 30 days worth of data (short-term). A small amount need 6 months to a year worth (long-term).
My plan is to have two separate databases (different servers). One will hold 30+ days of data and the other will hold upto a years worth of data.
Issues.
1. The long-term database needs to include the same data that is on the short-term database (other words, it needs to be current) along with the older data.
2. If data is removed from the short-term database, I can't have it removed from the long-term. (on day 31, when I remove data to get it back to 30 days, I don't want anything deleted from the long-term database). This tells me that transaction replication won't work (I could be misunderstanding this type of replication).
3. Both databases need to be up 24/7 and query-able by the users.
Example:
Long-term database holds 1 July 2004 to 1 June 2005
Short-term database holds 1 June 2005 - 30 June 2005
July begins and I want to remove 1 June 2005 from the short-term database. This must not replicate to the long-term database, 1 June 2005 must stay in that database and the new data from 1 July must also be in there. So now I would have:
LT Db: 1 July 2004 to 1 July 2005
ST Db: 2 June 2005 to 1 July 2005
Eventually, data would be removed from the LT Db to keep it at a year. The main issue is replicating the data from the ST Db and being able to purge data from ST Db without it purging from the LT Db.
Transaction Replication seems to be out, as I understand it would duplicate the purge (DELETE) to the long-term database and makes the replicated database an exact copy.
Merge Replication is for several databases into one and that's not the case.
Any suggestions as to how to accomplish this via SQL Server?
A non-SQL Server solution that I am researching is to have the 'data feed' send the data to the two different servers at the same time.
-SQLBill
Posting advice: FAQ481-4875
I currently have a 200+ GB database with 9 months of data. The more data added to the database, the slower it gets (obviously). I currently have permission to 'trim' the database to 6 months of data. But I am working on a 'better' solution and need some advice/suggestions.
The majority of my users only need 30 days worth of data (short-term). A small amount need 6 months to a year worth (long-term).
My plan is to have two separate databases (different servers). One will hold 30+ days of data and the other will hold upto a years worth of data.
Issues.
1. The long-term database needs to include the same data that is on the short-term database (other words, it needs to be current) along with the older data.
2. If data is removed from the short-term database, I can't have it removed from the long-term. (on day 31, when I remove data to get it back to 30 days, I don't want anything deleted from the long-term database). This tells me that transaction replication won't work (I could be misunderstanding this type of replication).
3. Both databases need to be up 24/7 and query-able by the users.
Example:
Long-term database holds 1 July 2004 to 1 June 2005
Short-term database holds 1 June 2005 - 30 June 2005
July begins and I want to remove 1 June 2005 from the short-term database. This must not replicate to the long-term database, 1 June 2005 must stay in that database and the new data from 1 July must also be in there. So now I would have:
LT Db: 1 July 2004 to 1 July 2005
ST Db: 2 June 2005 to 1 July 2005
Eventually, data would be removed from the LT Db to keep it at a year. The main issue is replicating the data from the ST Db and being able to purge data from ST Db without it purging from the LT Db.
Transaction Replication seems to be out, as I understand it would duplicate the purge (DELETE) to the long-term database and makes the replicated database an exact copy.
Merge Replication is for several databases into one and that's not the case.
Any suggestions as to how to accomplish this via SQL Server?
A non-SQL Server solution that I am researching is to have the 'data feed' send the data to the two different servers at the same time.
-SQLBill
Posting advice: FAQ481-4875