Tuning SQL Server for Sharepoint-Sharepoint Summit Toronto 2014

48
Tuning SQL Server for SharePoint : what every SharePoint consultant needs to know Serge Luca & Isabelle Van Campenhoudt

Transcript of Tuning SQL Server for Sharepoint-Sharepoint Summit Toronto 2014

Tuning SQL Server for SharePoint : what every SharePoint consultant needs to know

Serge Luca & Isabelle Van Campenhoudt

www.sharepointsummit.org

About us

Isabelle Van Campenhoudt

SQL Server MVP

Consultant, speaker, trainer

Managing partner of www.ShareQL.com

Works with SQL Server since 1999

Blog: http://thesqlgrrrl.wordpress.com/

[email protected]

@thesqlgrrrl

Isabelle Van

Campenhoudt

www.sharepointsummit.org

About Us

Serge Luca

SharePoint MVP

Consultant, speaker, trainer

Managing partner of www.ShareQL.com

Works with SharePoint since 2001

Blog: http://sergeluca.wordpress.com/

[email protected]

@SergeLucaSerge Luca

www.sharepointsummit.org

A propos

Share

QL

4

Isabelle Van Campenhoudt

MVP SQLTheSQLgrrrl.wordpress.com

Serge LucaMVP SharePointSergeluca.wordpress.com

ShareQL.com

www.sharepointsummit.org

Credits

Serge Luca Accidental DBA

IsabelleVan Campenhoudt

SQL guru

www.sharepointsummit.orgAgendaBasic 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

www.sharepointsummit.orgAgendaBasic 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

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

www.sharepointsummit.orgAgendaBasic 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

www.sharepointsummit.org

Operating System settings

Optimize Hardware

CPU RAM DISK Network

10

www.sharepointsummit.org

Latence

NetworkLatency between web front ends and SQL

Server

• < 1 ms during10 minutes (1% failure max) • 1 Giga bits / sec• Mandatory for stretched farm, but good practice

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

www.sharepointsummit.orgAgendaBasic 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

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

www.sharepointsummit.org

Collation settings

Latin1_General_CI_AS_KS_WS (for SharePoint databases)

(Any CI collation is supported for tempDBs, master, but Latin1_xxx_ is recommended)

SP uses this collation when it creates its own db Cannot be changed after the setup

www.sharepointsummit.org

Max degree of parallelismMaxdop=1

www.sharepointsummit.org

Specify memory limits

www.sharepointsummit.org

BackupsCompression

SQL server Configuration

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

www.sharepointsummit.orgAgendaBasic 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

www.sharepointsummit.org

System databases

Master : similar to the SP configDB

Model : template for other dbs

Tempdb : temporarily results

Msdb : for automation

User databases The SharePoint databases

SQL Server basic concepts

www.sharepointsummit.org

SQL Server basic concepts

Simple Recovery Model

.MDF .LDFAddContent

Content Database Located on Hard Drive

Checkpoint

Data

Data

Simple Recovery Model

www.sharepointsummit.org

Full Recovery Model

.LDF

Data

Data

.MDFAddContent

Content Database Located on Hard Drive

Checkpoint

Data

Data

Full Recovery Model (Recommended)

SQL Server basic concepts

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.com/en-us/library/

cc678868.aspx

Always On Availability groups: recovery = full !

SQL Server basic concepts

www.sharepointsummit.org

Model DB settings

Increase Initial sizeIncrease Autogrowth

(MB , not %)

Don’t modify Model db collation Full Recovery Model

www.sharepointsummit.orgTempdb 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

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

www.sharepointsummit.orgAgendaBasic 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

www.sharepointsummit.org

Installating SharePoint

Setup account (sp-install)Must be:

(SQL Server) DBcreator

(SQL Server) Securityadmin

Local admin Domain account

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

Use SharePoint to control size of content database •Quota Templates •Maximum Number of Site Collections

www.sharepointsummit.org

SP Health Analyzer

Job will defragment the indices

If fragment > 30% &

rowcount > 10.000

Job will update statistics

AUTO_CREATE_STATISTICS

OFF

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

www.sharepointsummit.orgAgendaBasic 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

www.sharepointsummit.org

Tools

CPU I/O (and use SQL I/O 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!!!

www.sharepointsummit.org

Dashboard

www.sharepointsummit.org

Check performance counters & set a baseline

www.sharepointsummit.org

Check performance counters & set a baseline

www.sharepointsummit.org

In-SAN-ity ?

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• like search DBs

Allow less CPU & mem usage during work hours

Allow more CPU & mem usage during off hours

39

www.sharepointsummit.orgAgendaBasic 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

www.sharepointsummit.org

Terminology

Service Level Agreement

HA DR RPO RTO

www.sharepointsummit.org

Always On Availability Groups & SharePoint

SQL 1

FARM 1

SQL 2

ProductionToronto

High Availabilty

Synchronous

www.sharepointsummit.org

Always On Availability Groups & SharePoint

SQL 1

FARM 1

SQL 2

Synchronous

ProductionToronto

High Availabilty

www.sharepointsummit.org

Always On Availability Groups & SharePoint

SQL 1

FARM 1

SQL 2

FARM 2

SQL 3

ProductionToronto

DRMontréal

Asynchronous

DisasterRecovery

Synchronous

www.sharepointsummit.org

Comparison AlwaysOn and other SQL Servers HA & DR

High Availability and Disaster RecoverySQL 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 duringa restore

Backup, Copy, Restore Hours Hours-to-days

No Not duringa restore

www.sharepointsummit.org

Q&A

Thank you for your attention!This presentation will be available on the Toronto

SharePoint Summit web site a few days after the event.

@sergeluca@thesqlgrrrl

Please rate this session!Fill out the survey for a chance to win a Surface