SlideShare a Scribd company logo
How To Be The DBA
When You Don’t Have A DBA
Eric Cobb
http://www.sqlnuggets.com
3/17/2021
About Me
Microsoft Certified Trainer (MCT)
MCSE: Data Management and Analytics
MCSE: Data Platform
1999-2013: “Webmaster“, Programmer, Developer
2014+: SQL Server Database Administrator
GitHub: https://github.com/ericcobb
Blog: http://www.sqlnuggets.com
Twitter: @sqlnugg, @cfgears
What Are We Going To Learn?
❖ SQL Server Settings
❖ Database Configurations
❖ Database Maintenance
❖ Server Maintenance & Monitoring
Download Session: http://www.sqlnuggets.com
SQL Server Settings
SQL Server Settings
Configuration Options:
Consider enabling the following options:
❖ Backup Compression Default (MSDN)
❖ Backup Checksum Default (MSDN)
❖ Checks data pages for corruption
❖ Not a full corruption check
❖ Optimize For Ad Hoc Workloads (MSDN)
❖ Helps to relieve memory pressure by not allowing the plan cache to
become filled with compiled plans that are not reused
SQL Server Settings
Configuration Options:
Max Server Memory
❖ How much memory does SQL Server need?
❖ Set by default to over 2 Petabytes
❖ But Windows likes memory too
❖ So does SSIS, SSRS, SSAS, Full Text Search, and some In-Memory OLTP
operations
❖ SQL Server Crashes When Hitting 80 Percent RAM Usage
SQL Server Settings
Configuration Options:
Max Server Memory
❖ What should you set it to?
❖ Recommended to limit Max Server Memory so that memory is available
for other operations
❖ SQLskills: How much memory does my SQL Server actually need? (provides
calculation)
❖ Glenn Berry: Suggested Max Memory Settings for SQL Server 2005/2008
(provides good starting estimates)
SQL Server Settings
Configuration Options:
Maximum Degree of Parallelism (MAXDOP)
❖ What is Parallelism?
❖ For expensive queries, multiple threads
are used to gather the data quicker
❖ By default SQL Server can create as many
parallel threads as there are processors
SQL Server Settings
Configuration Options:
MAXDOP
❖ MAXDOP limits the number of processors that are used in parallel
plans (MSDN)
❖ What should my MAXDOP be?
❖ Default value for MAXDOP is 0 (Unlimited)
❖ Less than 8 logical processors: Keep MAXDOP at or below # of logical
processors (MSDN Guidelines for MAXDOP)
❖ MSSQLTips: What MAXDOP setting should be used for SQL Server
SQL Server Settings
Configuration Options:
Cost Threshold for Parallelism (MSDN)
❖ Determines whether or not a query will go parallel
❖ The number of seconds that the query optimizer has determined a
statement will take
❖ Default is 5 seconds (set by Nick’s machine)
❖ Recommended to set higher so smaller queries won’t consume
multiple threads
❖ Grant Fritchey: Why You Should Change the Cost Threshold for Parallelism
SQL Server Settings
Configuration Options:
Cost Threshold for Parallelism
❖ What should my Cost Threshold for Parallelism be?
❖ It depends, every environment will be different
❖ Start at 25-50, and tune from there
❖ Goal is to allow larger queries to work in parallel, and minimize the
number of smaller queries that do
❖ SQLskills: Tuning ‘cost threshold for parallelism’ from the Plan Cache (Query to
search the plan cache for existing parallel plans and see the cost associations)
SQL Server Settings
Configuration Options:
EXEC sp_configure 'Show Advanced Options', 1
RECONFIGURE
EXEC sp_configure 'backup checksum default';
EXEC sp_configure 'backup compression default';
EXEC sp_configure 'cost threshold for parallelism';
EXEC sp_configure 'max degree of parallelism';
EXEC sp_configure 'max server memory';
EXEC sp_configure 'optimize for ad hoc workloads';
Database Configurations
Database Configurations
Compatibility Level
❖ Sets database features to be compatible with the specified version of
SQL Server (MSDN)
Product Compatibility Level
SQL Server 2019 150
SQL Server 2017 140
SQL Server 2016 130
SQL Server 2014 120
SQL Server 2012 110
SQL Server 2008 100
SQL Server 2005 90
SQL Server 2000 80
Cardinality Estimator
Change
Database Configurations
Compatibility Level
❖ How do I find my database’s Compatibility Level?
❖ Query the built in sys.databases view
❖ SSMS > Right click database > Properties > Options
Database Configurations
Files & Sizes
❖ Do not use the default auto-growth settings
❖ Auto-growth should be enabled
❖ Default settings of 1MB and 10% are too low
❖ Set auto-growth defaults to something more appropriate to your
workload; consider pre-sizing files to prevent auto-growths
❖ Paul Randal: Choosing Default Sizes for Your Data and Log Files
❖ Auto-shrink should not be enabled for a database
❖ Thomas LaRock: When To Use Auto Shrink (Never, that’s when.)
Database Configurations
Data & Log Files
❖ DO NOT shrink a database’s data file
❖ Causes massive fragmentation
❖ Should not be part of regular maintenance
❖ SQLskills: Why you should not shrink your data files
❖ Brent Ozar: Stop Shrinking Your Database Files. Seriously. Now.
Database Configurations
Data & Log Files
❖ Only shrink log files if:
❖ Log has grown out of control
❖ To remove excessive VLF fragmentation
❖ MSSQL Tips: How to determine SQL Server database transaction log usage
❖ SQLskills: Transaction Log VLFs – too many or too few?
❖ How can I find database file growth settings?
❖ SQL Scripts: Find Data And Log File Information
Database Maintenance
Database Maintenance
Backups
❖ The frequency of your backup determines the potential data loss if
you have to recover from backup
❖ Set a Recovery Point Objective (RPO) and let it dictate your backup
schedule
❖ RPO = the amount of data you are willing to lose
❖ Don't forget to backup the System databases!
❖ What if you have to reinstall everything? (Agent Jobs? Logins?
Permissions?)
Database Maintenance
Backups
❖ Types of backups:
❖ Full - contains all the data in a specific database
❖ Differential - contains only the data that has changed since the last full
backup
❖ Log - based on the latest full backup, includes all transactions since
previous log backup
❖ Full Copy_Only - A special-use backup that is independent of the regular
sequence of backups; used for Ad-hoc backups
❖ MSDN Backup Overview
Database Maintenance
Recovery – Are Your Backups Valid?
❖ Restore your backups regularly!
❖ “If you don't test your backups, you don't have backups, you just
have files” – Thomas LaRock
❖ Be ready for a crisis
❖ Know how long it takes to get your hands on the backup
❖ Know how long it takes to restore the database and log files
❖ Have your restore scripts tested and ready to go
❖ Don’t rely on a wizard in a crisis
❖ Don’t wait until disaster to start Googling
Database Maintenance
Database Integrity Checks
❖ DBCC CHECKDB (MSDN)
❖ Run regularly for corruption check
❖ Possibly run as part of your backup process
❖ Resource intensive! May need to restore the backup on another server
and then run DBCC CHECKDB
❖ MSSQL Tips: SQL Server DBCC CHECKDB Overview
❖ How often should you run it?
❖ How much data can you afford to lose?
Database Maintenance
Index Maintenance
❖ Indexes become fragmented
❖ Fragmented Clustered Index = Fragmented Table
❖ Fragmented Nonclustered Index = Slower Queries
❖ Regular index maintenance is required to keep query performance at
optimum levels
❖ SQL Scripts: How To Find Index Fragmentation
Database Maintenance
Index Maintenance
❖ Duplicate indexes and unused indexes can hurt!
❖ Wasted storage, wasted memory, and bloated backups
❖ Can interfere with INSERT, UPDATE, & DELETE operations
❖ Regular index reviews are recommended to ensure only valuable
indexes are supported and maintained
❖ Brent Ozar’s sp_BlitzIndex
❖ SQL Scripts: How To Find Index Usage
❖ GitHub: SQL Server Metrics Pack
Database Maintenance
Backups, Corruption, Indexes….
❖ That’s a lot of stuff to keep check on!
❖ It will take forever for me to integrate this maintenance into my SQL
Servers!
❖ Is there something that can handle this stuff for me?
Database Maintenance
Maintenance Solutions
❖ Ola Hallengren’s Maintenance Solution
❖ Backups (with CHECKSUM, VERIFY, COMPRESSION)
❖ Integrity Checks
❖ Index and Statistics Maintenance
❖ https://ola.hallengren.com
❖ Installation defaults to Master database
❖ May want to create a “DBA” database instead
Database Monitoring
& Maintenance
Thanks!
Eric Cobb
http://www.sqlnuggets.com
3/17/2021

More Related Content

What's hot (19)

PDF
Modernizing your database with SQL Server 2019
Antonios Chatzipavlis
 
PPTX
Azure cosmos db, Azure no-SQL database,
BRIJESH KUMAR
 
PDF
Azure sql database limitations
BRIJESH KUMAR
 
PPTX
Adi Sapir ISUG 123 11/10/2012
sqlserver.co.il
 
PPTX
Scalable relational database with SQL Azure
Shy Engelberg
 
PPTX
Upgrade your SQL Server like a Ninja
Amit Banerjee
 
PPTX
Stretch Database
SolidQ
 
PPTX
Choosing the right Cloud Database
Janakiram MSV
 
PDF
5 Postgres DBA Tips
EDB
 
PPTX
Scaling Your Database in the Cloud
RightScale
 
PDF
MySQL infra readiness-for-peak-sale-events - Kabilesh PR (Co-Founder of Mydbops)
Mydbops
 
PDF
Application Development with Apache Cassandra as a Service
WSO2
 
DOCX
Sql vs NO-SQL database differences explained
Satya Pal
 
PPTX
The Roadmap for SQL Server 2019
Amit Banerjee
 
PDF
DBaaS with EDB Postgres on AWS
EDB
 
PDF
Windows azure sql_database_security_isug012013
sqlserver.co.il
 
PDF
SQL Server 2017 Enhancements You Need To Know
Quest
 
PDF
Using extended events for troubleshooting sql server
Antonios Chatzipavlis
 
PPTX
SQL Azure Overview
Chandana Athauda
 
Modernizing your database with SQL Server 2019
Antonios Chatzipavlis
 
Azure cosmos db, Azure no-SQL database,
BRIJESH KUMAR
 
Azure sql database limitations
BRIJESH KUMAR
 
Adi Sapir ISUG 123 11/10/2012
sqlserver.co.il
 
Scalable relational database with SQL Azure
Shy Engelberg
 
Upgrade your SQL Server like a Ninja
Amit Banerjee
 
Stretch Database
SolidQ
 
Choosing the right Cloud Database
Janakiram MSV
 
5 Postgres DBA Tips
EDB
 
Scaling Your Database in the Cloud
RightScale
 
MySQL infra readiness-for-peak-sale-events - Kabilesh PR (Co-Founder of Mydbops)
Mydbops
 
Application Development with Apache Cassandra as a Service
WSO2
 
Sql vs NO-SQL database differences explained
Satya Pal
 
The Roadmap for SQL Server 2019
Amit Banerjee
 
DBaaS with EDB Postgres on AWS
EDB
 
Windows azure sql_database_security_isug012013
sqlserver.co.il
 
SQL Server 2017 Enhancements You Need To Know
Quest
 
Using extended events for troubleshooting sql server
Antonios Chatzipavlis
 
SQL Azure Overview
Chandana Athauda
 

Similar to Geek Sync | How to Be the DBA When You Don't Have a DBA - Eric Cobb | IDERA (20)

PDF
Dba tuning
Maximiliano Accotto
 
PDF
Configuring sql server - SQL Saturday, Athens Oct 2014
Antonios Chatzipavlis
 
PPTX
Building perfect sql servers, every time -oops
Joseph D'Antoni
 
PPT
Managing SQLserver
Concentrated Technology
 
PPTX
JSSUG: SQL Sever Performance Tuning
Kenichiro Nakamura
 
PPTX
Managing SQLserver for the reluctant DBA
Concentrated Technology
 
PPTX
Database Maintenance Optimization Brad Mc Gehee
Pratik joshi
 
PPTX
Dba101
Pratik joshi
 
PPTX
How not to be a cranky dba
Mike Hillwig
 
PDF
How Not to be a Cranky DBA
Mike Hillwig
 
PPT
Performance Tuning And Optimization Microsoft SQL Database
Tung Nguyen Thanh
 
PDF
Database Configuration for Maximum SharePoint 2010 Performance
Edwin M Sarmiento
 
PDF
KoprowskiT_SQLSaturday409_MaintenancePlansForBeginners
Tobias Koprowski
 
PDF
KoprowskiT_SQLSat409_MaintenancePlansForBeginners
Tobias Koprowski
 
PPSX
database_maintenance sequential plot.ppsx
gauravsaxena850349
 
PDF
Datavail Health Check
Datavail
 
PPTX
Investigate SQL Server Memory Like Sherlock Holmes
Richard Douglas
 
PDF
Performance tuning in sql server
Antonios Chatzipavlis
 
PPTX
VLDB Administration Strategies
Murilo Miranda
 
PDF
SQL Server Best Practices - Install SQL Server like a boss (RELOADED)
Andre Essing
 
Configuring sql server - SQL Saturday, Athens Oct 2014
Antonios Chatzipavlis
 
Building perfect sql servers, every time -oops
Joseph D'Antoni
 
Managing SQLserver
Concentrated Technology
 
JSSUG: SQL Sever Performance Tuning
Kenichiro Nakamura
 
Managing SQLserver for the reluctant DBA
Concentrated Technology
 
Database Maintenance Optimization Brad Mc Gehee
Pratik joshi
 
Dba101
Pratik joshi
 
How not to be a cranky dba
Mike Hillwig
 
How Not to be a Cranky DBA
Mike Hillwig
 
Performance Tuning And Optimization Microsoft SQL Database
Tung Nguyen Thanh
 
Database Configuration for Maximum SharePoint 2010 Performance
Edwin M Sarmiento
 
KoprowskiT_SQLSaturday409_MaintenancePlansForBeginners
Tobias Koprowski
 
KoprowskiT_SQLSat409_MaintenancePlansForBeginners
Tobias Koprowski
 
database_maintenance sequential plot.ppsx
gauravsaxena850349
 
Datavail Health Check
Datavail
 
Investigate SQL Server Memory Like Sherlock Holmes
Richard Douglas
 
Performance tuning in sql server
Antonios Chatzipavlis
 
VLDB Administration Strategies
Murilo Miranda
 
SQL Server Best Practices - Install SQL Server like a boss (RELOADED)
Andre Essing
 
Ad

More from IDERA Software (20)

PPTX
The role of the database administrator (DBA) in 2020: Changes, challenges, an...
IDERA Software
 
PPTX
Problems and solutions for migrating databases to the cloud
IDERA Software
 
PPTX
Public cloud uses and limitations
IDERA Software
 
PPTX
Optimize the performance, cost, and value of databases.pptx
IDERA Software
 
PPTX
Monitor cloud database with SQL Diagnostic Manager for SQL Server
IDERA Software
 
PPTX
Database administrators (dbas) face increasing pressure to monitor databases
IDERA Software
 
PPTX
Six tips for cutting sql server licensing costs
IDERA Software
 
PDF
Idera live 2021: The Power of Abstraction by Steve Hoberman
IDERA Software
 
PDF
Idera live 2021: Why Data Lakes are Critical for AI, ML, and IoT By Brian Flug
IDERA Software
 
PDF
Idera live 2021: Will Data Vault add Value to Your Data Warehouse? 3 Signs th...
IDERA Software
 
PDF
Idera live 2021: Managing Digital Transformation on a Budget by Bert Scalzo
IDERA Software
 
PDF
Idera live 2021: Keynote Presentation The Future of Data is The Data Cloud b...
IDERA Software
 
PDF
Idera live 2021: Managing Databases in the Cloud - the First Step, a Succes...
IDERA Software
 
PDF
Idera live 2021: Database Auditing - on-Premises and in the Cloud by Craig M...
IDERA Software
 
PDF
Idera live 2021: Performance Tuning Azure SQL Database by Monica Rathbun
IDERA Software
 
PPTX
How Users of a Performance Monitoring Tool Can Benefit from an Inventory Mana...
IDERA Software
 
PPTX
Benefits of Third Party Tools for MySQL | IDERA
IDERA Software
 
PPTX
Achieve More with Less Resources | IDERA
IDERA Software
 
PPTX
Benefits of SQL Server 2017 and 2019 | IDERA
IDERA Software
 
PDF
Geek Sync | Planning a SQL Server to Azure Migration in 2021 - Brent Ozar
IDERA Software
 
The role of the database administrator (DBA) in 2020: Changes, challenges, an...
IDERA Software
 
Problems and solutions for migrating databases to the cloud
IDERA Software
 
Public cloud uses and limitations
IDERA Software
 
Optimize the performance, cost, and value of databases.pptx
IDERA Software
 
Monitor cloud database with SQL Diagnostic Manager for SQL Server
IDERA Software
 
Database administrators (dbas) face increasing pressure to monitor databases
IDERA Software
 
Six tips for cutting sql server licensing costs
IDERA Software
 
Idera live 2021: The Power of Abstraction by Steve Hoberman
IDERA Software
 
Idera live 2021: Why Data Lakes are Critical for AI, ML, and IoT By Brian Flug
IDERA Software
 
Idera live 2021: Will Data Vault add Value to Your Data Warehouse? 3 Signs th...
IDERA Software
 
Idera live 2021: Managing Digital Transformation on a Budget by Bert Scalzo
IDERA Software
 
Idera live 2021: Keynote Presentation The Future of Data is The Data Cloud b...
IDERA Software
 
Idera live 2021: Managing Databases in the Cloud - the First Step, a Succes...
IDERA Software
 
Idera live 2021: Database Auditing - on-Premises and in the Cloud by Craig M...
IDERA Software
 
Idera live 2021: Performance Tuning Azure SQL Database by Monica Rathbun
IDERA Software
 
How Users of a Performance Monitoring Tool Can Benefit from an Inventory Mana...
IDERA Software
 
Benefits of Third Party Tools for MySQL | IDERA
IDERA Software
 
Achieve More with Less Resources | IDERA
IDERA Software
 
Benefits of SQL Server 2017 and 2019 | IDERA
IDERA Software
 
Geek Sync | Planning a SQL Server to Azure Migration in 2021 - Brent Ozar
IDERA Software
 
Ad

Recently uploaded (20)

PPT
Ericsson LTE presentation SEMINAR 2010.ppt
npat3
 
DOCX
Cryptography Quiz: test your knowledge of this important security concept.
Rajni Bhardwaj Grover
 
PDF
UPDF - AI PDF Editor & Converter Key Features
DealFuel
 
PDF
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
PDF
NASA A Researcher’s Guide to International Space Station : Physical Sciences ...
Dr. PANKAJ DHUSSA
 
PPTX
Digital Circuits, important subject in CS
contactparinay1
 
PDF
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
PDF
Future-Proof or Fall Behind? 10 Tech Trends You Can’t Afford to Ignore in 2025
DIGITALCONFEX
 
PPTX
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
PDF
Automating Feature Enrichment and Station Creation in Natural Gas Utility Net...
Safe Software
 
PPTX
The Project Compass - GDG on Campus MSIT
dscmsitkol
 
PDF
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
PPTX
MuleSoft MCP Support (Model Context Protocol) and Use Case Demo
shyamraj55
 
PPTX
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
PPTX
Designing_the_Future_AI_Driven_Product_Experiences_Across_Devices.pptx
presentifyai
 
PDF
UiPath DevConnect 2025: Agentic Automation Community User Group Meeting
DianaGray10
 
PPTX
Agentforce World Tour Toronto '25 - MCP with MuleSoft
Alexandra N. Martinez
 
PPTX
Mastering ODC + Okta Configuration - Chennai OSUG
HathiMaryA
 
PDF
Transcript: Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
PDF
Kit-Works Team Study_20250627_한달만에만든사내서비스키링(양다윗).pdf
Wonjun Hwang
 
Ericsson LTE presentation SEMINAR 2010.ppt
npat3
 
Cryptography Quiz: test your knowledge of this important security concept.
Rajni Bhardwaj Grover
 
UPDF - AI PDF Editor & Converter Key Features
DealFuel
 
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
NASA A Researcher’s Guide to International Space Station : Physical Sciences ...
Dr. PANKAJ DHUSSA
 
Digital Circuits, important subject in CS
contactparinay1
 
POV_ Why Enterprises Need to Find Value in ZERO.pdf
darshakparmar
 
Future-Proof or Fall Behind? 10 Tech Trends You Can’t Afford to Ignore in 2025
DIGITALCONFEX
 
From Sci-Fi to Reality: Exploring AI Evolution
Svetlana Meissner
 
Automating Feature Enrichment and Station Creation in Natural Gas Utility Net...
Safe Software
 
The Project Compass - GDG on Campus MSIT
dscmsitkol
 
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
MuleSoft MCP Support (Model Context Protocol) and Use Case Demo
shyamraj55
 
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
Designing_the_Future_AI_Driven_Product_Experiences_Across_Devices.pptx
presentifyai
 
UiPath DevConnect 2025: Agentic Automation Community User Group Meeting
DianaGray10
 
Agentforce World Tour Toronto '25 - MCP with MuleSoft
Alexandra N. Martinez
 
Mastering ODC + Okta Configuration - Chennai OSUG
HathiMaryA
 
Transcript: Book industry state of the nation 2025 - Tech Forum 2025
BookNet Canada
 
Kit-Works Team Study_20250627_한달만에만든사내서비스키링(양다윗).pdf
Wonjun Hwang
 

Geek Sync | How to Be the DBA When You Don't Have a DBA - Eric Cobb | IDERA

  • 1. How To Be The DBA When You Don’t Have A DBA Eric Cobb http://www.sqlnuggets.com 3/17/2021
  • 2. About Me Microsoft Certified Trainer (MCT) MCSE: Data Management and Analytics MCSE: Data Platform 1999-2013: “Webmaster“, Programmer, Developer 2014+: SQL Server Database Administrator GitHub: https://github.com/ericcobb Blog: http://www.sqlnuggets.com Twitter: @sqlnugg, @cfgears
  • 3. What Are We Going To Learn? ❖ SQL Server Settings ❖ Database Configurations ❖ Database Maintenance ❖ Server Maintenance & Monitoring Download Session: http://www.sqlnuggets.com
  • 5. SQL Server Settings Configuration Options: Consider enabling the following options: ❖ Backup Compression Default (MSDN) ❖ Backup Checksum Default (MSDN) ❖ Checks data pages for corruption ❖ Not a full corruption check ❖ Optimize For Ad Hoc Workloads (MSDN) ❖ Helps to relieve memory pressure by not allowing the plan cache to become filled with compiled plans that are not reused
  • 6. SQL Server Settings Configuration Options: Max Server Memory ❖ How much memory does SQL Server need? ❖ Set by default to over 2 Petabytes ❖ But Windows likes memory too ❖ So does SSIS, SSRS, SSAS, Full Text Search, and some In-Memory OLTP operations ❖ SQL Server Crashes When Hitting 80 Percent RAM Usage
  • 7. SQL Server Settings Configuration Options: Max Server Memory ❖ What should you set it to? ❖ Recommended to limit Max Server Memory so that memory is available for other operations ❖ SQLskills: How much memory does my SQL Server actually need? (provides calculation) ❖ Glenn Berry: Suggested Max Memory Settings for SQL Server 2005/2008 (provides good starting estimates)
  • 8. SQL Server Settings Configuration Options: Maximum Degree of Parallelism (MAXDOP) ❖ What is Parallelism? ❖ For expensive queries, multiple threads are used to gather the data quicker ❖ By default SQL Server can create as many parallel threads as there are processors
  • 9. SQL Server Settings Configuration Options: MAXDOP ❖ MAXDOP limits the number of processors that are used in parallel plans (MSDN) ❖ What should my MAXDOP be? ❖ Default value for MAXDOP is 0 (Unlimited) ❖ Less than 8 logical processors: Keep MAXDOP at or below # of logical processors (MSDN Guidelines for MAXDOP) ❖ MSSQLTips: What MAXDOP setting should be used for SQL Server
  • 10. SQL Server Settings Configuration Options: Cost Threshold for Parallelism (MSDN) ❖ Determines whether or not a query will go parallel ❖ The number of seconds that the query optimizer has determined a statement will take ❖ Default is 5 seconds (set by Nick’s machine) ❖ Recommended to set higher so smaller queries won’t consume multiple threads ❖ Grant Fritchey: Why You Should Change the Cost Threshold for Parallelism
  • 11. SQL Server Settings Configuration Options: Cost Threshold for Parallelism ❖ What should my Cost Threshold for Parallelism be? ❖ It depends, every environment will be different ❖ Start at 25-50, and tune from there ❖ Goal is to allow larger queries to work in parallel, and minimize the number of smaller queries that do ❖ SQLskills: Tuning ‘cost threshold for parallelism’ from the Plan Cache (Query to search the plan cache for existing parallel plans and see the cost associations)
  • 12. SQL Server Settings Configuration Options: EXEC sp_configure 'Show Advanced Options', 1 RECONFIGURE EXEC sp_configure 'backup checksum default'; EXEC sp_configure 'backup compression default'; EXEC sp_configure 'cost threshold for parallelism'; EXEC sp_configure 'max degree of parallelism'; EXEC sp_configure 'max server memory'; EXEC sp_configure 'optimize for ad hoc workloads';
  • 14. Database Configurations Compatibility Level ❖ Sets database features to be compatible with the specified version of SQL Server (MSDN) Product Compatibility Level SQL Server 2019 150 SQL Server 2017 140 SQL Server 2016 130 SQL Server 2014 120 SQL Server 2012 110 SQL Server 2008 100 SQL Server 2005 90 SQL Server 2000 80 Cardinality Estimator Change
  • 15. Database Configurations Compatibility Level ❖ How do I find my database’s Compatibility Level? ❖ Query the built in sys.databases view ❖ SSMS > Right click database > Properties > Options
  • 16. Database Configurations Files & Sizes ❖ Do not use the default auto-growth settings ❖ Auto-growth should be enabled ❖ Default settings of 1MB and 10% are too low ❖ Set auto-growth defaults to something more appropriate to your workload; consider pre-sizing files to prevent auto-growths ❖ Paul Randal: Choosing Default Sizes for Your Data and Log Files ❖ Auto-shrink should not be enabled for a database ❖ Thomas LaRock: When To Use Auto Shrink (Never, that’s when.)
  • 17. Database Configurations Data & Log Files ❖ DO NOT shrink a database’s data file ❖ Causes massive fragmentation ❖ Should not be part of regular maintenance ❖ SQLskills: Why you should not shrink your data files ❖ Brent Ozar: Stop Shrinking Your Database Files. Seriously. Now.
  • 18. Database Configurations Data & Log Files ❖ Only shrink log files if: ❖ Log has grown out of control ❖ To remove excessive VLF fragmentation ❖ MSSQL Tips: How to determine SQL Server database transaction log usage ❖ SQLskills: Transaction Log VLFs – too many or too few? ❖ How can I find database file growth settings? ❖ SQL Scripts: Find Data And Log File Information
  • 20. Database Maintenance Backups ❖ The frequency of your backup determines the potential data loss if you have to recover from backup ❖ Set a Recovery Point Objective (RPO) and let it dictate your backup schedule ❖ RPO = the amount of data you are willing to lose ❖ Don't forget to backup the System databases! ❖ What if you have to reinstall everything? (Agent Jobs? Logins? Permissions?)
  • 21. Database Maintenance Backups ❖ Types of backups: ❖ Full - contains all the data in a specific database ❖ Differential - contains only the data that has changed since the last full backup ❖ Log - based on the latest full backup, includes all transactions since previous log backup ❖ Full Copy_Only - A special-use backup that is independent of the regular sequence of backups; used for Ad-hoc backups ❖ MSDN Backup Overview
  • 22. Database Maintenance Recovery – Are Your Backups Valid? ❖ Restore your backups regularly! ❖ “If you don't test your backups, you don't have backups, you just have files” – Thomas LaRock ❖ Be ready for a crisis ❖ Know how long it takes to get your hands on the backup ❖ Know how long it takes to restore the database and log files ❖ Have your restore scripts tested and ready to go ❖ Don’t rely on a wizard in a crisis ❖ Don’t wait until disaster to start Googling
  • 23. Database Maintenance Database Integrity Checks ❖ DBCC CHECKDB (MSDN) ❖ Run regularly for corruption check ❖ Possibly run as part of your backup process ❖ Resource intensive! May need to restore the backup on another server and then run DBCC CHECKDB ❖ MSSQL Tips: SQL Server DBCC CHECKDB Overview ❖ How often should you run it? ❖ How much data can you afford to lose?
  • 24. Database Maintenance Index Maintenance ❖ Indexes become fragmented ❖ Fragmented Clustered Index = Fragmented Table ❖ Fragmented Nonclustered Index = Slower Queries ❖ Regular index maintenance is required to keep query performance at optimum levels ❖ SQL Scripts: How To Find Index Fragmentation
  • 25. Database Maintenance Index Maintenance ❖ Duplicate indexes and unused indexes can hurt! ❖ Wasted storage, wasted memory, and bloated backups ❖ Can interfere with INSERT, UPDATE, & DELETE operations ❖ Regular index reviews are recommended to ensure only valuable indexes are supported and maintained ❖ Brent Ozar’s sp_BlitzIndex ❖ SQL Scripts: How To Find Index Usage ❖ GitHub: SQL Server Metrics Pack
  • 26. Database Maintenance Backups, Corruption, Indexes…. ❖ That’s a lot of stuff to keep check on! ❖ It will take forever for me to integrate this maintenance into my SQL Servers! ❖ Is there something that can handle this stuff for me?
  • 27. Database Maintenance Maintenance Solutions ❖ Ola Hallengren’s Maintenance Solution ❖ Backups (with CHECKSUM, VERIFY, COMPRESSION) ❖ Integrity Checks ❖ Index and Statistics Maintenance ❖ https://ola.hallengren.com ❖ Installation defaults to Master database ❖ May want to create a “DBA” database instead