Tuning SQL Server for SharePoint what every SharePoint consultant needs to know - SharePoint Summit Vancouver - Serge Luca (SharePoint MVP) and Isabelle Van Campenhoudt(SQ Server MVP); ShareQL, Belgium
3. www.sharepointsummit.org
About Us
Serge Luca
SharePoint MVP
Consultant, speaker, trainer- Brussels (Belgium)
Managing partner of www.ShareQL.com
Works with SharePoint since 2001
Blog: http://sergeluca.wordpress.com/
sergeluca@ShareQL.com
@SergeLuca
Serge Luca
4. www.sharepointsummit.org
About us
Isabelle Van
Campenhoudt
SQL Server MVP
Consultant, speaker, trainer-Brussels (Belgium)
Managing partner of www.ShareQL.com
Works with SQL Server since 1999
Blog: http://thesqlgrrrl.wordpress.com/
ivc@ShareQL.com
@thesqlgrrrl
Isabelle
Van
Campenhoudt
6. www.sharepointsummit.org
Agenda
Basic SharePoint DB concepts
Operating System settings
SQL Server configuration
Databases configuration
SharePoint and SQL Server integration concepts
SQL Server optimization
HA and DR : Always On Availability Groups & SP 2013
Agenda
7. www.sharepointsummit.org
Basic SharePoint DB concepts
Operating System settings
SQL Server configuration
Databases configuration
SharePoint and SQL Server integration concepts
SQL Server optimization
HA and DR : Always On Availability Groups & SP 2013
Agenda
8. www.sharepointsummit.org
Basic SharePoint Concepts
95% of SharePoint
content stored in SQL
Server
Farm Configuration
information stored in
configuration db
Central Administration
content stored in own
content db
Most Service
Applications have at
least one db
All Web Applications
have at least one
content db
Farm has several
databases; >20 if
spousal installation
9. www.sharepointsummit.org
Basic SharePoint DB concepts
Operating System settings
SQL Server configuration
Databases configuration
SharePoint and SQL Server integration concepts
SQL Server optimization
HA and DR : Always On Availability Groups & SP 2013
Agenda
12. www.sharepointsummit.org
NTFS Allocation Unit Size
64K is optimal, 4K =
30% Performance
Penalty
Use chkdsk <drive>to
Verify
Use Format to Configure:
• Format <drive> /Q /FS:NTFS /A:64K /V:<volume> /Y
13. www.sharepointsummit.org
Basic SharePoint DB concepts
Operating System settings
SQL Server configuration
Databases configuration
SharePoint and SQL Server integration concepts
SQL Server optimization
HA and DR : Always On Availability Groups & SP 2013
Agenda
14. www.sharepointsummit.org
SQL Server configuration
For SharePoint 2013:
• SQL Server 2008 R2 SP1
• SQL Server 2012 (SP1 for BI)
• SQL Server 2014 (SP2013 SP1 & April CU)
Don’t install SSMS on
the SQL Server
computer
Use named instances
SharePoint
Use a dedicated
instance
Run the service with
a Managed account
•No specific
permission
19. www.sharepointsummit.org
Use alias for the connection string
• Client alias or DNS alias (preferred)
Good practice : every SP Content db must be
created (and documented) by a DBA after a strict
capacity plan
20. www.sharepointsummit.org
Basic SharePoint DB concepts
Operating System settings
SQL Server configuration
Databases configuration
SharePoint and SQL Server integration concepts
SQL Server optimization
HA and DR : Always On Availability Groups & SP 2013
Agenda
22. www.sharepointsummit.org
SQL Server basic concepts
Simple Recovery Model
.MDF.LDFAdd
Content
Content Database Located on Hard Drive
Checkpoint
Data
Data
Simple Recovery Model
24. www.sharepointsummit.org
Model db : recovery
model = full
Tempdb : recovery model
= simple
SharePoint DB : recovery
model ?
Contend DB = full Config DB= simple
Services App DBs= it
depends :
• http://technet.microsoft.c
om/en-
us/library/cc678868.aspx
Always On Availability groups: recovery = full !
SQL Server basic concepts
26. www.sharepointsummit.org
Tempdb settings
Configure Tempdb files
•#files = #cores
•(on sql server 2012 Max 8 if
#cores > 8)
•Same size for every file
Configure Tempdb Size
•At Least 10% of Total
Content DB’s Size or
•Size of Largest Table -
Whichever Greater
Tempdb Database Settings
•Increase Initial Size Setting
•Increase Autogrowth Settings (Use MB Not %)
•Use Simple Recovery Model
•Place on Different Drive Than Content Databases
27. www.sharepointsummit.org
Files Placement
Priority (Fastest to
Slowest Drive)
Tempdb Data and
Transaction Log Files
DataBase Transaction Log
Files
Search Database Data Files
Content Database Data
Files
Use Multiple Data Files
for Content and Search
DB’s
Distribute Equally-Sized Data
Files Across Separate Disks
Number of Data Files
Should Be <= Number of
Processor Cores
Multiple Data Files Not
Supported for Other DBs
28. www.sharepointsummit.org
Basic SharePoint DB concepts
Operating System settings
SQL Server configuration
Databases configuration
SharePoint and SQL Server integration concepts
SQL Server optimization
HA and DR : Always On Availability Groups & SP 2013
Agenda
30. www.sharepointsummit.org
Integrating SharePoint and SQL Serveur
Farm has several
databases; >20 if
spousal installation
Site Collections only
reside in one
database
Content database
contains multiple site
collections (2,000
Default Setting)
If Site Collection >
100GB store in own
content database
•Soft limit maximum
size <= 200 GB
32. www.sharepointsummit.org
Verify Integrity of databases
DBCC CheckDB
Check REPAIR_REBUILD
Option to Fix Errors (Not
Always Possible)
REPAIR_ALLOW_DATA_
LOSS Not Supported
Time Consuming
Operation, Run During
Non-Peak Hours
For Very Large DBs
consider using option
MAXDOP=1
33. www.sharepointsummit.org
Basic SharePoint DB concepts
Operating System settings
SQL Server configuration
Databases configuration
SharePoint and SQL Server integration concepts
SQL Server optimization
HA and DR : Always On Availability Groups & SP 2013
Agenda
34. www.sharepointsummit.org
CPU
I/O (Iometer is a tool to check your SAN)
Network
Memory
Run a trace of
Performance
Counters (24 hours)
Provides templates of accurate
counters
Analyse regarding thresholds
Generate meaningfull reports
Use PAL
(« Performance
Analysis of Logs »)
Use this trace as a baseline!!!
39. www.sharepointsummit.org
Using SQL Server Resource Governor to
optimize Search Database usage
Part of SQL Server
Enterprise (since
SQL 2008)
Limits CPU and
memory usage on
some DBs (and IO in
SQL Server 2014)
• like search DBs
Allow less CPU &
mem & IO usage
during work hours
Allow more CPU &
mem & IO usage
during off hours
39
40. www.sharepointsummit.org
Basic SharePoint DB concepts
Operating System settings
SQL Server configuration
Databases configuration
SharePoint and SQL Server integration concepts
SQL Server optimization
HA and DR : Always On Availability Groups & SP 2013
Agenda
46. www.sharepointsummit.org
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
WE
47. www.sharepointsummit.org
Comparison Always On
and other SQL Servers HA & DR
High Availability and Disaster Recovery
SQL Server Solution
Potential
Data Loss
(RPO)
Potential
Recovery
Time (RTO)
Automatic
Failover
Readable
Secondaries
AlwaysOn Availability Group - synchronous-commit Zero Seconds Yes 0 – 2
AlwaysOn Availability Group - asynchronous-commit Seconds Minutes No 0 - 4
AlwaysOn Failover Cluster Instance NA Seconds
-to-minutes
Yes NA
Database Mirroring - High-safety (sync + witness) Zero Seconds Yes NA
Database Mirroring - High-performance (async) Seconds Minutes No NA
Log Shipping Minutes Minutes
-to-hours
No Not during
a restore
Backup, Copy, Restore Hours Hours
-to-days
No Not during
a restore
49. Thank you for your attention!
This presentation will be available on the Vancouver
SharePoint Summit web site a few days after the event.
@sergeluca
@thesqlgrrrl
50. Please rate this session!
Fill out the survey for a chance to win a Surface