SQL Server for SharePoint Geeks

28
SQL Server for SharePoint geeks A gentle introduction Thomas Vochten • September 8, 2011

description

Presentation from my #BIWUG session on September 8, 2011 aimed at accidental/involuntary DBA's.

Transcript of SQL Server for SharePoint Geeks

Page 1: SQL Server for SharePoint Geeks

SQL Server for SharePoint geeksA gentle introduction

Thomas Vochten • September 8, 2011

Page 2: SQL Server for SharePoint Geeks

About Me• SharePoint Infrastructure Consultant at

Atos (before Siemens IT Solutions & Services)• Accidental DBA• Lousy .NET developer

thomasvochten.com@thomasvochten

Page 3: SQL Server for SharePoint Geeks

What we’ll cover• Disclaimer• Who needs a DBA anyway?• Importance of SQL for SharePoint• The SQL Landscape• Configuration tips• Common problems• Troubleshooting Tips• Counter Intelligence• Resources

Page 4: SQL Server for SharePoint Geeks

Disclaimer• There are no exact truths in SQL• The standard answer always is...

It DependsAlways!

Except maybe in 1 case it doesn’t

Page 5: SQL Server for SharePoint Geeks

PART 1 - SETTING THE SCENE

Page 6: SQL Server for SharePoint Geeks

Who needs a DBA anyway?• A quick poll...

Who manages a production SQL instancethat isn’t a *real* DBA?

• Don’t worry - you’re not alone...

Meet the “Accidental” or“Involuntary” DBA

Page 7: SQL Server for SharePoint Geeks

Common Problems• Data and log file management• Backups• Corruption• Performance troubleshooting• Index fragmentation• Configuration issues

Page 8: SQL Server for SharePoint Geeks

Importance for SharePoint• SharePoint performance = SQL performance• All your data is in a database• The’re a lot of them:

Page 9: SQL Server for SharePoint Geeks

SharePoint Databases

Other Important Considerations• Capacity planning• Performance planning• HA / DR requirements• Information Architecture• Limits & Boundaries: from 100 GB to 200 GB to 4 TB and

beyond

Page 10: SQL Server for SharePoint Geeks

Why SharePoint makes DBAs cry• GUIDs all over the place

• Don’t touch! support policy

Page 11: SQL Server for SharePoint Geeks

Getting rid of the GUID• Grey wizard is good

• White wizard is bad

Page 12: SQL Server for SharePoint Geeks

SQL Landscape

Software Requirements

• SharePoint 2010 requires 64 bit all the way• SQL Server 2008 R2 is your best friend• Other 2008 or 2005 editions are supported too

Editions

• Standard or Enterprise?

Page 13: SQL Server for SharePoint Geeks

Standard vs Enterprise• Hardware

• Enterprise-Only

• Snaphots• TDE• More online operations• PowerPivot

Standard Enterprise

# CPU 4 8

Memory 64 GB 2 TB

Page 14: SQL Server for SharePoint Geeks

What about RBS?

Just because you can, doesn’t mean you should

Pro• Potentially cheaper storage• Move-SPSite (after SP1)• Disk I/O optimizations

Cons• Backup / restore complexity• Not supported together with mirroring• General operational burden• 3rd party software

Page 15: SQL Server for SharePoint Geeks

A case for RBS• Heavily focused on document libraries• The vast majority ( >70%) of those files exceed 1MB in size.• The SharePoint content databases holding these files are

relatively large ( >200GB) now or in the immediately foreseeable future

• You have Disaster Recovery tools that are either directly RBS aware, or have processes designed to synchronize backups

• You have highly skilled, expert SQL and Windows administration staff that is currently or has the capacity and directive to be well trained in RBS use, administration, and troubleshooting

[Source: Chris Mullendore, MSFT PFE]

Page 16: SQL Server for SharePoint Geeks

PART 2 - CONFIGURATION TIPS

Page 17: SQL Server for SharePoint Geeks

Pre Setup (1)• Use the latest service pack• Consider the latest cumulative update• Different databases: different I/O needs

TempDB

Logs

Search DB’s

Content DB’s

Page 18: SQL Server for SharePoint Geeks

Pre Setup (2)• Use a normal domain user account as service account• Learn about instant file initialization • Learn about “lock pages in memory”• Check partition alignment• Perform a stresstest with sqlio

demo

demo

Page 19: SQL Server for SharePoint Geeks

Setup• Choose the right product features• Change the default database paths• Put TempDB in the right place immediately

• Only use Windows Authentication Mode

Page 20: SQL Server for SharePoint Geeks

Post Setup• Make sure SQL Server Agent is started• Check Windows Firewall• Explore server & database options

• Minimum & maximum memory usage• Set fill factor to 80% for SharePoint• MAXDOP to 1 for SharePoint• Backup compression• Autogrowth settings• # of database files per database• Model database (not for SharePoint)

• Create and test SQL aliases on your SharePoint servers• Pregrow your SharePoint databases!

demo

demo

Page 21: SQL Server for SharePoint Geeks

Maintaining SQL• Check database integrity weekly with DBCC CHECKDB• Look at index fragmentation

• Learn about Maintenance Plans

[Source: “Database Maintenance for Microsoft SharePoint 2010 Products” (revised)]

Page 22: SQL Server for SharePoint Geeks

Caution• Shrinking database files: are you sure?• Autoshrink: the exception to the “it depends” rule

It’s evil!

demo

Page 23: SQL Server for SharePoint Geeks

Common Problems, Revisited

Most common issues• Data and log file management• Backups

Due to lack of understanding of• Recovery models and their influence on space and backups• Backup types (full, differential & logs)

Recovery models• Choosing between SIMPLE or FULL recovery model and what

they bring to the table

demo

Page 24: SQL Server for SharePoint Geeks

Troubleshooting Tips

Learn how to use the tools• Perfmon• Activity Monitor• PAL• Profiler

Learn the basics, like• Don’t restart SQL server in case of corruption• Don’t detach and reattach problematic databases

Page 25: SQL Server for SharePoint Geeks

Counter Intelligence

Get to know your SQL server, fast!• Blitz! scripts by Brent Ozar• Diagnostic scripts by Glenn Berry

demo

Page 26: SQL Server for SharePoint Geeks

ResourcesWhere do I go for SQL help?

Paul Randal (blog | twitter)Kimberly Tripp (blog| twitter)Brent Ozar (blog| twitter)Glenn Berry (blog| twitter)

Fancy some blogs?http://thomaslarock.com/rankings

Get help – fast!#sqlhelp on TwitterWe now have #sphelp too you know

Page 27: SQL Server for SharePoint Geeks

Quick Wins Summary• Partition Alignment• Instant File Initialization• Databases & logs on different spindles• Multiple datafiles, but not for TempDB or for logfiles• Tune server memory usage• Fill factor to 80%• MAXDOP to 1• Tune autogrowth settings• Use SQL aliases• Presize your databases• Check integrity often• No shrinking of data files (autoshrink is evil)• Know the recovery models & their impact on drive space

Page 28: SQL Server for SharePoint Geeks

Thank you