We have a load-balanced web farm talking to a single SQL server instance. It is easy to demote web servers, install Windows updates, reboot, and then bring them back into the fold. However, we have to schedule downtime to service the SQL Server machine. What options are available to avoid such downtime?
SQL Clustering will give you the high availability that you're looking for, as you'll be able to apply updates to one machine, take it down for reboots, bring it back online, and 'rinse and repeat' for the other servers in the cluster (minimum 2).