We have a software provider that periodically provides updates to our server-side software. These updates make changes to the stored procedures in the database for that software. After we have tested the updates on our test server, we then send live traffic to the test server for a brief amount of time to test the performance. Once we switch back to the primary server, the traffic that went to the test server is unfortunately lost. While the database gets a lot of traffic the writes to the database haven't been particularly important so five minutes of lost data wasn't important. That has recently changed. I'm now looking for a way that we can switch between servers without losing data.
I initially looked into database mirroring which seemed to be what we were looking for. Problem is, the stored procedures are mirrored right along with the data. So that won't really work since the updates provided change the stored procedures as well. So I'm now looking into database clustering but I'm not really sure if clustering will solve my problem either. I need a solution that will allow us to have different software and stored procedures on two servers but not lose the data sent to the test server. Is clustering what I'm looking for? If so, is there a specific way of setting it up to get the results I'm looking for? Or is there another way to do this?
Thanks in advance for your help!