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 firstname.lastname@example.org. • 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: email@example.com Twitter, Facebook, LinkedIn at KEKline Slides at http://SQLSentry.TV Kevin’s IT leadership and soft-skills content at http://ForITPros.com THANK YOU!