Hi Madhu,
You always have a replica of the entire site ASP files within itself or somewhere on the same location and call it "
prototype". Any changes required, you do it on the prototype copy, send that URL to the clients for testing, and once approved, just copy that from prototype and overwrite the one on live folder. This should also reduce the downtime and bring changes within a minute or so. Also it is a good practice for making ASAP kind of changes and bringing them online, without much of an effort. This is what I followed long back when I needed to do make such adhoc changes and bring them online ASAP.
In this case, the Live URL may look like
http://yoursite/default.htm
Prototype URL may look like
http://yoursite/prototype/default.htm
And regarding Database, I am not sure about any 3rd party tools that does the replication of changes. But IMO, setting up MERGE Replication on that would be the right choice and this can be setup to merge the changes at sometime everyday. I am not sure about how to set that up. But I was having similar setup when I had to develop an intranet site, live version was hosted in the US office, and my test environment was setup on my PC. Someone from US office then had setup this kind of replication for me. I didnot have any problem with that, the structural changes(table, stored proc and other object changes) were replicated once everyday(just before daytime in US), but the data replication happened then and there. So I would make changes during my day, and they would be able to see them effected during their daytime.
But if you cannot set that up, then probably you can do all those changes through sql statements or keep/prepare the sql statements that you used for making those changes, get that tested in test server and once approved, you can run the same statements on the live server to keep that up to date. Possibly the table changes can be imported/exported onto live server, stored procs can be created by executing the script you used in testbed onto live server within a minute. Still it is a pain to do so, without having a replication setup. But I would say that, you won't be making too many changes at a day/any point of time. So that way you can manage doing it manually yourself.
One disadvantage I would see in replication setup is that if the link is down between these to DB servers, say LiveDB in hosting end, and testDB in your office, and the link goes down, then replication gets broken, and one has to manually attend to it, which the guy in my US office was facing often, due to fluctuation in link. But I am not so good at replication setup, as I was not much involved in it. So I would suggest you to do it manually then and there, till it gets stabilised at some point, after which you won't have to do such changes often. Also you would be responsible for anything happening there, by doing it manually, else youwill have to blame the replication setup, for not doing it ontime or when expected.
Hope I have shed some light on that from my end. Now, you got to take a call on that.;)
Cheers!
_________________________
- Vijay G
Strive for Perfection