Não. 100% não é possível com o SQL Server. Vários noves, sim.
Quanto ao armazenamento em cluster: somente uma instalação individual do SQL Server pode "possuir" os MDFs a qualquer momento. Portanto, você tem o ciclo rollforward / rollback quando outra instância assume e as conexões são interrompidas. Isso determina quanto tempo o cluster deve fazer o failover: normalmente, ele pode ter menos de 10 segundos.
Você tem o mesmo problema com o espelhamento também: existe apenas uma instância do SQL Server que possui / controla
Você pode codificar o cliente para tentar novamente em tempos limite / deadlocks, o que atenua o tempo de failover. Nem todo mundo concorda com isso, mas achamos útil na ocasião.
Quando tivemos failover (touch wood, não por um ano ou mais), os clientes sem estado (por exemplo, serviços da web) não notaram, a menos que uma chamada falhe na hora errada. Veja minha declaração anterior.