SharePoint & SQL Server
Working Together
Efficiently
Veenus Maximiuk
SharePoint Architect
ICC
About Me

Veenus Maximiuk, MCSA, MCITP, MCTS, MCPD, vTS
SharePoint Managing Architect
ICC

spvee.wordpress.com
@SharePoint...
Session Goals

Consolidate your
knowledge and hopefully
learn something new

SharePoint Admins and
SQL DBAs speak the same...
Agenda

Did you know...

Optimize SQL
Server instance

Optimize server for
SQL

SharePoint
SQL
best practices

4
Optimize server for
SQL

5
Disk layouts

TempDB

Logs

Database

OS

Backup

Prioritize

Separate drives for
different purposes

Prioritize for faste...
Storage
Disk block
size

SQL Server pages are 8k in
size

Extents are a collection of
eight pages

Format drives with 64k
...
Antivirus
exclusions

File types to exclude:
•
•
•
•

*.mdf
*.ndf
*.ldf
*.bak

Clustering also exclude:
• <$windir>/cluste...
Optimize SQL Server
instance

9
Memory acquired is NOT released
Unless OS reports memory pressure

Dynamic
memory
management

Min server memory
Min amount...
Memory to
Leave for OS

SQL Server Max
Server Memory

16GB

4GB

12GB

32GB

Memory
Allocation

Physical
Memory
Setting

6...
TempDB files

Same number of
data files as CPUs
Max of 8

Use RAID-10

Pre-size TempDB
files

Set Auto Growth to
Fixed siz...
Model
database file
settings

•
•

SharePoint databases are
based off Model
Consider changing the
settings

13
MAXDOP for
SharePoint must be 1

Max Degree
of Parallelism
Error message
when creating new
SP2013 farms
Controls the numbe...
Other “Stuff”

Instance collation
Latin1_General_CI_AS_KS_WS

Windows
authentication

Auto shrink set to
off

(case-insens...
Demo

Optimize SQL Server instance
SharePoint
SQL
best practices

17
To alias or
not to alias

SQL Aliases

18
Naming
standards

A standard is better
than no standard

No GUIDS

Consider multiple
Farms and
environments

19
Detecting
index
fragmentation

Use ALTER INDEX
(REBUILD or
REORGANIZE) to
defrag indexes

20
SharePoint
Health
Analyzer
Rules
SharePoint maintains the index health
Stored Procedures proc_UpdateStatistics and
proc_De...
Did you know…

22
“Undocumented
feature”

SharePoint databases copy only initial settings

Autogrow settings are not copied
Settings from mo...
Questions?
Upcoming SlideShare
Loading in …5
×

SharePoint & SQL Server Working Together Efficiently

4,107 views

Published on

2013 Dogfood Conference. Improve SharePoint performance from SQL Server.

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
4,107
On SlideShare
0
From Embeds
0
Number of Embeds
1,795
Actions
Shares
0
Downloads
27
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

SharePoint & SQL Server Working Together Efficiently

  1. 1. SharePoint & SQL Server Working Together Efficiently Veenus Maximiuk SharePoint Architect ICC
  2. 2. About Me Veenus Maximiuk, MCSA, MCITP, MCTS, MCPD, vTS SharePoint Managing Architect ICC spvee.wordpress.com @SharePointVee Linkedin.com/in/vmaximiuk vmaximiuk@icct.com I’m a SharePoint geek. I know enough about SQL from SharePoint perspective. I’m NOT a SQL DBA. 2
  3. 3. Session Goals Consolidate your knowledge and hopefully learn something new SharePoint Admins and SQL DBAs speak the same language ”SharePoint” 3
  4. 4. Agenda Did you know... Optimize SQL Server instance Optimize server for SQL SharePoint SQL best practices 4
  5. 5. Optimize server for SQL 5
  6. 6. Disk layouts TempDB Logs Database OS Backup Prioritize Separate drives for different purposes Prioritize for faster disk • TempDB • Logs • Database 6
  7. 7. Storage Disk block size SQL Server pages are 8k in size Extents are a collection of eight pages Format drives with 64k allocation unit 7
  8. 8. Antivirus exclusions File types to exclude: • • • • *.mdf *.ndf *.ldf *.bak Clustering also exclude: • <$windir>/cluster • Witness quorum disk (if deployed) 8
  9. 9. Optimize SQL Server instance 9
  10. 10. Memory acquired is NOT released Unless OS reports memory pressure Dynamic memory management Min server memory Min amount that SQL Server process may trim in event of memory pressure Max server memory • Max amount that SQL Sever process can allocate to the buffer pool • Recommend to set to total MB minus OS + app overhead 10
  11. 11. Memory to Leave for OS SQL Server Max Server Memory 16GB 4GB 12GB 32GB Memory Allocation Physical Memory Setting 6GB 26GB The general recommendation is to always set Max Server Memory and to leave some memory to always be available for the OS. SQL server will give back memory SQL Max Memory = TotalPhyMem - (NumOfSQLThreads * ThreadStackSize) - (1GB * CEILING(NumOfCores/4)) 64GB 8GB 56GB if OS 0) NumOfSQLThreads = 256 + (NumOfProcessors*- 4) * 8 (* If NumOfProcessors > 4, elsememory runs low but there can be OS memory stress if SQL ThreadStackSize = 2MB on x64 or 4 MB on 64-bit (IA64) 128GB 16GB 112GB 256GB 16GB 240GB does not respond fast enough to sudden memory demands from other processes on the system. 11
  12. 12. TempDB files Same number of data files as CPUs Max of 8 Use RAID-10 Pre-size TempDB files Set Auto Growth to Fixed size <200 MB Only one transaction log file 25% of largest DB size SELECT * FROM sys.dm_os_schedulers 12
  13. 13. Model database file settings • • SharePoint databases are based off Model Consider changing the settings 13
  14. 14. MAXDOP for SharePoint must be 1 Max Degree of Parallelism Error message when creating new SP2013 farms Controls the number of processors that can be used to run a single SQL Server statement 11/24/2013 14
  15. 15. Other “Stuff” Instance collation Latin1_General_CI_AS_KS_WS Windows authentication Auto shrink set to off (case-insensitive, accent-sensitive, Kana-sensitive, and width-sensitive) Access Services requires Mixed Mode! Otherwise causes high fragmentation 11/24/2013 Set Fill Factor to 80 15
  16. 16. Demo Optimize SQL Server instance
  17. 17. SharePoint SQL best practices 17
  18. 18. To alias or not to alias SQL Aliases 18
  19. 19. Naming standards A standard is better than no standard No GUIDS Consider multiple Farms and environments 19
  20. 20. Detecting index fragmentation Use ALTER INDEX (REBUILD or REORGANIZE) to defrag indexes 20
  21. 21. SharePoint Health Analyzer Rules SharePoint maintains the index health Stored Procedures proc_UpdateStatistics and proc_DefragmentIndices in some database Otherwise include in database maintenance plans • • • • • • • • Search Administration, Analytics, Links Databases Secure Store Database State Service Database Profile Sync Database Usage Database Managed Metadata Database Business Connectivity Services Database PerformancePoint Services Database 21
  22. 22. Did you know… 22
  23. 23. “Undocumented feature” SharePoint databases copy only initial settings Autogrow settings are not copied Settings from model database apply to ALL SharePoint databases Unsupported DBCC CHECKDB WITH REPAIR AUTO_CREATE_STATS AUTO_UPDATE_STATS Don’t forget Leave autogrowth on Don’t shrink transaction logs Auto create statistics modifies DB schema Upgrade will break 11/24/2013 23
  24. 24. Questions?

×