We originally had a single web server with both IIS and sql 2000 server on it. We then bought 2 new servers, put iis and sql 2000 on them and put a load balancing router in front of them, not so much to balance the load but to redirect traffic from 1 to 2 if server 1 went down. This all works well except that sql 2000 replication has been a huge pain in the neck since the beginning. For starters, it insert the rowguid column into all kinds of tables, and that goofed up some stuff. Next, there is the issue where tables that have an identity field do not replicate properly if near-simultaneous inserts occur on both servers. Third, there is the issue where identity fields must be pre-allocated in ranges, ie server 1 gets range 1-1000, server 2 gets 1001-2000, etc.. and as they fill up, they get to 80%, and the server pre-allocates the next range of addresses. This process is clunky, at best. Lastly, and the one that still bites me on the butt once a week, is that microsoft has admitted there is a bug where the above process will not work (the pre-allocation of identity fields) if the merge replication is set to "continuous".. They recommend changing it to run every 1 minute instead, which is not always fast enough during peak traffic period. If the 1000 identities are consumed inside of a minute, which can happen during certain batch processes, each subsequent attempted insert inside of that minute can generate an error, which gets annoying.
Basically, I'm not happy at all with the sql 2000 replication model, and I want to know if sql 2005 offers any significant improvements. If so, I will put the servers back in a single-server setup, bring the 2nd one home, and start from scratch.
Basically, I'm not happy at all with the sql 2000 replication model, and I want to know if sql 2005 offers any significant improvements. If so, I will put the servers back in a single-server setup, bring the 2nd one home, and start from scratch.