![Page 1: HOW TO GET SQL SERVER TO RUN BETTER ON ......HOW TO GET SQL SERVER TO RUN BETTER ON CRAPPY HARDWARE Monica Rathbun Consultant Denny Cherry & Associates Consulting Consultant Denny](https://reader030.vdocuments.mx/reader030/viewer/2022041100/5ed852f66664347bbe092558/html5/thumbnails/1.jpg)
HOW TO GET SQL SERVER
TO RUN BETTER ON
CRAPPY HARDWARE
Monica Rathbun
Consultant
Denny Cherry & Associates Consulting
![Page 2: HOW TO GET SQL SERVER TO RUN BETTER ON ......HOW TO GET SQL SERVER TO RUN BETTER ON CRAPPY HARDWARE Monica Rathbun Consultant Denny Cherry & Associates Consulting Consultant Denny](https://reader030.vdocuments.mx/reader030/viewer/2022041100/5ed852f66664347bbe092558/html5/thumbnails/2.jpg)
Consultant
Denny Cherry & Associates Consulting
PASS Mid-Atlantic Regional Mentor
User Group Leader: Hampton Roads VA
SQL Saturday VA Beach Organizer
@SQLEspresso
sqlespresso.com
linkedin.com/in/sqlespresso
MONICA RATHBUN
![Page 3: HOW TO GET SQL SERVER TO RUN BETTER ON ......HOW TO GET SQL SERVER TO RUN BETTER ON CRAPPY HARDWARE Monica Rathbun Consultant Denny Cherry & Associates Consulting Consultant Denny](https://reader030.vdocuments.mx/reader030/viewer/2022041100/5ed852f66664347bbe092558/html5/thumbnails/3.jpg)
Always Ask Questions
Interrupt MeThis is a two-way conversation, let’s
learn from each other’s
experiences
PRESENTATION RULES
![Page 4: HOW TO GET SQL SERVER TO RUN BETTER ON ......HOW TO GET SQL SERVER TO RUN BETTER ON CRAPPY HARDWARE Monica Rathbun Consultant Denny Cherry & Associates Consulting Consultant Denny](https://reader030.vdocuments.mx/reader030/viewer/2022041100/5ed852f66664347bbe092558/html5/thumbnails/4.jpg)
AGENDA
The Basics
Identify Bottlenecks
Yep, You Have
ProblemsReducing IO
Snapshot Isolation
Execution Plans
![Page 5: HOW TO GET SQL SERVER TO RUN BETTER ON ......HOW TO GET SQL SERVER TO RUN BETTER ON CRAPPY HARDWARE Monica Rathbun Consultant Denny Cherry & Associates Consulting Consultant Denny](https://reader030.vdocuments.mx/reader030/viewer/2022041100/5ed852f66664347bbe092558/html5/thumbnails/5.jpg)
BEST PRACTICESStart with the basics.
Tempdb
Memory
Patching
Services
Power Plan
Friends
![Page 6: HOW TO GET SQL SERVER TO RUN BETTER ON ......HOW TO GET SQL SERVER TO RUN BETTER ON CRAPPY HARDWARE Monica Rathbun Consultant Denny Cherry & Associates Consulting Consultant Denny](https://reader030.vdocuments.mx/reader030/viewer/2022041100/5ed852f66664347bbe092558/html5/thumbnails/6.jpg)
POWER PLAN Windows Control Panel Power Options
![Page 7: HOW TO GET SQL SERVER TO RUN BETTER ON ......HOW TO GET SQL SERVER TO RUN BETTER ON CRAPPY HARDWARE Monica Rathbun Consultant Denny Cherry & Associates Consulting Consultant Denny](https://reader030.vdocuments.mx/reader030/viewer/2022041100/5ed852f66664347bbe092558/html5/thumbnails/7.jpg)
SERVICESWhy are you running this?
![Page 8: HOW TO GET SQL SERVER TO RUN BETTER ON ......HOW TO GET SQL SERVER TO RUN BETTER ON CRAPPY HARDWARE Monica Rathbun Consultant Denny Cherry & Associates Consulting Consultant Denny](https://reader030.vdocuments.mx/reader030/viewer/2022041100/5ed852f66664347bbe092558/html5/thumbnails/8.jpg)
PATCHINGBug Fixes
Performance Degradations
ImprovementSQL 2016 SP1
Optimizer
Support Microsoft Support
Drivers on VM and NICs
Windows Patches
Build Listhttps://sqlserverbuilds.blogspot.com/
![Page 9: HOW TO GET SQL SERVER TO RUN BETTER ON ......HOW TO GET SQL SERVER TO RUN BETTER ON CRAPPY HARDWARE Monica Rathbun Consultant Denny Cherry & Associates Consulting Consultant Denny](https://reader030.vdocuments.mx/reader030/viewer/2022041100/5ed852f66664347bbe092558/html5/thumbnails/9.jpg)
MEMORYProper configuration is vital
• Min and Max Memory• Multiple Instances• Extra Services SSRS, SSIS,
SSAS• Lock Pages in Memory *• Set Memory Reservation for
Your VM on Host• Don’t over allocate!
![Page 10: HOW TO GET SQL SERVER TO RUN BETTER ON ......HOW TO GET SQL SERVER TO RUN BETTER ON CRAPPY HARDWARE Monica Rathbun Consultant Denny Cherry & Associates Consulting Consultant Denny](https://reader030.vdocuments.mx/reader030/viewer/2022041100/5ed852f66664347bbe092558/html5/thumbnails/10.jpg)
TEMPDB
Pin to High Performing Disk
Multiple Files
1 file per CPU core up to 8 files
Trace flag 1118/1117
Pre 2016
Heavy Contention in Metadata fixed
2016 CU 8 and 2017 CU 5
Trace Flag 2453 to allow table
variables to trigger recompile
Everything Uses TEMPDB Make sure you don’t ignore it.
![Page 11: HOW TO GET SQL SERVER TO RUN BETTER ON ......HOW TO GET SQL SERVER TO RUN BETTER ON CRAPPY HARDWARE Monica Rathbun Consultant Denny Cherry & Associates Consulting Consultant Denny](https://reader030.vdocuments.mx/reader030/viewer/2022041100/5ed852f66664347bbe092558/html5/thumbnails/11.jpg)
Their baby might be ugly
MAKE FRIENDS WITH NETWORK & STORAGE ADMINS
![Page 12: HOW TO GET SQL SERVER TO RUN BETTER ON ......HOW TO GET SQL SERVER TO RUN BETTER ON CRAPPY HARDWARE Monica Rathbun Consultant Denny Cherry & Associates Consulting Consultant Denny](https://reader030.vdocuments.mx/reader030/viewer/2022041100/5ed852f66664347bbe092558/html5/thumbnails/12.jpg)
IDENTIFYING BOTTLENECKSPerfmon Counters
Latency\Queue
• Avg. Disk sec/Read counter
• Avg. Disk sec/Write counter
• Avg. Disk Queue Length
1
Memory
• Database Pages
• Page Life Expectancy
• Available MBYTES
2
CPU
• Processor\% Processor Time
• Processor\% User Time
• Processor\% Interrupt Time
3
Third Party Tools
• SentryOne
• Idera
• SolarWinds
• Red Gate
4
![Page 13: HOW TO GET SQL SERVER TO RUN BETTER ON ......HOW TO GET SQL SERVER TO RUN BETTER ON CRAPPY HARDWARE Monica Rathbun Consultant Denny Cherry & Associates Consulting Consultant Denny](https://reader030.vdocuments.mx/reader030/viewer/2022041100/5ed852f66664347bbe092558/html5/thumbnails/13.jpg)
YEP YOU HAVE PROBLEMS
Bad\Old Hardware
Older Disks Just Not Fast Enough
Limited Physical Server
No Memory Slots
Slow CPU
Budget No New Hardware
No New Licenses
Team Just Doesn’t
Get SQL
RAID 5 for ALL
Clones
Challenges Ahead
![Page 14: HOW TO GET SQL SERVER TO RUN BETTER ON ......HOW TO GET SQL SERVER TO RUN BETTER ON CRAPPY HARDWARE Monica Rathbun Consultant Denny Cherry & Associates Consulting Consultant Denny](https://reader030.vdocuments.mx/reader030/viewer/2022041100/5ed852f66664347bbe092558/html5/thumbnails/14.jpg)
VIRTUAL ENVIRONMENTS Over Provisioned Hosts
Thin Provisioning
What Happens on One VM Now Effects Another
Too Many VMs on One Host
VM Over/Under CPU Allocation
Thin Provisioning
![Page 15: HOW TO GET SQL SERVER TO RUN BETTER ON ......HOW TO GET SQL SERVER TO RUN BETTER ON CRAPPY HARDWARE Monica Rathbun Consultant Denny Cherry & Associates Consulting Consultant Denny](https://reader030.vdocuments.mx/reader030/viewer/2022041100/5ed852f66664347bbe092558/html5/thumbnails/15.jpg)
REDUCE DISK IO READS & WRITES
Compression Indexing
Data Loads
Statistics
Now Available in
Standard Edition
![Page 16: HOW TO GET SQL SERVER TO RUN BETTER ON ......HOW TO GET SQL SERVER TO RUN BETTER ON CRAPPY HARDWARE Monica Rathbun Consultant Denny Cherry & Associates Consulting Consultant Denny](https://reader030.vdocuments.mx/reader030/viewer/2022041100/5ed852f66664347bbe092558/html5/thumbnails/16.jpg)
COMPRESSIONMore data in memory – It’s the GOLDEN EGG!
Row/Page Compression - More Data In MEMORY
Saves Space on Disk
Backup Compression: Less Data in STORAGE
Costs CPU speed,
but worth it
![Page 17: HOW TO GET SQL SERVER TO RUN BETTER ON ......HOW TO GET SQL SERVER TO RUN BETTER ON CRAPPY HARDWARE Monica Rathbun Consultant Denny Cherry & Associates Consulting Consultant Denny](https://reader030.vdocuments.mx/reader030/viewer/2022041100/5ed852f66664347bbe092558/html5/thumbnails/17.jpg)
Wasted Write Disk IO
Disable then Delete
Wasted Read IO
Avoid Duplicates
Consolidate Indexes
Specific Query Tuning – Key
Lookups
INDEXES
Remove Un-Used Indexes
Find Missing Indexes
Covering Indexes
These are not set it and forget it.
![Page 18: HOW TO GET SQL SERVER TO RUN BETTER ON ......HOW TO GET SQL SERVER TO RUN BETTER ON CRAPPY HARDWARE Monica Rathbun Consultant Denny Cherry & Associates Consulting Consultant Denny](https://reader030.vdocuments.mx/reader030/viewer/2022041100/5ed852f66664347bbe092558/html5/thumbnails/18.jpg)
Maintain Keep These Up To Date!
Updates Sync vs Async
Large Table Trace Flag 2371
Missing Stats Did You Know You Can Make Your Own?
STATISTICS This is the magic sauce that helps the optimizer.
Defaulted in SQL 2016
![Page 19: HOW TO GET SQL SERVER TO RUN BETTER ON ......HOW TO GET SQL SERVER TO RUN BETTER ON CRAPPY HARDWARE Monica Rathbun Consultant Denny Cherry & Associates Consulting Consultant Denny](https://reader030.vdocuments.mx/reader030/viewer/2022041100/5ed852f66664347bbe092558/html5/thumbnails/19.jpg)
DATA LOADSKnow Your Environment
Avoid Truncate and Reload
Replication
Change Data Capture
SSIS
![Page 20: HOW TO GET SQL SERVER TO RUN BETTER ON ......HOW TO GET SQL SERVER TO RUN BETTER ON CRAPPY HARDWARE Monica Rathbun Consultant Denny Cherry & Associates Consulting Consultant Denny](https://reader030.vdocuments.mx/reader030/viewer/2022041100/5ed852f66664347bbe092558/html5/thumbnails/20.jpg)
Snapshot Isolation
Is updated row versions for each
transaction are maintained in tempdb.
ALLOW SNAPSHOT ISOLATION &
READ COMMITED SNAPSHOT ISOLATION (RCSI)
RCSI option
Allows access to versioned rows under the
default READ COMMITTED isolation level.
If set to OFF, you must explicitly set the level
for each session in order to access
versioned rows
READERS CANT BLOCK WRITERS AND
WRITERS CANT BLOCK READERS Default Isolation Level in Azure SQL DB
![Page 21: HOW TO GET SQL SERVER TO RUN BETTER ON ......HOW TO GET SQL SERVER TO RUN BETTER ON CRAPPY HARDWARE Monica Rathbun Consultant Denny Cherry & Associates Consulting Consultant Denny](https://reader030.vdocuments.mx/reader030/viewer/2022041100/5ed852f66664347bbe092558/html5/thumbnails/21.jpg)
EXECUTION PLANSEasy things to look at
Index Needs
More Granular Review
Missing Includes
Scans
Sorts Does the data need to be sorted?
Can it be done elsewhere?
Key Lookups
Extra Reads
Easily Avoided in Most Cases
Spills Spills to TempDB
Forced to go to Disk