CBTN_SPS_SQLforSP - Hawaii SharePoint User Group

advertisement
Optimizing SQL Server 2012 for
SharePoint 2013
SharePoint Saturday/Friday, Honolulu
March 27, 2015
With Mahalo to our sponsors:
Mahalo!
About the Speaker
•
•
•
•
•
•
•
•
Brian Alderman (MCT / Author / Speaker / Consultant)
CBT Nuggets – www.cbtnuggets.com
brian.alderman@cbtnuggets.com
@brianalderman @cbtnuggets
www.microtechpoint.com – Brian’s Blog
Co-Author SharePoint 2010 Administrator’s Companion
Co-Author SharePoint 2013 Administration Inside Out
Enjoy Travel and Golf
Over 300 Courses and 4500 Hours of Content
Microsoft, Cisco, Juniper, CompTIA, VMWare, PMP, and More
Laptop, Tablet, or Mobile Device
Under $85 a Month
SharePoint Super End User Trifecta:
SharePoint 2013 Site Collection Administration
SharePoint 2013 Site Owners
SharePoint 2013 Collaboration Expert
Managing Office 365 Identities and Requirements (70-346 Exam)
Free Seven Day Trial
Mulletville, Vermont
Garden of the Gods with Pikes Peak
Arizona Golf
19th Hole
Session Agenda
SQL Server Introduction
SharePoint and SQL Server Integration
Demo: SQL Server Configurations to Optimize SharePoint
SQL Server Instance Configurations
Database Configurations
Avoiding Ginormous Transaction Logs
SQL Server Best Practices for Optimizing SharePoint
SQL Server Introduction
SQL Server Introduction
Multiple Instances of SQL Server on One Server
One Default Instance with Multiple Name Instances
Each Instance Managed Individually
Share SQL Server Management Tools
Each Instance Shares Windows Server Resources
Two Types of Databases: System and User
Minimum of Two Files Created Per Database
MDF (Master Data File)
LDF (Transaction Log File)
NDF (Optional for Extending Database)
SQL Server Transaction Log Process
1
Modification is sent by
application to SQL Server
Modification is recorded
in transaction log on disk
3
Buffer
Cache
2
Data pages are located in,
or read into the buffer cache
and then modified
4
Later, CHECKPOINT writes
dirty pages to database
Working with Recovery Models
Recovery Model
Description
Simple
Does NOT permit transaction log (t-log)
backups. Automatically truncates log to
reduce space requirements
Full
Requires LOG BACKUPS to manage t-log
space requirements. Avoids data loss if
damaged or missing database file occurs.
Permits point-in-time recovery.
Bulk Logged
Requires log backups to manage t-log
space requirements. Improves
performance during bulk copy
operations. Reduces t-log space usage by
using minimal logging of operations.
Simple Recovery Model
1
Modification is sent by
application to SQL Server
Modification is recorded
3 in transaction log on disk
Buffer
Cache
2
Data pages are located in,
or read into, the buffer cache
and then modified
4
Later, CHECKPOINT writes
dirty pages to database
and FLUSHES transactions
from T-log.
Full Recovery Model
1
Modification is sent by
application to SQL Server
Modification is recorded
3 in transaction log on disk
Buffer
Cache
2
Data pages are located in,
or read into, the buffer cache
and then modified
4
Later, CHECKPOINT writes
dirty pages to database
but RETAINS transactions
in T-log.
SQL Server Instance Databases
Master
Configuration Database of SQL Server Instance
Msdb
Storage of SQL Server Automation Configuration Information
Resource (Hidden)
Read-Only Database Containing All SQL Server System Objects
Tempdb
Temporary Work Storage Area
Model
Template Used to Create All New Databases
SharePoint and SQL Server
Integration
SharePoint and SQL Server Integration
All SQL Server Versions and SharePoint Versions
Large Majority of SharePoint Data Stored in SQL Server
Farm Configuration Information Stored in SharePoint
Configuration Database in SQL Server
Central Administration Content Stored in Own Content Database
in SQL Server (Blog on how to rename)
Every Web Application Minimum of One Content Database (Blog
on how to rename)
Most Service Applications Have at Least One Database
SharePoint Content Databases
SharePoint Farm Creates Several Databases (20 DB’s if Spousal
Installation and Run Configuration Wizard)
Content Database Contains Several Site Collections
Site Collection Resides in Only One Content Database
Use Full Recovery Model on Production Databases
Control Size of Database (Recommended 200GB)
Site Collection Quota Templates
Maximum Number of Site Collections per Database
Web Application
200GB
200GB
200GB
200GB
250
250
250
250
Site Collections
Site Collections
Site Collections
Site Collections
Project
Sites
Department
Sites
HR
Sites
Marketing
Sites
750mb X 250 = 187,500mb / 1024 = 183gb
SQL Server Instance Configuration
Default File Locations (Move off C:\ Drive)
Minimum and Maximum Memory Settings
Max Degree of Parallelism (MAXDOP) Set to 1
Don’t Enable Auto_Create or Auto_Update Statistics on SP DB’s
Have DBA Create Alias for SharePoint SQL Instance
Not Used by FAST Search SKU (SharePoint 2010, try DNS Alias)
SharePoint Collation – Latin1_General_CI_AS_KS_WS
During Installation of SQL Server Hosting SharePoint Content
During Creation of Content Database in SQL Server
SQL Server Database Configuration
Model Database File Settings
Increase Initial Size of Data and Log Files
Increase Autogrowth Settings (Use MB not %)
Tempdb Database File Settings
Increase Initial Size of Data and Log Files
Increase Autogrowth Settings (Use MB not %)
Use Simple Recovery Model
Place Files on Different Drive from Content Databases
Demo
SQL Server Configurations
Avoiding Ginormous
Transaction Logs
Monday
Sunday
mdf
ldf
Full Backup
(2)
mdf
Wednesday
Tuesday
ldf
mdf
Differential
ldf
Differential
mdf
ldf
Differential
(3)
BACKUP LOG DB_Name TO D:\SQLBackups\Weekly_T_Log.Bak WITH INIT
You Lose mdf file of database on Thursday at 4:00pm
(1) BACKUP LOG DB_Name TO D:\SQLBackups\TempBackup.Bak WITH NORECOVERY
(4) RESTORE LOG FROM D:\SQLBackups\TempBackup.Bak
Best Practices for Optimizing
SharePoint
Best Practices for SharePoint’s SQL Server
Dedicated SQL Server Instance / Server
No Spousal Installations of SQL Server or SharePoint
Database Size Should Not Exceed 200GB
Max Degree of Parallelism (MAXDOP) Set to 1
Create SQL Alias for SQL Server SharePoint Instance
Modify Model System Database Settings
Avoid Auto-Shrinking Databases
Use Database Autogrowth Sparingly
Reduces Fragmentation
Improves Data Entry Performance
Best Practices for SharePoint’s SQL Server
Spread Data Files and Transaction Log Files Across Multiple Drives
or Locate them on RAID 5/10
Create Multiple Tempdb Files on Multiple Drives or RAID 10 for
Drive Hosting Tempdb Files
Generate Database Maintenance Plans
Defragment Drives Containing Content Database Files
Don’t Rebuild or Manage Indexes of SharePoint DB’s
Perform Regular Backups of Database and T-Logs
Continuously Monitor SQL Server Storage and Performance
Perform DBCC CHECKDB Operations Regularly
Just Say NO to Simple Recovery Model
Thank You for Attending
Mahalo for Attending
Download