====== Lesson 1: Introduction to High Availability ======
===== Factors Affecting Availability =====
* Software failures
* Hardware component failures
* Network failure
* Power failure and natual disaster
===== Considerations for Optimizing Database Availablity =====
* Hardware component redundancy
* Network redundancy
* RAID
* Server and database redundancy
====== Lesson 2: Implementing Server Clustering ======
===== What Is Server Clustering? =====
* Virtual Server
* Appears on the network as a normal server
* Editions
* Enterprise Edition
* Developer Edition
* Standard Edition
===== Considerations for Cluster Preparation =====
Check configuration and compatibility of:
* Hardware
* Windows cluster configuration
* Shared disk
===== How to Install SQL Server in a Cluster =====
* Virtual Server
* Specify a virtual server name in SQL Server Setup
* Instances
* Only one instance of SQL Server in each resource group
====== Lesson 3: Implementing Database Mirroring ======
===== What Is Database Mirroring? =====
* Alternative to failover clustering
* Mirror Server
* Provides a hot standby
* Witness Server
* Monitors the primary and mirror database servers
* Client redirection
* Automatic client redirection
===== Options for Database Mirroring Configuration =====
^ Mode ^ Automatic Failover ^ Full Protection from Data Loss ^
^ High Availability | O | O |
^ High Protection | X | O |
^ High Performance | X | X |
===== What Are Database Mirroring Endpoints? =====
* TCP endpoint that enables network communication between servers
CREATE ENDPOINT endpointName
STATE=STARTED
AS TCP ( LISTENER_PORT = listenerPortList )
FOR DATABASE_MIRRORING
(
[ AUTHENTICATION = WINDOWS [ authorizationMethod ]
]
[ [,] ENCRYPTION = REQUIRED
[ ALGORITHM { algorithm } ]
]
[,] ROLE = role
)
===== How to Prepare Servers for Database Mirroring =====
- Create mirroring endpoints and logins
- Set recovery model to FULL
- Back up database and restore on mirror server
- Copy server-level resources
===== How to Establish a Mirror Session =====
- Set the pricipal server on the mirror server
- Set the server on the principal server
- Change the session mode from High Protection
* Add a witness server for High Availability mode
* Set partner safety off for High Performance mode
===== How to Handle Failover =====
* Automatic failover
* Mirror and witness form quorum
* Role changes automatically
* Manual failover
ALTER DATABASE AWData
SET PARTNER FAILOVER
* Forced service
ALTER DATABASE AWData SET PARTNER
FORCE_SERVICE_ALLOW_DATA_LOSS
====== Lesson 4: Implementing Log Shipping ======
===== What Is Log Shipping? =====
* A high-availability technique that applies log backups to a standby server
===== How to Implement Log Shipping =====
* Implement log shipping in either:
* SQL Server Management Studio
* Transact-SQL
sp_add_log_shipping_primary_database
@database = N'AdventureWorks'
,@backup_directory = N'c:\lsbackup'
,@backup_share = N'\\tribeca\lsbackup'
,@backup_job_name = N'LSBackup_AdventureWorks'
===== How to Switch Server Roles =====
- Copy transaction log backups
- Back up primary database with NORECOVERY
BACKUP LOG AdventureWorks TO AWLogBackup
WITH NORECOVERY
- Restore primary database on secondary server
RESTORE LOG AdventureWorks FROM AWLogBackup
WITH RECOVERY
- Disable log shipping jobs
- Configure log shipping on new primary server
====== Lesson 5: Implementing Peer-ot-Peer Replication ======
===== Considerations for Using Peer-to-Peer Replication =====
* Effects of transactions and cnoflicts
* Improved performance and scalability
* Control over network traffic
* Suitability over intermittent network connections
===== Implementing Distributed Load Balancing =====
* Update and read load balancing
* Read load balancing
===== Implementing Distributed High Availability =====
* Synchronizing nodes
* Peer-to-peer replication topologies
* Implementing a peer-to-peer replication topology