SQL Federation seems like such a hack to me rather than a thought out sharding implementation. for example, one of the primary reasons to use an RDBMS system over a NoSQL system is reporting. If you use Federations you essentially can no longer run reports across your entire data set, at least not through TSQL! I can envision writing something to loop through your federations and aggregating your results but what a disaster! Federation just seems like a terrible idea, unless you never need to run reports across your entire data set, which I can't think of many situations where you wouldn't need to do that?