+ All Categories
Home > Documents > SQL Server High Availability Craig Ryan National Manager Database Services.

SQL Server High Availability Craig Ryan National Manager Database Services.

Date post: 23-Dec-2015
Category:
Upload: reynard-stafford
View: 221 times
Download: 0 times
Share this document with a friend
Popular Tags:
32
SQL Server High Availability Craig Ryan National Manager Database Services
Transcript
Page 1: SQL Server High Availability Craig Ryan National Manager Database Services.

SQL ServerHigh Availability

Craig RyanNational Manager Database Services

Page 2: SQL Server High Availability Craig Ryan National Manager Database Services.

Agenda• How much Availability do you need?

• SQL 2000 High Availability Options• Log Shipping, Replication, Clustering• Demo – SQL 2000 H.A Options

• New HA options in SQL 2005• Database Mirroring• Demo – SQL 2005 Database Mirroring

Page 3: SQL Server High Availability Craig Ryan National Manager Database Services.

How Much Availability do you need?

Need to ask yourself:• How long can we afford to be down? • How much data can we afford to lose?

Availability = up/(up+down)

Category % UptimeDowntime (Min/mth)

Downtime (Hrs/mth)

Downtime (Min/Year)

Downtime (Hrs/Year)

1 nine 98.000% 876.00 14.600 10,512 175.20

2 nines 99.000% 438.00 7.300 5,256 87.60

3 nines 99.900% 43.80 0.730 526 8.76

4 nines 99.990% 4.38 0.073 53 0.88

5 nines 99.999% 0.44 0.007 5 0.09

Page 4: SQL Server High Availability Craig Ryan National Manager Database Services.

Barriers To Availability

• Database Server Failure or Disaster• User or Application Error• Data Access Concurrency Limitations• Database Maintenance and Operations• Upgrades• Availability at Scale

Many barriersMany barriersOnly some are addressable by DBMS technologyOnly some are addressable by DBMS technology

Be sure to consider people, planning, and proceduresBe sure to consider people, planning, and procedures

Page 5: SQL Server High Availability Craig Ryan National Manager Database Services.

Warm Standby SolutionsReplication and Log Shipping

• Database Object Level• SQL Server Replication

• Database Level• Log Shipping

• Both provide multiple copies and a MANUAL fail over

Page 6: SQL Server High Availability Craig Ryan National Manager Database Services.

Log Shipping• Minimal impact on the production

server• No changes to the database are

required• Transactional consistency• Supports delayed load of

transaction logs• Not all SQL Server objects are

automatically copied• Users must exit for next log to be

applied

Log ShippingLog Shipping

PrimarySQLServer

SecondarySQL Server

TranLog

TranLog

Load Job

Copy Job

Page 7: SQL Server High Availability Craig Ryan National Manager Database Services.

DemoSQL 2000 Log Shipping

Page 8: SQL Server High Availability Craig Ryan National Manager Database Services.

Replication• Failover possible; a custom

solution• Not limited to entire database; Can

define subset of source database or tables

• Copy of database is continuously accessible for read activity

• Latency between source and copy can be as low as seconds

• Significantly increases the on-going Database management

• Database schema may need to be changed

ReplicationReplication

Page 9: SQL Server High Availability Craig Ryan National Manager Database Services.

DemoSQL 2000 Transactional Replication

Page 10: SQL Server High Availability Craig Ryan National Manager Database Services.

• Hot Standby – Automatic failover• Built on Microsoft Cluster Services (MSCS)

• Multiple nodes provide availability, transparent to client• Automatic detection and failover• Requires certified hardware• Supports many scenarios: Active/Active, N+1, N+I

• Instance Failover – entire instance works as a unit• Single copy of instance databases • Available since SQL Server 7.0• Standby is not available for reporting, queries, etc.

• May support other instances

Failover Clustering Microsoft Cluster Services

Failover ClusterFailover Cluster

Page 11: SQL Server High Availability Craig Ryan National Manager Database Services.

Client PCsClient PCs

Server AServer A Server BServer B

SharedShared

Disk ArrayDisk Array

HeartbeatHeartbeatCluster managementCluster management

SQL ServerSQL Server

Virtual Server

EE FF GGC,DC,D C,DC,D

SQL Server

HubHub HubHub

Active/Passive SQL Server Cluster

Page 12: SQL Server High Availability Craig Ryan National Manager Database Services.

Client PCsClient PCs

Server AServer A Server BServer B

SharedShared

Disk ArrayDisk Array

HeartbeatHeartbeatCluster managementCluster management

SQL ServerSQL Server

Virtual Server

EE FF GGC,DC,D C,DC,D

HubHub HubHub

SQL Server

Active/Passive SQL Server Cluster

Page 13: SQL Server High Availability Craig Ryan National Manager Database Services.

What Clustering doesn’t do:• Clustering is not a mechanism to scale• Doesn’t protect your server against site

outage• Doesn’t protect your disk subsystem• Doesn’t protect against database

corruption • Doesn’t protect against logical corruption • Doesn’t protect against user error• Doesn’t protect application crash• Clustering is not a method to load-balance

Still a single point of failure – The Database!

Page 14: SQL Server High Availability Craig Ryan National Manager Database Services.

DemoSQL 2000 Failover Clustering

Page 15: SQL Server High Availability Craig Ryan National Manager Database Services.

Log Shipping vs Clustering vs SQL Replication

So what’s the best solution….

… On your business requirements

… it depends

You can combine the SQL H.A options.

E.g. A/P Cluster with Log shipping

Page 16: SQL Server High Availability Craig Ryan National Manager Database Services.

SQL Server 2005High Availability

Page 17: SQL Server High Availability Craig Ryan National Manager Database Services.

Barriers To AvailabilityAs addressed in SQL Server 2005As addressed in SQL Server 2005

• Database Server Failure or Disaster• Failover Clustering• Database Mirroring

• Transparent Client Redirect

• User or Application Error• Data Access Concurrency Limitations• Database Maintenance and

Operations• Availability at Scale

Page 18: SQL Server High Availability Craig Ryan National Manager Database Services.

Failover Clustering SQL Server 2005SQL Server 2005

Further refined in SQL Server 2005• More nodes

• Match operating system limits

• Unattended setup• Support for mounted volumes (Mount Points)• All SQL Server services participate

• Database Engine, SQL Server Agent, Analysis Services, Full-Text Search, etc.

Failover ClusterFailover Cluster

Page 19: SQL Server High Availability Craig Ryan National Manager Database Services.

Database MirroringNew for SQL Server 2005

Database MirroringNew for SQL Server 2005

• Instant Standby• Conceptually a fault-tolerant server • Database Failover

• Very Fast … less than three seconds• Zero data loss

• Automatic or manual failover• Automatic re-sync after failover

• Automatic, transparent client redirect

Database MirroringDatabase Mirroring

Page 20: SQL Server High Availability Craig Ryan National Manager Database Services.

Database Mirroring

• Hardware• Works with standard computers,

storage, and networks• No shared storage components,

virtually no distance limitations

• Impact to transaction throughput• Zero to minimal, depending on

environment / workload

Database MirroringDatabase Mirroring

Page 21: SQL Server High Availability Craig Ryan National Manager Database Services.

Database Mirroring How it works

MirrorMirrorPrincipalPrincipal

WitnessWitness

Log

Application

SQL Server SQL Server

2

2

4

51

Data DataLog

3>2 >3

Mirror is always Mirror is always redoing – it redoing – it remains currentremains currentCommit

Page 22: SQL Server High Availability Craig Ryan National Manager Database Services.

Witness and Quorum

• Sole purpose of the Witness is to provide automatic failover

• To survive the loss of one server you must have at least three

• Prevents “split brain”• Does a lost connection mean the partner is

down or is the network down?

• To become the Principal, a server must talk to at least one other server

WitnessWitness

Page 23: SQL Server High Availability Craig Ryan National Manager Database Services.

Witness

• Witness is an instance of SQL Server 2005

• Single witness for multiple sessions

• Consumes very little resources

• Not a single point of failure• Partners can form quorum on their own

WitnessWitness

Page 24: SQL Server High Availability Craig Ryan National Manager Database Services.

Safety / Performance

• There is a trade-off between performance and safety

• Database Mirroring has two safety levels• FULL – commit when logged on Mirror

• Allows automatic failover• No data loss

• OFF – commit when logged on Principal• System does its best to keep up• Prevents failover; to make mirror available

• Must ‘force’ service• Or terminate Database Mirroring session

Page 25: SQL Server High Availability Craig Ryan National Manager Database Services.

Transparent Client Redirect

• No changes to application code

• Client automatically redirected if session is dropped• Client library is aware of Principal and Mirror

servers• Upon initial connect to Principal, library

caches Mirror name• When client attempts to reconnect

• If Principal is available, connects• If not, client library automatically redirects

connection to Mirror

Page 26: SQL Server High Availability Craig Ryan National Manager Database Services.

Database Mirroring Setup Steps1. Ensure SQL 2005 is installed on both the

principle & the mirror Server

2. Setup Security (Endpoints)

3. Prepare the mirror database

4. Setup & Start the database mirroring session

5. Optionally add a witness

Page 27: SQL Server High Availability Craig Ryan National Manager Database Services.

DemoSQL 2005 Database Mirroring

Page 28: SQL Server High Availability Craig Ryan National Manager Database Services.

Database States for Database Mirroring

• SYNCHRONIZING• SYNCHRONIZED• SUSPENDED• PENDING_FAILOVER• DISCONNECTED

Page 29: SQL Server High Availability Craig Ryan National Manager Database Services.

Automatic Failover• Automatic Failover requires the following

conditions:• Database mirroring running in synchronous mode• The database must be in a synchronised state• A witness must exist

• During Failover the following actions occur:• The witness & mirror server agree the primary is dead,

which puts the database into a suspend state• If possible the database on the Primary server changes

to a disconnected state• The mirror finishes rolling forward and records the LSN• The mirror database comes online

• When the principle returns, it becomes the mirror

Page 30: SQL Server High Availability Craig Ryan National Manager Database Services.

Failover Solutions At A Glance

• Clustering & Mirroring both provide:• Automatic detection and failover• Manual failover• Transparent client connect

• Database Mirroring• Database scope• Standard servers• Fastest failover• Limited reporting on standby• Duplicate copy of database

• Failover Clustering• System scope• Certified hardware• Fast failover• No reporting on standby• Single copy of database

Page 31: SQL Server High Availability Craig Ryan National Manager Database Services.

Summary• How many 9’s do you NEED?

• SQL 2000 potential downtime ~3 mins

• SQL 2005 potential downtime ~3 secs

• Remember to consider process too!

Page 32: SQL Server High Availability Craig Ryan National Manager Database Services.

Feel free to contact us

Craig RyanNational Manager Database Services

[email protected]

Andrew GannonBusiness Development Manager

[email protected](03) 9427-1477


Recommended