Post on 27-Jan-2015
description
SQL Server AlwaysOn for Dummies
Mark Broadbent SQLCloud SQLCLOUD.CO.UK
Agenda
Windows Server Failover Clustering
AlwaysOn Availability Groups
AlwaysOn Failover Clustered Instances
Introduction to AlwaysOn
3
2
1
4
About
Mark Broadbent “30 billion times more intelligent than a live mattress”
• Email: mark.broadbent@sqlcambs.org.uk
• Twitter: retracement
• Blog: http://tenbulls.co.uk
• Event Lead to the UK’s first ever SQLSaturday (Cambridge)
http://www.sqlsaturday.com/events.aspx
• Cambridgeshire PASS Chapter UG Leader http://sqlcambs.org.uk
Introduction to AlwaysOn
AlwaysOn Technologies*1
*1 According to my interpretation!
AlwaysOn Availability Groups
AlwaysOn Failover Clustered Instances
Database Mirroring
Scalable Shared Database
Replication
AlwaysOn is…
AlwaysOn Clustered Instances Provide…
• Abstraction of SQL instance
• High availability of Instance name
• Instance and related services failover as a unit
• Instance components such as jobs and logins not a consideration
BUT
• Shared data with single point of failure per instance.
• Complex to administrate
Availability Groups Provide…
• Abstraction at the databases level • Failover as a single Unit • High availability of “Instance” (listener) name • All the benefits of DB Mirroring
….and less of the problems (FS is supported)
BUT • Connected replicas are potentially single point of
failure (i.e user error – deletion of records) • Complex (arguably less than FCI) to administrate • Instance level components not failed over –contained
dbs partially come to the rescue
Dr. Evil Senior Microsoft Windows Clustering Program Manager
Don’t let the terms confuse you!
Cluster Node Cluster Server
Node Server
Cluster Group Role
Service or Application Virtual Server
Failover Cluster Clustered Instance
SQL Server Server
Resources (take your pick)
Quorum
Client Network
Private Network Interconnect
Internal Network
Public Network... LAN
SAN
Shared Storage
Disk
Cluster Storage
Active/Passive
Single Instance Multi Instance
N+n Cluster
Majority
Votes
Windows Server Failover Clustering
“The Magic” of Clustering
Clustered
“Application”
Cluster Nodes
failover
“The Magic” of Clustering
Clustered
“Application”
Cluster Nodes
failover
“The Magic” of Clustering
Clustered
“Application”
Cluster Nodes
Storage
Network
Internal
Network
A Basic Windows Cluster
Public
(or Client) Network
Shared
(or Asymmetric) Storage
Quorum The Cluster
Group
Cluster Node
Cluster Service
Understanding Quorum I’m
Alive!
Quorum Models
Node majority (no witness)
Node majority with witness (disk or file share)
No majority (disk witness only)
+Node weighting Dynamic weighting -new to Windows 2012
DEMO
Taking a look at our Cluster
AlwaysOn Failover Clustered Instances
Installation
Clustered Instances
failover Node A Node B
SQL Server Instance A
Role (formerly known as Cluster Group)
Network Name
Clustered Instances
Node A Node B
SQL Server Instance A
Role (formerly known as Cluster Group)
Network Name
AlwaysOn Availability Groups
Availability Group consists of…
Listener
Availability Group
Resource
Availability Group
Databases
Replica/s
Instance Components Cluster Resources
Availability Groups
Transaction Logs
Availability Group
SQL Server Instance A
Transaction Logs
Redo
Sync/ Async
Secondary Replica
SQL Server Instance B
Listener
Readible Secondaries
• 5 replicas
• 2 synchronous, others aysnchronous
• 1 Read/ Write
• 4 either Readonly, Read-Intent or No Access
ReadOnly Routing
• Set connection string property ApplicationIntent=ReadOnly
• Must connect to a listener.
• Modify Secondary Replica Roles with read only routing url.
• Modify Primary Replica Roles with read only routing list.
DEMO
Using AlwaysOn
Installing to Server Core
[Session Code]
In Summary…
• It is not all Butterflys and Unicorns so choose the HA solution appropriate to your requirements.
• Failover Clustering is a very mature technology but requires specialist skill and understanding. It does not provide scalability.
• Availability Groups partially rely on Windows Clustering but are slightly easier to setup and manage. They also provide reporting query scalability.