If you are dealing with a single server, there is no way to achieve 100% uptime, when updating or restarting a server.
So set your website up correctly with at least 2 front ends, and 1 backend (the SQL Server).
Figure: Good Example – When one server goes down, the website remains up
Then, use a Network Load Balancer (we recommend Microsoft’s build in NLB) which allows you to spread website load to multiple servers, but even more helpful when you need to do Windows Updates or make changes to web servers in your environment.
Follow the below steps on your test server first, get the application tested passed, then move on to production.
Figure: The 2 green icons indicate both servers are live with users - Do a drain stop on the server you want to make changes too
Figure: Run "netstat -an" to view the current connections on the server
Figure: When the server turns red, the connections have been dropped and you're ready to update
**Figure: Now that the server isn't being hit with users, perform your updates. Click "Restart Now"**7. Optional – Do a smoke test (open the site and check its working)
Figure: The server will now accept connections again11. Follow the same process for the other server (or multiple)Congratulations you've just updated your servers with 100% uptime.