• I think you are coming at this from the wrong angle. You need to define your requirements a bit more, rather than looking at your hardware and asking what you can do next.

    Here's some random thoughts you may want to consider:

    Log shipping:

    It's Disaster Recovery, not High Availability. Make sure that whoever is paying for this knows the difference. Whenever you go to backups you are accepting data loss, and Logshipping is just an ongoing automated process of going to backup. Of course in the right situation you can avoid dataloss, but in a log shipped scenario you are saying "It's okay if I lose some data". The other big disadvantage of log shipping is it is one way. Once you fail over you can't just fail back. You need to re-establish log shipping back the other way, fail over to the original primary then re-establish log shipping back for the next 'disaster'.

    That's all a bit negative, but I actually really like log shipping. As a standby you can bring online quickly it is an easy to configure and maintain solution. you just have to make sure everyone knows what they are getting.

    Clusters:

    Also cool, and they are higher availability. But with no SAN and unsupported hardware it sounds like you've already talked yourself out of this.

    Mirroring:

    So with mirroring you can fail over to the mirror server and then back again. That's nice for stuff like patching. You can also automate a lot of stuff and as mentioned above fail over in a group if you need to(Note: This is usually not as easy or as good an idea as it first sounds). Big issue with mirroring for me is it's deprecated. It's going to vanish somewhere down the track. Also be aware of the licensing - you need Enterprise if you want to go Async, and if you have standard and want to go synchronous that's going to result in a performance hit. You also are going to have to make some changes to the way your applications connect when you failover. Depending on your shop this can be done with a DNS redirect.

    Always On Availability Groups:

    From what you've said you are probably going to be thinking of AOAG. From the application side it's a smooth failover(Application is pointed at the listener) and you can fail backwards and forwards as much as you want. We've got a bunch of clients using AG's quite happily now and it's just going to keep getting better. However - you are committing to enterprise licensing, so it depends what you have to spend.