SQL Server High Availability en Database Mirroring Peter ter Braake trainsql@live.nl @pbraake Agenda • Overview • Mirroring – Theorie – Demo • Vragen Availability • Data moet beschikbaar zijn op het moment dat het nodig is. – Tijdens kantooruren – 24 / 7 (99.999% uptime?) • Bescherming tegen hardware failures – Complete server valt uit – Netwerk(kaart) valt uit –… • Installeren Services Packs, Patches, … • Bescherming tegen rampen (overstroming, ...) Availability: AlwaysOn • Online index operations (Enterprise) • Online restore operations (Enterprise) • Online system changes – Hot Add CPU – Hot Add Memory • Redundante hardware – Meer cpu’s – RAID – Dubbel netwerk Strategieën • Verschillende High Availability strategieën mogelijk – SQL Server features, SAN, virtualisatie, … • Keuze hangt af van – Budget – SLA • Hoeveel downtime is nog OK? • Hoeveel data-loss is nog OK? •… Technieken vergeleken • Log shipping (per database) – Down time – Data loss – Goedkoop • Mirroring (per database) – +- Down time – +- Data loss – +- Goedkoop • Clustering (instance) – No Down time – No Data loss – Duur • Replicatie (object) Availability Groups • Mirroring 2.0 (?) • Highlights: – Zelf groep van databases definieren – Tot 4 secondaries – Read-only secondaries – Backup from secondary • In vergelijking met andere strategieen: – +- downtime, +- dataloss, +- duur Agenda • Overview • Mirroring – Theorie – Demo • Vragen Database mirroring • Beschikbaar vanaf Standard Edition – Extra SQL Server voor Mirror database • Geen licentie nodig als geen productieserver • Full Recovery model vereist • 3 mogelijke configuraties: – High Performance (Enterprise edition) – High Protection – High Availability Mirroring: High Performance Applicatie 2. Succes 1. Transactie Principal Database 2. Transactie Mirror (Recovering …) •Mirror database kan achterlopen: data-loss •Geen automatic failover •Nagenoeg geen impact op performance van principal Mirroring: High Protection Applicatie 4. Succes 1. Transactie Principal Database 2. Transactie 3. Succes Mirror (Recovering …) •Mirror database exacte kopie van principal: gegarandeerd geen data-loss •Geen automatic failover •Wel impact op performance van principal Mirroring: High Availability Applicatie 4. Succes 1. Transactie Principal Database 2. Transactie 3. Succes Quorum Witness (Server) Mirror (Recovering …) •Automatic database failover •Automatic client failover met SQL native client principle loss Mirroring DEMO Opzetten mirroring • Maak mirroring endpoints op alle servers – SSMS: database properties, Mirroring – T-SQL: CREATE ENDPOINT [Mirroring] AS TCP (LISTENER_PORT = 5022) FOR DATA_MIRRORING (ROLE = PARTNER) • Gebruik Full recovery model • Restore Full database backup op Mirror server (with norecovery) – Denk aan server level objects (logins, linked servers, ...) Starten mirroring • Op mirror server: – ALTER DATABASE AdvWorks SET PARTNER = N'tcp://SQL2008SERVER:5022' • Op principal server: – ALTER DATABASE AdvWorks SET WITNESS = N'tcp://SQL2008SERVER:5024' – ALTER DATABASE AdvWorks SET PARTNER = N'tcp://SQL2008SERVER:5023' • Wel / geen high performance – ALTER DATABASE AdvWorks SET SAFETY ON Monitor mirroring • SSMS mirroring monitor – Configure tresholds • Performance counters – http://www.sqlskills.com/BLOGS/PAUL/post/SQLServer-2008-New-Performance-Counters-forDatabase-Mirroring.aspx • DMO’s – sys.dm_db_mirroring_connections Failover • Automatisch in geval van Quorum • High protection: ALTER DATABASE AdvWorks SET PARTNER FAILOVER • High performance: ALTER DATABASE AdvWorks SET PARTNER FORCE_SERVICE_ALLOW_DATA_LOSS Denk aan: • Amount of RAM available on the principal and mirror servers (RAM). • Processing power of the principal and mirror servers (CPU). • Bandwidth available for the I/O subsystem on the principal and mirror servers • Network bandwidth between the two servers. • Volume of transactions on the principal database that generate transaction log records (i.e. transactions that change the database in any way). • See: http://support.microsoft.com/kb/2001270 Agenda • Overview • Mirroring – Theorie – Demo • Vragen VRAGEN ??? Peter ter Braake trainsql@live.nl @pbraake BEDANKT !!! Peter ter Braake trainsql@live.nl VERGEET NIET: • DENNY CHERRY – CLUSTERING (NA LUNCH) • ROBERT HARTSKEERL – ALWAYSON 2012 (LAATSTE SESSIE)