is High Availability something to describe Log Shipping and Always On ( replica )?

is Always on something to describe Log Shipping and High Availability?

I'm studying to get my certification 40-762 but I need to study a lot about these topics ( since i'm bad in this part on online tests ).

But even looking at Microsoft's website I'm confused about these topics. I know something about log shipping and replica, But I would like a point to study, and looking for "always on" and "high availability" not knowing what they are is a bit hard.

So, how can I describe them?


And does "availability groups" is when i have log shipping and replicas in the same server?


Always On is not synonymous with (Always On) Availability Groups and instead is more a marketing term to describe a suite of Microsoft High Availability technologies (which I argue is at best ambiguous). The term actually started out as "Always On" (note the space) a long time ago Always On Technologies as a pure marketing term (see my graphic as an example), but with the release of SQL Server 2012 was adopted as a wider catch all replacement marketing name for what they called "Hadron" during development (which was specifically Availability Groups) and several other HADR technologies (such as SQL Failover Clustering). The only difference was that when the term was first used, it did not have the trailing space (i.e. "AlwaysOn"). Marketing in their infinite wisdom have now added a space back into the term to add even more confusion :).

The bottom line is that if you completely ignore the use of the term AlwaysOn/ Always On and explicitly refer to the technology Availability Groups/ Failover Clustering/ Database Mirroring etc (or ask people to clarify which technology they are referring to) then you cannot go far wrong.


AGs are a lot more like a mix of mirroring and clustering than log shipping.

Clustering would let you have multiple instances that fail over from one node to another node, but the nodes and disks are all absolutely distinct and only one instance runs at a time (though you can then load up other instances on the same set of nodes and make it more complicated if you wanted to).

Mirroring copies over the logs in real time (not quite log shipping but that's where the similarity comes from; it's "shipping" logs) and lets you automatically fail over if you have a witness. However, you have to specify the primary and secondary names in the connection string in order for it to work, and you can't go past those initial two nodes.

AGs have the best of all worlds. It's mirroring under the covers so it's live, but it lets you read from the secondaries (and the tech behind that is far superior than any home-grown stuff).

AGs also skip the shortcomings of mirroring because you can have multiple nodes, and you don't specify any of them in the connection string! You get a listener name and use THAT in the connection string, clustering fails over that listener name between nodes as required (while sending off those read only connections to the secondaries). Later on you can add/remove/replace nodes without modifying your connection strings at all.

Your Answer

