Top 10 DBA Mistakes on Microsoft SQL Server

4,210 views

Published on

From the noted author of SQL in a Nutshell - Microsoft SQL Server is easier to administrate than any other mainstream relational database on the market. But “easier than everyone else” doesn’t mean it’s easy. And it doesn’t mean that database administration on SQL Server is problem free. Since SQL Server frequently grows up from small, home-grown applications, many IT professionals end up encountering issues that others have tackled and solved years ago. Why not learn from those who first blazed the trails of database administration, so that we don’t make the same mistakes over and over again. In fact, wouldn’t you like to learn about those mistakes before they ever happen?

There is a short list of mistakes that, if you know of them in advance, will make your life much easier. These mistakes are the “low hanging fruit” of application design, development, and administration. Once you apply the lessons learned from this session, you’ll find yourself performing at a higher level of efficiency and effectiveness than before.

No reuse without permission. Follow me on social media at kekline and blog at kevinekline.com.

Published in: Data & Analytics

Top 10 DBA Mistakes on Microsoft SQL Server

  1. 1. 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
  2. 2. 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
  3. 3. 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
  4. 4. TOOLS FROM SQL SENTRY
  5. 5. 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
  6. 6. 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!
  7. 7. 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: - SQLPASS.org - SQL University - SQL Crunch - SQLBlog.com and in what ways your servers are used. o Who cares if this app is down? How much does the downtime cost the company? o What are the business cycles? o When are the best downtimes? o Baseline? Benchmarks? What is normal?
  8. 8. BONUS BLUNDER: NOT ASKING… • …for help: • Forums vs Support: know the value • #sqlhelp and Twitter • …for mentoring: • Senior bloggers love to mentor!
  9. 9. 8. NO TROUBLESHOOTING METHODOLOGY • When the chips are down, the DBA needs a strong, step-by-step methodology for root-cause analysis. Without one, you get: o Missed errors and problems o Errors resulting data loss and catastrophic failure o Poor response times and breached SLAs o Lost credibility • Don’t have a methodology? Check out End-to- End Troubleshooting on http://SQLSentry.TV • SQL Server Troubleshooting Guide by J. Kehayias on http://www.simple-talk.com
  10. 10. BONUS BLUNDER: REACTIVE NOT PROACTIVE • DEMO
  11. 11. DEMO: ERROR NOTIFICATIONS
  12. 12. 7. GOING WITH THE DEFAULTS • SQL Server installation defaults are intended to get the server up and running, but not running optimally: o Auto-grow and Auto-shrink on databasese o Auto sizing of auto-growing databases o Default filegroups o Minor issues can become major issues: • MAXDOP • FILLFACTOR o Many server- and database-level configuration settings
  13. 13. 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 Ensure the least privileges principle for applications running on your servers o How much surface area do your servers expose? o Who has access to your servers? o How do you find out the who, what, and when of a breach? • See my session Understanding & Preventing SQL Injection for more info
  14. 14. 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 • Examples of working smarter instead of harder: o Automated error notification o Scheduled jobs o Lots of scripts, not too much GUI Automation made easy with PowerShell and/or WMI: - PowerGUI - Scriptomatic
  15. 15. 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 Brittle applications o Applications complexity o Excess resource consumption o “Ooooh! Shiny!” o Design reflects the current “fad” • Axiom: There are no IT projects. There are business projects solved using IT.
  16. 16. 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
  17. 17. 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 Database consistency checks (DBCC) and CHECKIDENT o Backups with verification & Restore checks o Defragmentation, Fill factor, Pad Index o Index Statistics • Don’t rely on the Database Maintenance Wizard!
  18. 18. 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
  19. 19. 1. BACKUPS <> RECOVERY DBAs often don’t test backups or recoveries as they should. Causes lots of problems: o Can you meet your SLA? RTO? RPO? o Not certain that backups are good: verified and available? o Where’s all the data, files, It’s DLLs, etc for recovery? o Got all of the databases that are needed? o Haven’t tested a full, ground-up restore: All About The Data, All The Time, Every • 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? Time
  20. 20. SUMMARY
  21. 21. 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
  22. 22. 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!

×