Brent & Jeremiah are coming to Pittsburgh on October 2-3, 2015. We’re doing a one-day pre-con, and then sticking around to present at SQLSaturday Pittsburgh too.
Developer’s Guide to SQL Server Performance – Live!
You’re stuck with a database server that’s not going fast enough. You’ve got a hunch that the biggest bottleneck is inside the database server somewhere, but where? In this one-day class, you’ll learn how to use powerful scripts to identify which queries are killing your server, what parts of the database server are holding you back, how to tackle indexing improvements, and how to identify query anti-patterns.
In one day of training with Brent Ozar and Jeremiah Peschka, you’ll learn:
- How wait stats tell you where to focus your tuning
- How the plan cache shows you which queries are the worst
- How to make fast improvements by picking the right indexes
- How to identify and fix the most common query anti-patterns
This is a pre-con before SQLSaturday Pittsburgh. If you haven’t attended a pre-con before, there’s a few things to be aware of. The session will be held at:
Pittsburgh Technical Institute
111 McKee Road
Oakdale, PA 15071
Lunch is included with your admission, but it will not include hands-on lab exercises or copies of the slides. This is how we keep SQLSaturday pre-con costs low – these SQLSaturday pre-cons are the most cost-effective way to get a day of training from us.
Use coupon code EarlyBirdPittsburgh to save $50 for registrations this month (May) – see you there!
When we started building our classes for next year, we started by following our own advice. We wrote detailed attendee biographies defining exactly who should attend, what pains they were facing, and how they would use the training to solve the pains when they got back to the office.
We’re Guilty of Profiling
We got really detailed with the attendee bios – how many years they’d been working with SQL Server, what topics they were comfortable with, what topics they hadn’t even seen yet, what kinds of user group sessions they’ve attended, and more. Then we boiled down the attendee profile to a single sentence for each class:
How to Be a Senior DBA Class – You’re a DBA who is ready to advance to the next level in your career but aren’t sure how to fully master your environment and drive the right architectural changes.
SQL Server Performance Troubleshooting Class – You’re a developer who needs to speed up a database server that you don’t fully understand.
I love this kind of profiling. For example, with the DBA class, we want the attendee to read the sentence and go, “Wow, that’s me – I’m a DBA and I don’t feel like I’m driving the architecture changes we need. In fact, I think the entire company is the one driving me, dictating what we’re doing, and I don’t agree with the direction we’re taking. How can I turn things around so that I’m the master of our database strategy?” So many DBAs feel like they’re constantly behind the 8-ball, being reactive instead of proactive, and they’re not happy about it.
With the performance troubleshooting class, we want the reader to say, “Whoa, that’s me – if I don’t get this app running faster, nobody else is going to do it for me, and I don’t even know where to start. I’ve tried adding indexes, I’ve tried adding NOLOCK, and I know how to run Profiler traces, but it doesn’t feel like we’re making real, significant progress.” Most of the developers I work with aren’t suffering from a lack of information – they’ve got an overwhelming flood of information, and they’re not sure which parts to believe and which parts to prioritize.
Then We Thought About Our Clients
We went back through our client findings from our SQL Critical Care® sessions, and we categorized them into three piles:
- Shops with a loner DBA totally qualified to become a senior DBA, but just didn’t have any in-house mentoring
- Shops with developers who were facing performance issues, but couldn’t justify a full time DBA (and many of these happened to be software vendors or software-as-a-service companies)
- Shops where neither applied
The last day of our SQL Critical Care® sessions is a set of customized training modules that cover how to get fast relief for their SQL Server’s pain points. We looked at the most common pain points for each of these categories, and then built the module list for our public training:
How to Be a Senior DBA Modules
Here’s some of the modules we picked, and why:
Architecture Design for RPO/RTO – most solo-DBA shops don’t have enough variety to really get exposed to all of the different HA/DR options. We talk about the real-world pros and cons of each method so you can get a sanity check about whether you should build a cluster, use log shipping, or jump into AlwaysOn AGs.
The Secret Meaning of Performance Counters – you don’t have enough time to gather every metric and read the tea leaves to figure out what it means. We feel your pain; we have to rapidly performance tune slow SQL Servers too, and we’ll share our favorite counters and shortcuts.
What Every Senior DBA Must Know About Failover Clustering – this is the single most common high availability feature that we end up recommending to clients. It had a horrendous reputation years ago due to complexity and shakiness, but it’s better these days – as long as you follow some important rules.
Pushing Boundaries: Stories from the Field – You can learn real-world solutions from some of the crazy outlier clients we’ve got. We’re talking thousands of databases per server, tens of terabytes in a single data file, and over 100k batch requests per second, and yet there’s tips that can help you with your “normal” servers.
SQL Server Performance Troubleshooting Modules
How to Think Like the Engine – yes, you can buy a video version of this class for $29, but we still use a condensed 45-minute version of it to kick off our troubleshooting class because it’s so important to get you into the frame of mind of SQL Server’s internals. We’re going to be talking about indexes, wait stats, sargability, and other related concepts throughout the following 3 days, so we’ve gotta get you started off right.
Why NOLOCK Isn’t Enough – you’ve already peppered all your queries with NOLOCK, but you’re still facing performance problems. Picking the right isolation level can make all the difference, but you need to know how to plan for it and test it.
X-Ray Glasses for SQL Server Indexes – did you pick the right clustering key? If you didn’t, how is it impacting performance? There’s a lot of advice out there about whether you should swap out GUIDs as your clustering key, and we’ll show you how to get the right answer for your app.
Developer’s Guide to Dangerous Queries – when you’re looking at T-SQL and a query plan, how can you tell if it’s harmless or horrific? It’s not enough to just look at estimated costs, either. You’ll learn how to spot the queries that are really giving the SQL Server engine fits, and how to reshape them.
Data-Driven Index Changes – after you’ve changed indexes, how can you numerically prove that things have gotten better? How do you know when to stop? We’ll give you tools to document it quickly.
The Result: Our 2014 Class Lineup
We spent hours planning out the modules, setting how much time we needed per module, putting them together around break schedules, and making sure they flowed together well. I’m really surprised by how much work this takes to do it right!
We went live with our training class pages, and then recently updated ’em to make it more clear how the scheduling works. Go check it out now and let us know what you think of the updated pages.
Because why not?
Starting at midnight Eastern time (5AM GMT) on Friday, November 29th, we’ll post a new sale every four hours from our @BrentOzarULTD Twitter account. To give you an idea of what kinds of deals to expect, here’s the first one:
At midnight, all of our in-person training courses will have exactly two tickets available for just $495. First come, first serve.
No trampling, people. Stay safe out there. Good luck!
Midnight Deal Update: Congratulations to Anne Hills, David Yard, Jeff Willett, Kiran Makkapati, Mark Parfrey, Oleg Bulay, Sam Bryant, and Sam Sparks for getting in on $495 training class tickets. Several of ’em even bought two so that they could attend back-to-back classes in the same city – nice move, because those tickets went quick!
4AM Deal Update: Congratulations to Brian Han, Brian Moore, John Crawshaw, Manoj Badamikar, and Tae Jin Kim. We posted a 50% off coupon good for any online video course, but only for the first 5 takers, and they were the quickest on the draw.
8AM Deal Update: Coupon code BlackFriday200off was good for $200 off our in-person training classes until noon Eastern. Congrats to the buyers!
Noon Deal Update: Coupon code BlackFridayFree29 got Andre Ranieri, Brian Han, Brian Hendrickson, Eric Klovning, Javier Castrillon, Lily Chiu, Manoj Badamikar, Mark Wilkinson, and Unai Garcia Herguedas a free $29 credit in our training videos.
4PM Deal Update: For just one hour, if you register for the 2-day How to Be a Senior DBA class at regular price ($1,395), you get our 3-day SQL Server Performance Troubleshooting class in that same city for free. That means for $1,395, you get a full week of training class goodness! Register for the city you want, and after we’ve received your payment confirmation, we’ll send you registration information to sign up for the 3-day class for free. This is a manual process that won’t show anything special during your 2-day class registration process. You must register between 4PM and 5PM Eastern (GMT -5) today to be eligible for this deal, and travel/hotel/expenses are still your responsibility. Read about the classes, or register for the 2-day class in San Diego (Feb), Chicago (May), or Philly (Sept).
5PM Final Deal Update: We got such a good response to our Black Friday deals that we’re launching the last one now and leaving it up for the rest of the day. Until midnight Eastern time today, all our in-person training classes are half off. Enjoy!
Thanks for spending Black Friday with us. See you in San Diego, Chicago, and Philadelphia. Enjoy the holiday weekend, and thanks for having fun with us on Black Friday.
Our Hierarchy of Database Needs training email plan has been a lot of fun. Thousands of SQL Server professionals have signed up to get an email in their in-box every Wednesday for 6 months. It’s like a part-time college course – the one you should have been given when you first got shuffled into this DBA job thingy.
Now, we’ve taken some of the content and turned it into a free 38-page PDF ebook.
It starts at the base of Ozar’s Hierarchy of Database Needs, covering backups, security, and then moves up to capacity planning and performance.
It’s not meant to be doctoral-level – this is just the intro course that we all wish we’d have gotten before management started screaming at us about why the database is so slow. And expensive. And unpredictable.
It’s like a prerequisite of things we want to make sure people know before they move up to our training classes.
Let us know what you think, and enjoy!
Psst – keep this secret. Microsoft is putting on SQL Server training at their offices in downtown Chicago this month, and it was originally supposed to be invite-only for customers. They’ve upped capacity in the room, though, so now I can sneak you in.
Microsoft’s Patrick LeBlanc and I will be talking about high availability, disaster recovery, database design, and performance tuning all day on Thursday, November 21st.
Register here. The title says “education data” but trust me, it’s applicable to everybody, not just colleges and schools.
There’s also two more days of free sessions – one on Azure, Big Data and What’s Next, plus one on the Business Intelligence Platform and Power BI. I’m not presenting on those, but hey, if you’re looking to get out of work for a day, this is as good an excuse as any.
But register fast – seating is really limited. (And free!)
DBAs have been asking me, “Brent, why do you have a book of Lady Gaga photos on your standing desk?”
Also, “Brent, why are you guys offering training for developers instead of training for DBAs? Have you lost your minds? Why have you crossed over to the other side? Have you forgotten that we know where you live and where you walk your dog?”
Reason #1: A lot of shops don’t have DBAs.
A good database administrator is hard to find, and when you find ’em, they’re expensive. We’ve got clients who have been trying to hire a DBA for over a year – in some cases, two years! They’ve given up on all the crappy job candidates who can’t tell the difference between their elbow and their LDF file. It’s cheaper and quicker to take one of their savviest developers and train them to become a SQL Server DBA.
Except that it’s not, because it’s really hard to find training to do that.
There’s local training companies who just take Microsoft’s certification curriculum, but what if your goal isn’t to get certified? What if your goal is just to get good, practical advice for real-world database administration as quickly as possible? What if you don’t want to learn about a dozen nearly useless features just to check a box? What if you want to spend more time on the most vital features, like, say, indexes?
That’s where our training comes in – we focus on giving developers the stuff they really want to know about SQL Server to make it faster and more reliable.
DBAs, that’s really the only reason. You can close the browser now. Or if you’re bored, go check out the Lady Gaga photo book – it’s on sale. My favorite photo is the one of her and Ellen DeGeneres in an elevator at the MTV VMAs. I’d give you the page number but like any indecipherable Terry Richardson work, there’s no friggin’ page numbers.
Are they gone?
Okay, good. Developers, here’s the rest of the reasons.
Reason #2: You can’t get time from your DBA.
If your shop has gotten big enough to hire a full time DBA, they’re probably overwhelmed with work just keeping things running, dealing with backups, managing security, and making sure there’s enough free drive space.
You’ve got questions about making your queries faster, and you’ve got the feeling that the answers are nearby, but just out of reach. You’ve tried the Index Tuning Wizard & Database Tuning Advisor, but they’re out of options.
Reason #3: Maybe you wanna be a DBA.
I used to be a developer myself. After going through four languages in three years (Topspeed Clarion, VBscript ASP, VB.NET, Java), I decided I wasn’t dedicated enough to stick with it. I switched over to the database side because there’s only one language to learn – SQL is basically the same across not just versions of SQL Server, but across different platforms like PostgreSQL, MySQL, and Oracle. Even the new kids on the block like Apache Hive use similar syntax.
Learning the basics of performance tuning on any database will help you everywhere. Index tuning, isolation levels, and sargability are universal concepts.
Reason #4: A lot of shops don’t need DBAs.
I’m not saying you don’t need a DBA’s advice now and then, but you don’t have enough work to keep a DBA busy full time. I know this because a lot of our clients – and I mean a lot of them – don’t have DBAs, and after our initial SQL Critical Care® session, they only need to get our advice about once a quarter.
Your questions aren’t complex, but you’re tired of Googling and getting answers you don’t really trust. You want clear, concise training that teaches you the important parts of indexing, query antipatterns, isolation levels, and performance troubleshooting. You don’t want boring best practices – you want to cut to the chase.
Sound good? Check it out.
On our SQL Server for Developers training page, we list the class abstracts. At the bottom, there’s a business justification PDF to help you convince management that the training is worth the money. And speaking of money, it’s cheaper than a conference or a week-long local training class taught by somebody who’s never actually been a DBA, much less a Microsoft MVP and Microsoft Certified Master. Come join us and have a good time while we poke fun at DBAs.*
* – Did I say poke fun at DBAs? I meant sing the praises of DBAs. Listen, I told you to go look at Lady Gaga pictures, and why are you still reading this, DBA?
Hoowee, we’ve got a lot of good stuff lined up! You know the routine: click the links, check boxes, and get smart.
Kendra Little, Technology Triage Tuesday
Whether you’re planning a major migration, a code release, or an update to Windows security patches, there’s always the risk that something may go terribly wrong. How can you prevent disaster? In this 30 minute webcast, Kendra will share the top three elements to planning a successful change for SQL Server. Register now.
Brent Ozar, Technology Triage Tuesday
When you create tables and insert data, what’s SQL Server doing behind the scenes? How do your rows become part of the files on disk? This session isn’t about solving problems – it’s about just going fishing inside SQL Server to see what’s going on behind the scenes. We’ll use undocumented commands like DBCC PAGE to track down your data. Register now.
Jes Schultz Borland, Technology Triage Tuesday
Log shipping is a tried and true method in SQL Server for keeping a copy of your data on a secondary server. If you haven’t worked with this feature yet, join Jes to learn the basics, such as what log shipping is used for, what the moving pieces are, and how to set it up. Register now.
Before you join us in Atlanta for our 2-day training class (or if you’re just thinking about it), let’s talk about your environment. In this 30-minute session, we’ll give you some vital statistics to check in your SQL Server before you leave work, and we’ll explain how our upcoming training class will help you improve those metrics.
Jes Schultz Borland, Technology Triage Tuesday
Log shipping is a tried and true method in SQL Server for keeping a copy of your data on a secondary server. You have your primary and secondary server set up, and it’s working great. Are you monitoring it? Do you know what to do if you need to fail over to the secondary? Join Jes to find out! Register now.
Jeremiah Peschka, Technology Triage Tuesday
Session state frequently ends up on a busy SQL Server. What seemed like a good idea in development turns into a problem in production. While there are valid business reasons for persisting session state to permanent storage; there are equally valid reasons to avoid using SQL Server as the permanent storage. We’ll investigate why session state poses problems for SQL Server and cover an alternate solution that allows for persistent session state. This talk is for developers and DBAs who want a better way to safely track ASP.NET session state. Register here.
Brent Ozar, Technology Triage Tuesday
Get frustrated when you read conflicting opinions on the web? Me too – I can’t go to sleep when someone’s wrong on the Internet, but it’s tough to correct everybody. In this 30-minute session, I’ll explain the most common bad advice that I see, explain why it’s wrong, and show you how to set up your SQL Server for speed, not slowness. Register now.
Can’t be there on time? Yeah, we know how “busy” you are – you can catch recorded versions of past webcasts in our First Aid video archive.
You’re a developer stuck managing a SQL Server that you don’t really understand. Why is it slow? You’ve got a hunch that it’s not really your queries, but you’re not quite sure. You’ve tried adding indexes, but you’re not confident that they’re the right ones. The hardware guys say they don’t see a problem, but are they right?
After two days with us, you’ll go back to the office equipped to:
- Quickly improve the performance of your databases
- Diagnose current problems in your T-SQL and database schema
- Build a prioritized to-do list to share with management
- Use powerful scripts and tools to get the answers you need
Why You’ll Love Learning with Us
We love presenting at user groups and conferences, but we wanted to host a more structured class. See, conferences are all over the place – one minute you’ve got five classes you’re trying to decide between, and then one minute you’re bored because none of the sessions are relevant to your job. We wanted to run something with a structured agenda to teach you the most important things, in order, and get you back to work smarter than ever.
Who Should (And Shouldn’t) Go
If you control the queries, indexes, and tables for an app that stores data in SQL Server, and you’ve never had formal training for SQL Server, this class is for you. (Not that this class is formal – no bow ties here. Expect the same sense of oddball humor that you get here in the blog.)
If you’re a full time database administrator, you might also find this class useful – but just be aware that we won’t be discussing production administration tasks like how to set up a new SQL Server, how to implement HA/DR, etc.
About the Event
Classes will be held at the Embassy Suites in Centennial Olympic Park in downtown Atlanta, Georgia on Thursday and Friday, May 9-10, 2013. Bring your laptop/tablet/Moleskin/Etch-a-Sketch and your endless curiosity. We’ll feed you lunch plus coffee and snack breaks in the mid-morning and afternoon, and if you’re staying with us at the Embassy Suites, your room rate also includes breakfast too.
The class price is $1,595, but the first 20 registrants get in for just $1,395, plus a special bonus – a personalized, signed copy of Pro SQL Server 2008 Internals and Troubleshooting from Brent.
First things first: don’t register for this until after January 31st, because otherwise, you’ll have to deal with a free Microsoft Surface RT, and you know how I feel about those.
Now, about the conference – this new conference covers SQL Server, Visual Studio, ASP.NET, HTML5, mobile, and Windows Azure. It’s great for developers because they need to work with (and sometimes manage!) SQL Server, but they don’t really want to go to a 100% SQL Server conference. This one show covers both development and databases. It’s at the MGM Grand in Las Vegas on April 8-12, 2013.
I’m especially excited because for the first time in history, the conference has track MCs. MCs, y’all, with real working microphones, and you’re looking at MC BrentO. I’ll be stationed in the HA/DR room throughout the conference, carrying a microphone around. I’ll facilitate Q&A for the speakers, plus take your questions and run small mini-sessions during breaks. Costumes? We can
neither confirm nor deny that there will be costumes.
But enough about fun – let’s talk about learning:
This Year’s SQL Server Setup Best Practices
All-Day Workshop with Brent Ozar, $449
You don’t build a lot of SQL Servers, but this year, you need to build one for your company – and it’d better work. You need it to be reliable and fast the very first time. Unfortunately, everything keeps changing, and yesterday’s best practices don’t cover solid state drives, FusionIO, AlwaysOn Availability Groups, and clusters without shared storage. In this all-day session, Microsoft Certified Master Brent Ozar will bring you up to speed. He’ll teach you how to pick storage, when it’s okay to use virtual servers, how to turn business requirements into clustering/mirroring/AlwaysOn/log-shipping, and where to put your data files, log files, and TempDB. This session is for developers and DBAs who need to pick SQL Server hardware and aren’t sure about the options today.
Scale Up or Scale Out: When NOLOCK Isn’t Enough
All-Day Workshop with Brent Ozar, Jeremiah Peschka, and Kendra Little, $449
Partitioning, replication, caching, sharding, AlwaysOn Availability Groups, Enterprise Edition, bigger boxes, or good old NOLOCK? You need to handle more data and deliver faster queries, but the options are confusing. In this full-day workshop, Brent, Kendra, and Jeremiah will share the techniques they use to speed up SQL Server environments both by scaling up and scaling out. We’ll share what features might save you hundreds of development hours, what features have been a struggle to implement, and how you can tell the difference. This workshop is for developers and DBAs who need to plan long term changes to their environment.
BOTH WORKSHOPS, the Whole Conference,
AND A MICROSOFT SURFACE RT: $2,294
If you register by January 31st, you can get BOTH our Monday pre-conference workshop and our Friday post-conference workshop, plus get three days of great sessions in between. You can pay with credit card, company purchase order, or check. Register now.
But then you’ll have to deal with a Surface RT. Maybe you should wait until February 1st, just to be safe.
Holy cow, have we got a lot of upcoming free training – both in person and online. Check these out:
November 15 – SQL Server Memory & Virtualization
Brent Ozar with Quest Software
In this session, leading SQL Server gurus Brent Ozar and Jason Hall will explore why memory is more complex in a virtual environment than a physical one. Then they’ll discuss the questions you should ask to ensure you’re efficiently allocating memory in your environment. Brent and Jason will also show you how to:
- Determine when you have enough memory
- Change memory on the fly when it turns out you don’t have enough
- Use special Windows memory
- And much more
November 20 – “Don’t Touch That Button!” Four Dangerous Settings in SQL Server
Kendra Little, Tech Triage Tuesdays
Every software product has its gotchas. SQL Server has some settings which sound like a great idea but can cause major problems for performance and availability when used improperly. In this free 30 minute webcast, Microsoft Certified Master Kendra Little will give you a tour of SQL Server’s most dangerous settings, from priority boost to lightweight pooling. She’ll explain why you need to be cautious and how you can check if your SQL Servers are configured safely. Register now.
November 27 – SQL Server Management Studio: More Than Meets The Eye
Jes Schultz Borland, Tech Triage Tuesdays
SSMS is the standard tool for working with SQL Server databases. It does the job well. But if you’re using the default settings, you’re missing out! You can enable word wrap and number the lines. Change the settings when you script objects out. Filter through objects. Let Jes guide you through the world of hidden SSMS settings! Register now.
December 13 – SQL Server CPU & Virtualization
Brent Ozar with Quest Software
In this session, leading SQL Server gurus Brent Ozar and Jason Hall will help you figure out how much CPU each of your VMs needs. They’ll also show you to implement effective capacity planning. Plus, they’ll present tricks and tips for working with highly transactional systems, BI systems, and parallelism. Don’t miss this chance to learn techniques for achieving optimal performance on virtualized SQL Servers from two of the world’s top experts. Register now.