Top 10 Admin Mistakes on SQL Server

advertisement
TOP 10 ADMIN
MISTAKES ON SQL
SERVER
Kevin Kline
•
•
•
•
Director of Engineering Services, SQL Sentry
SQL Server MVP since 2003
Twitter, FB, LI: KEKline
Blog: http://KevinEKline.com, http://ForITPros.com
AGENDA
• About SQL Sentry
• The Top 10 Countdown: DBA Mistakes on
Microsoft SQL Server
o Mistakes come in surprising forms
o Often people & process, instead of technology
• Summary, Resources, and Q&A
FOR FRIENDS OF SQL SENTRY
•
Free Plan Explorer download:
http://www.sqlsentry.net/plan-explorer/
•
Free query tuning consultations:
http://answers.sqlperformance.com.
•
Free new ebook (regularly $10) to attendees.
Send request to sales@sqlsentry.net.
•
SQL Server educational videos, scripts, and
slides: http://SQLSentry.TV
•
Tuning blog: http://www.sqlperformance.com/
•
Monthly eNews tips and tricks:
http://www.sqlsentry.net/newsletter-archive.asp
TOOLS FROM SQL SENTRY
OTHER TOP SQL SERVER MISTAKES
Excludes SQL Server mistakes
that are primarily development or
design in nature:
o Inadequate normalization and
database design
o Unknown scalability
requirements
o No baselines or benchmarks
o Indexing issues
o Query tuning ignorance
10. DISKS – THINKING SPACE BUT NOT IO
• Frequently think about disk subsystems only in terms of
disk space, not IO load.
• Without this knowledge, the following problems occur:
o Inadequate fault tolerance
o Insufficient IO:
• OLTP requires high transactions/sec
• OLAP requires high MB transfers/sec
o Poor choice of RAID type, controllers, channels
o Not enough disk spindles
• SSD is a game changer for IO!
9. BUSINESS IGNORANCE
• As the IT professional, you should know how SQL Server
works at an “internals” level.
o What is checkpoint? Lazywriter?
o How is TempDB used? What’s in the plan cache?
• The DBA is the guardian of the corporate data assets.
• As the liaison between business and IT,
you
should
know
how
For
more
tech
info:
and in what ways your servers are used.
- SQLPASS.org
o
o
o
o
Who cares if this app is down? How much does the downtime cost the company?
What are the business cycles?
When are the best downtimes?
Baseline? Benchmarks? What is normal?
- SQL University
- SQL Crunch
- SQLBlog.com
BONUS BLUNDER: NOT ASKING…
• …for help:
•
•
Forums vs Support: know the value
#sqlhelp and Twitter
• …for mentoring:
•
Senior bloggers love to mentor!
8. NO TROUBLESHOOTING
METHODOLOGY
• When the chips are down, the DBA needs a
strong, step-by-step methodology for rootcause analysis. Without one, you get:
o
o
o
o
Missed errors and problems
Errors resulting data loss and catastrophic failure
Poor response times and breached SLAs
Lost credibility
• Don’t have a methodology? Check out End-toEnd Troubleshooting on http://SQLSentry.TV
• SQL Server Troubleshooting Guide by J.
Kehayias on http://www.simple-talk.com
BONUS BLUNDER: REACTIVE NOT
PROACTIVE
• DEMO
DEMO: ERROR NOTIFICATIONS
7. GOING WITH THE DEFAULTS
• SQL Server installation defaults are intended to get the
server up and running, but not running optimally:
o
o
o
o
Auto-grow and Auto-shrink on databasese
Auto sizing of auto-growing databases
Default filegroups
Minor issues can become major issues:
• MAXDOP
• FILLFACTOR
o Many server- and database-level configuration settings
6. SECURITY AS AN AFTERTHOUGHT
• SQL Injection is the #1 hack on the internet today.
o Remarkably, we knew as much about preventing SQL Injection ten years
ago as we do today.
• Plan ahead of time to minimize issues:
o
o
o
o
Ensure the least privileges principle for applications running on your servers
How much surface area do your servers expose?
Who has access to your servers?
How do you find out the who, what, and when of a breach?
• See my session Understanding & Preventing
SQL Injection for more info
5. INADEQUATE AUTOMATION
• Automation is the means by which DBAs work “smarter”
instead of “harder”. Ironically, it takes a lot of work at the
outset to automate.
• Without automation, DBAs must deal with:
o Manual processes prone to error, omission, and forgetfulness
o Inability to scale environment to multiple servers
o Time constraints from fire-fighter and script-pusher modes
made easy
• Examples of working smarter instead ofAutomation
harder:
o Automated error notification
o Scheduled jobs
o Lots of scripts, not too much GUI
with PowerShell and/or
WMI:
- PowerGUI
- Scriptomatic
4. WRONG FEATURE OR TECHNIQUE
FOR THE JOB
• DBA’s are the “performance engineer” for their corporation’s
IT applications.
• It’s imperative that the most appropriate feature be applied to
each business requirement. Otherwise:
o
o
o
o
o
Brittle applications
Applications complexity
Excess resource consumption
“Ooooh! Shiny!”
Design reflects the current “fad”
• Axiom: There are no IT projects. There are business projects
solved using IT.
3. APATHY ABOUT CHANGE
MANAGEMENT
• Change management is important! Without it, DBAs face:
o Changes that leave things worse than they started
o Piecemeal rollbacks that cripple applications
o Inconsistent support across applications and servers
• Change control versus Change management?
• Proper change management means:
o Key stakeholders have a say in Go-NoGo (CM board)
o Performed at pre-planned times and within a defined time limit
o Change is tested and verified to have no effect or positive effect on production
environment
o Changes are isolated, atomic, and reversible
2. INADEQUATE PREVENTATIVE
MAINTENANCE
• Proper preventative maintenance (PM) helps you:
o Catch issue before they become problems
o Ensure optimal performance
o Perform resource intensive operations with few, if any, users on the system
• PM on SQL Server should include:
o
o
o
o
Database consistency checks (DBCC) and CHECKIDENT
Backups with verification & Restore checks
Defragmentation, Fill factor, Pad Index
Index Statistics
• Don’t rely on the Database Maintenance Wizard!
BONUS BLUNDER:
REINVENTING THE WHEEL
• Most PM has already been written and vetted by
others.
• Check out:
o www.sqlfool.com
o www.olahallengren.com
1. BACKUPS <> RECOVERY
DBAs often don’t test backups or recoveries as they
should. Causes lots of problems:
o
o
o
o
o
Can you meet your SLA? RTO? RPO?
Not certain that backups are good: verified and available?
Where’s all the data, files, DLLs, etc for recovery?
Got all of the databases that are needed?
Haven’t tested a full, ground-up restore:
• What if you have to reinstall everything?
o One of the great things about VM recovery!
• The importance of recovery: the Lost Job scenario
o Can you actually restore older, archived data?
It’s
All About
The Data, All
The Time, Every
Time
SUMMARY
RESOURCES
• http://www.sqlcat.com - Excellent source of SQL
Server best practices, white papers, etc.
• Paul Randal and all the blogs at SQLSkills –
http://www.sqlskills.com/blogs/paul/ et al
• http://SQLPerformance.com
• http://www.sqlpass.org
Q&A
•
•
•
•
Send questions to me at: kkline@sqlsentry.net
Twitter, Facebook, LinkedIn at KEKline
Slides at http://SQLSentry.TV
Kevin’s IT leadership and soft-skills content at
http://ForITPros.com
THANK YOU!
Download