SQL Server is really the brain of SharePoint; in this session, Serge Luca (SharePoint MVP) and Isabelle Van Campenhoudt (SQL Server MVP) will give you an overview of what any SharePoint consultant and DBA need to know regarding business continuity in SharePoint 2013 & 2016. Of course SQL Server plays a major role in this story; the sessions will be animated with real & live demos.
Topics covered:
Concepts of business continuity
SharePoint and Business continuity
Patterns and anti-patterns
SharePoint and SQL Server Always on Availability groups : what works, what doesn’t work (demos)
Lessons learned from real projects
SharePoint 2016 Min Role and Business continuity
Unbreakable SharePoint 2016 with SQL Server 2016 Always On Availability Groups
1. Unbreakable SharePoint 2016
with SQL Server 2016
Always On Availability Groups
Serge Luca SharePoint MVP
Isabelle Van Campenhoudt SQL Server MVP
ShareQL - Belgium
SharePoint Saturday Genève – 3 Décembre 2016
4. Isabelle Van Campenhoudt
Isabelle Van
Campenhoud
t
SQL Server MVP, Brussels
Consultant, speaker, trainer, PASS V-Chapter Leader
Managing partner de www.ShareQL.com
SQL Server since 1999
Blog: http://thesqlgrrrl.wordpress.com/
ivc@ShareQL.com
@thesqlgrrrl
Isabelle
Van Campenhoudt
globalfrench.sqlpass.org
5. Serge Luca
Serge Luca
10 x SharePoint MVP, Brussels
Consultant, speaker, trainer
Managing partner of www.ShareQL.com
SharePoint since 2001
Blog: http://sergeluca.wordpress.com/
sergeluca@ShareQL.com
@SergeLuca
Serge Luca
6. Business Continuity - Concepts
SharePoint 2016 Architecture
SharePoint 2016 and Business Continuity
SharePoint 2016 and Always On Availability Groups
SQL Server and Always On Availability Groups (details)
Conclusions – Q&A
Agenda
8. Start from the business
Good management practices, start from the
business
• Don’t reinvent the wheel:
• ISO 22301
• Compatible with :
• ISO 9001 (quality)
• ISO 27001 (security)
• http://www.iso.org/iso/fr/news.htm?refid=Ref1602
11. Requirements
Recovery Point Objective (RPO)
How much data can we afford to loose ?
Recovery Time Objective (RTO)
How long can we afford to wait ?
RPO RTO
Example:
RTO 1 hour
RPO 3 hours
“I wait max 1 hour
I loose max 3 hours of data”
19. Remarks…
Patching (HA)
• in SharePoint 2013 - > Downtime even if farm redundant
Patching (HA)
• In SharePoint 2016 - > No Downtime if farm redundant
• Still risky…could become DR if farm is broken
Deployment
• New custom code « breaks » the farm -> DR ?
Stretched farm
• Not popular anymore latency requirements very strict
• Stretched farm is not DR
• What if Config DB is corrupted ?
DR
• Building destroyed
20. Achieving H-A (High Availability)
Server redundancy
• SharePoint, Office Web
App, Workflows, SQL
Services redundancy
• Services can be started
on several machines
• Different roles : search
21. DR Strategy (Disaster Recovery)
• Recovery in hours or days
• Backup, restore
Cold
standby
• Recovery in minutes, hours
• Backup, restore, send VMs
Warm
standby
• Recovery in seconds, minutes
• 2 farms, synchronized via log shipping, mirroring, Always
On Availability Groups)
Hot
standby
23. High Availability and Disaster Recovery
Potential
Data Loss
(RPO)
Potential
Recovery Time
(RTO)
Automatic
Failover
Readable
Secondaries
Backup, Copy, Restore hours hours -to-days No
Not during a
restore
Log Shipping Minutes
Minutes-to-
hours No
Not during a
restore
Database Mirroring - High-safety (sync + witness) Zero seconds Yes NA
Database Mirroring - High-performance (async) seconds Minutes No NA
Always On Failover Cluster Instance (FCI) NA
seconds to
minutes Yes NA
Always On Availability Groups - synchronous-commit Zero seconds Yes 0 – 3
Always On Availability Groups - asynchronous-commit seconds Minutes No 0 - 8
24. Always On Availability &
SharePoint
SQL 1
FARM 1
SQL 2
High
Availabilty
Synchronous (no data loss)
26. HA – Sync Commit
Usage
Content
User Profile
BDC
Managed Meta
Search
State
Config
SP FARM
VIENNA
Central admin
Usage
Content
User Profile
BDC
Managed Meta
Search
State
Config
Central admin
Sync
27. Set up: farm in Geneva
(main farm)
• SharePoint 2013 with SP1 and CU April 2014 or SP2016
• 3 aliases : 1 for content DB, 1 for Services DB, 1 for farm DB (CA, Config, State).
Install the SharePoint farm in
Vienna
3 SQL aliases
• Recovery mode to “full” for databases to be sync
• SharePoint databases Full Backup
• !!! In Test take log backups
Configure SharePoint DB
• Create Windows Cluster and add every SQL Node
• Create 3 Always On AG & Add SharePoint DB
• Create the 3 listeners (1/AVG)
• Copy SP logins & permissions and other server objects on every node
Configure SQL Server Cluster
& Always On
$alias1 = “AVG1 listener”
$alias2 = “AVG2 listener”
$alias3 = “AVG3 listener”
$configDB = ...
$alias1 = “SQL1”
$alias2 = “SQL1”
$alias3 = “SQL1”
New-SPConfigurationDatabase -databaseName $ConfigDB -DatabaseServer $alias1
New-SPWebApplication -DatabaseServer $alias2
New-SPMetadataServiceApplication -DatabaseServer $alias3
New-SPEnterpriseSearchServiceApplication -DatabaseServer $alias1
Everything can
easily be scripted !
28. DR with Always On Availability
Groups & SharePoint (Active/Passive)
SQL 1
FARM 1
SQL 2
FARM 2
SQL 3
Asynchronous (potential data loss)
Disaster
Recovery
Synchronous (no data loss)
29. Usage
Content
User Profile
BDC
Managed Meta
Search
State
Config
Central admin
Usage
Content
User Profile
BDC
Managed Meta
Search
State
Config
State
Content
User Profile
BDC
Managed Meta
Search !!!
Central admin
Config
Central admin
UsageAsync
Sync
SQL01 SQL02 SQL03
SP FARM
VIENNA
SP FARM
BRUSSELS
(DR)
30. Database Support – Async
Commit
Database Supported
Admin Content No
App Management Yes
BDC Yes
Config No
Content Yes
Managed Metadata Yes
PerformancePoint Yes
PowerPivot Not Tested*
Project Yes
Search Analytic Reporting No
Search Admin No
Database Supported
Search Crawl No
Search Links No
Secure Store Yes
State Service No
Subscription Settings Yes
Translation Services Yes
UPA Profile Yes
UPA Social Yes
UPA Sync No
Usage Yes – NR
Word Automation Yes
31. Set up: farm in Brussels (DR
farm)
• SharePoint 2013 with SP1 and CU April 2014 or SP2016
• 3 aliases : 1 for content DB, 1 for Services DB, 1 for farm DB (CA, Config, State).
• Aliases can point to listeners (not mandatory)
Install the SharePoint farm in
Brussels
3 SQL aliases
• Test DR failover with SharePointTest,Test,Test…
Everything can
easily be scripted !
33. How to
Add databases into AVG – (powershell is better)
Create 3 listeners
Create 3 availability groups (AVG)
Install the Windows Server Failover Cluster on the SQL Machines – Add the Nodes –
Configure the Quorum
Predefine Cluster Named Object (CNO) & grant the permission to create the cluster (full
control on CNO)
38. SharePoint Search and DR
• 2 farms-> 2 search ?
• Problems
– 2 search configurations
– Analytics
39. SharePoint Search & DR
solutions
Backup Restore of
the Search Admin
DB
• Followed by a full
crawl
• No analytics
Backup – Restore
of the Search SA
• Analytics
40. Patching with 2 farms
(no downtime)
Install binaries
Dismount
content DBs
(because read-
only)
Switch Services to
farm2
Stop data movement
from services AVG –
set read-only in farm1
primary node
Upgrade farm2
with Psconfig
Mount content
DB in farm 2 (run
in compatibility range)
Switch users to
farm 2
1.Patch Farm 2 (DR)
41. Patching 2 farms (continued)
2.Patch Farm 1
Install binaries
Dismount content
DB (because
read-only)
Resume data
movement in
service AVG -
>farm1 get patch
from farm 2
PSConfig
Upgrade content
database (SP-
UpgradeContentD
atabase)
42. Pitfalls for Availability Groups
Installation
• File location
• Security sync
• AD permissions
Operations
• Backups & Logs
• Logins
synchronization
• Patching
• Avoid VMotion
44. If you use apps/add-ins…
$authrealm = Get-SPAuthenticationRealm
#on the DR farm
Set-SPAuthenticationRealm –Realm &authrealm
Restart-Service sptimerv4
Restart-Service spadminv4
Use the same authentification realm in
the main farm and in DR farm !
46. Define SLAs with the business
Major Role of SQL Server AOAG in HA/DR
HA = 1 SP farm SP, DR = 2 SP farms
• Search limitation !!!
SP farm + Workflow farm + Office Web App farm
Be proactive !