Haven't upgraded late? Well, SQL Server 2014 is a great place to start!
Perhaps this is your first time reading my column on DBTA.com or you don’t know much about SQL Server. If either of those are true, then it might be a surprise to you that Microsoft has accelerated the release cadence for SQL Server to around one new release every 18 to 24 months. Add in the fact that Microsoft goes to market with their beta releases, better known as Community Technology Preview (CTPs), several months before the official release of the product. That means we could be in for a rush of new features and upgrades every year or so. Wow.
Read the rest of my article at http://www.dbta.com/Columns/SQL-Server-Drill-Down/Whats-Coming-in-SQL-Server-2014-91858.aspx
P.S. Let’s connect on
social media! I’m active on: Twitter | Facebook | YouTube | LinkedIn
| Blog | SlideShare.
This month's edition of T-SQL Tuesday is being hosted by Tracy McKibben (T|B). I was challenged by Aaron Bertrand (T|B) to participate in this T-SQL Tuesday. I instantly knew what and who I wanted to write about, but my schedule being what it is prevented me from writing the blog entry until straight up at midnight. (Originally published at http://wp.me/p3rOiF-1CY).
Since this installment of T-SQL Tuesday happens to fall on Ada Lovelace Day, Tracy tells us that our mission – should we choose to accept it – is as follows:
Ada Lovelace has been an inspiration to many. In keeping with my blog theme, let’s call her a hero. We all have our heroes, those people who we admire, who inspire us, who we strive to be like. Who is your hero?
When I think about the contribution to the modern world given us by Ada Lovelace, I see the sort of hero which I love the best. Y'see, I'm most inspired not by the blood-n-guts heroics of an action film hero or the testosterone-laden conquests of a sports hero. I'm most inspired by the quiet hero who makes the world significantly better without the least bit of concern for praise or glory or fortune. I get dewy eyed from those quiet Medal of Honor heroes who say, even as the President himself pins a medal to their chest, "I was just doing what is right, sir. And that is reward enough". That is what inspires me. That is what I want to emulate.
But I didn't always know that.
I was 19 years old in 1987, when I happened upon a film playing on PBS. Back in those days, kids, you pretty much had to watch what was playing on the dozen channels or so that were available. Take it or leave it. I took it. Now for some context, I was penniless and from a family that was also very short on pennies at that time. I'd earned a few scholarships to my local university covering much of my tuition and although I wasn't flunking out, I wasn't quite thriving either. It was a struggle. I worked three jobs simultaneously, each one a part-time affair, that gave me just enough in aggregate to squeak by and keep my rusting, derelict car on the road - barely - and gas in the tank. I was short on more than just simple dollars. I was struggling with hope itself. It is fricken hard to be poor, the kind of poor where you skip meals because you simply have no money to buy food kind of poor. (Keep in mind that a single hamburger was less than $0.50 at the time). It's demeaning. It's depressing. And it's a dozen times worse, emotionally speaking, when you live in the midst of affluence and wealth. So my 19-year old self dealing was with all of these difficult emotions swirling around in my head, wrestling with the very concept of what it means to be a MAN in Cold Ware era USA, when this quiet animated feature begins to play.
[Sidebar: I'd missed the very beginning of the film, so I didn't know that it was that year's winner of the Acadamy Award for Best Animated Short Film or that it'd also won the Short Film Palme d'Or. I didn't know those things, in fact, until just now when I finally dredged up the video on YouTube. I found this video within 3 minutes of my first Google search. 3 minutes! On a video I hadn't seen in almost 30 years. Good grief, people! We live in an era in which we no longer have to wonder the answer to ANY question and yet we spend all our time looking at funny cat pictures? WTH?!?]
The film was called The Man Who Planted Trees, and you can see it at the embedded link below. I ask you to watch it. It's almost 30-minutes on the dot. That's a big investment of your time. I know you have a thousand other things begging your time, but maybe you could carve out a few for this small thing? Pretty please?
I think the most important lesson I learned from The Man Who Planted Trees is that to make something really, truly good and strongly enduring takes a lot of time, perhaps decades, and hard effort. A corollary of that lesson is that even small changes today, like compound interest, can deliver amazing payoffs in the future to everyone's benefit. That's the hero I wanted to be like when I grew up. And I had it on my mind, years later, when I was asked to take a seat as a founding board member of SQLPASS in 1999.
There are many so real-life heroes who, when you consider it, could've deviated from the same path walked by the Man who planted trees. What if Alexander Fleming had patented penicillin so that he could "maximize his investment" and "restrict competition"? What if Marie Curie had hidden all of her radium studies behind trademark and trade secrets barriers? What if Jonas Salk had said to himself "I can make a lot of money off of this smallpox vaccine!" And Ada Lovelace herself, she established the early dictums of computer programming simply because she thoroughly enjoyed the intellectual exercise offered by Babbage's difference engine. I shudder to think what our world would be like today without heroes like Ada.
-Follow me on Twitter!
One of my favorite events is just around the corner! It's just a few days until SQL Saturday Dublin, Ireland’s largest SQL Server conference on the 19th/20th September, run as a community event by the SQL Ireland User Group.
Have You Seen the Schedule?
The schedule is complete with an amazing line up of speakers from around the world and you can download a copy HERE. Closer to the event we will be launching a mobile guidebook so you can plan your schedule on a mobile device. I'll be doing my very popular session Convince Me - Persuasion Techniques for IT Pros that Get Things Done.
Step Up to the Challenge as a Speaker!
If you want to present a five minute lightning talk then email sqlSat310@sqlsaturday.com with your title, or just turn up at the day and register at the registration desk. Free event T-Shirt and prizes awarded for best new speaker, most entertaining and a special "call my SQL bluff category".
Can't Attend the Event?
We are nearing capacity for the Saturday event so if you registered but are now certain that you can't make it, please free up your place for someone else to register on the link below
Post Event Raffle, Fun, Food and Social
SQLSatDublin equals FUN and LEARNING. One major bit of fun planned for the event is the 2:00 PM expert panel discussion. Think of it as an opportunity to ask questions of the panel of experts in interactive, lighthearted, and ad-hoc style. Come join in the fun! (Not that the subtitles are NOT my own).
SQLSatDublin has a great track record for the after event-party and this year is no exception! The event finishes at 17:30 with a raffle of prizes to event attendees, some excellent food and a party into the evening. We have some very exciting entertainment planned so please do stay for the food and party if you can make it and tell us if you can make the social event by clicking the link HERE. Last year prizes includes Microsoft Surfaces, Digital Cameras, iPads, free licenses to software suites, vouchers and books. Visit the sponsors at the event for details of this years prizes.
Have you booked your Pre-con Seminar for Friday 19th Sept ?
Don't forget to book a whole day deep dive on Friday if you can make it. We have SIX whole day workshops to choose from with some of the best Industry experts available. Available at 299 euro for a few more days. All proceeds go towards the SQL Saturday event. Of course, I'd prefer for you to come to my workshop, but frankly I'd really like to attend all of the other workshops myself! Get more details by clicking the link(s) below:
Microsoft Azure Bootcamp - Conor Cunningham and Ewan Fairweather
Real World Database Configuration and Tuning for SQL 2012 - Kevin Kline <<== ME!
SQL Server for Developers - Mladen Prajdic
Storage and Virtualisation for the DBA - Denny Cherry
Building the Modern Data Warehouse Architecture - Karen Lopez
Thanks very much! Enjoy,
-Kevin-More content, slides, and information at KevinEKline.com
-Follow me on Twitter!
I always enjoy presenting at the DevLink conference, presented each summer in middle Tennessee. This year, I'm trying to be a better social media person and actually post my slides (in their most recent forms) on my SlideShare account for everyone to see and share. If you attended my session(s) and enjoyed them, feel free to download the content here. But it'd be even better if you also left a few words in the Comment section. Skip below to grab the slide decks.
Thanks very much! Enjoy,
-Follow me on Twitter!
-More content at KevinEKline.com
Microsoft SQL Server Internals & Architecture
Let’s face it. You can effectively do many IT jobs related to Microsoft SQL Server without knowing the internals of how SQL Server works. Many great developers, DBAs, and designers get their day-to-day work completed on time and with reasonable quality while never really knowing what’s happening behind the scenes. But if you want to take your skills to the next level, it’s critical to know SQL Server’s internal processes and architecture. This session will answer questions like:
- What are the various areas of memory inside of SQL Server?
- How are queries handled behind the scenes?
- What does SQL Server do with procedural code, like functions, procedures, and triggers?
- What happens during checkpoints? Lazywrites?
- How are IOs handled with regards to transaction logs and database?
- What happens when transaction logs and databases grow or shrinks?
This fast paced session will take you through many aspects of the internal operations of SQL Server and, for those topics we don’t cover, will point you to resources where you can get more information.
Convince Me - Persuasion Techniques that Get Things Done for IT Pros
Ever wanted to convince the boss try something new, but didn't know where to start? Ever tried to lead your peers only to fail to achieve your goals? This session teaches you the eight techniques of influencing IT professionals, so that you can innovate and achieve change in your organization.
1. Learn about the fundamental difference between influence and authority and how you can achieve a high degree of influence without explicit authority.
2. Learn the eight techniques of influencing IT professionals, when to apply them, and how to best use them.
3. Discover the communication and procedural techniques that ensure your ideas get a hearing by bosses and peers, and how to best win support for them.
Ten Query Tuning Techniques Every SQL Developer Should Know
SELECT statements have a reputation for being very easy to write, but hard to write very well. This session will take you through ten of the most problematic patterns and anti-patterns when writing queries and how to deal with them all. Loaded with live demonstrations and useful techniques, this session will teach you how to take your Microsoft SQL Server queries mundane to masterful.
Top 10 DBA Mistakes on Microsoft SQL Server
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.
I just got finished reading a great blog post from my buddy, Thomas LaRock (t | b), in which he describes a useful personal policy he used to track changes made to his SQL Servers when installing third-party products. Note that I'm talking about line-of-business applications here - your inventory management systems and help desk ticketing apps. I'm not talking about monitoring and tuning applications since they, by their very nature, need a different sort of access to your back-end server resources. (Full disclosure: both Tom and I currently work for different tools vendors. But we're both wearing our former enterprise DBA hats for this discussion).
You can read Tom's blog post, as well as download the T-SQL script which checks for the most common vendor red flags, HERE. I strongly recommend that you read this post and utilize his script, or some similar technology such as Policy-Based Management, to accomplish the same ends. I penciled in a quick comment on Tom's post. But as my comment began to lengthen, I realized it might make a nice supplement to his insights as a blog post of my own.
So here's my addition to Tom's post:
Third-Party Applications Also Raise a Red Flag for Things They DO NOT CHANGE in Your SQL Server, BUT SHOULD.
One area where I frequently regretted the need for vendor apps, when I worked as an enterprise DBA, was in security. Nothing sends quite as strong a message of "We don't really care enough to work hard on this application" like an app which uses only the SA account for user access.
This practice of using SA for a line-of-business application is so bad on so many levels. My experiences showed that most apps that used only SA to access the database had many other problems. First of all, you could be certain that security was the least of their concerns and that there'd be other flagrant breaches of database security best practices. But often, upon deeper inspection, I would discover that use of SA as the only account for an application has the harbinger of database design issues, lurking performance problems, and lousy code. That one red flag foretold of very bad things to come with that vendor's product.
Now in case you were hiding in a cave and/or refused to ever read the news, I want to remind you that SQL injection hacker attacks are one of the most damaging of all hacks on the Internet. And much of the time, those SQL injection attack happen because of sloppy coding practices such as using SA for standard transaction processing. Surely you mean "sloppy security practices", Kevin? Nope. I mean CODING. The main reason these applications rely on SA is because the development team did not want to code a more robust authorization system. "Hey, let's give it ALL to the end-user. They know what they're doing, right?" Well, sometimes. But you can't count on that assumption. And you can also assume that bad people who are not users will want to break in to the application. Again, there's that word 'harbinger' again. It just sounds so fricken ominous, doesn't it? But I digress...
The next time you are face with the buy versus build decision and the executives choose to buy, make sure that the application DOES NOT USE SA for standard transactional data processing. For example, if your company installs a new help desk ticketing application, make sure the application comes with at least a distinct account for data readers, a data writer, and for super-users, FOR THAT ONE DATABASE.
If you don't know whether an application and its backend database use SA or not, be sure to check. (Tom's script helps you do that). And if you're able to influence future buy vs build decisions, be sure to make this a sticking point. Nothing helps an application vendor clean up their act, technologically speaking, like telling them WHY they are losing your business. You'll make the world a better place.
So what do you think? Are there other things about installing a vendor database that raise a red flag when they do not change? What are they? I'd love to hear your comments.
-Follow me on Twitter!
-More content at KevinEKline.com
Join Me at SQLSaturday #288 in Beautiful Ft. Lauderdale, FL
SQLSaturday is a training event for SQL Server professionals and those wanting to learn about SQL Server. This event will be held Jun 14 2014 at 3301 College Avenue, Davie, FL 33314. Admittance to this event is free, all costs are covered by donations and sponsorships. Please register soon as seating is limited, and let friends and colleagues know about the event.
Where Is It?
This event will be held on Jun 14, 2014 at Nova Southeastern University 3301 College Ave, Davie, FL 33314. You need to go to the Carl DeSantis building. Please note that the entrance to the building is located about 400 yards to the east of University Drive, on College Avenue. Click here for more information and see the map: Location
At What Time Does It Start?
The event will start at 8:30am sharp with a Keynote and WIT panel (auditorium), doors open at 7:30am. Please come early to get a free breakfast and your bag. A limited number of bags will be available.
Get In On My Pre-Con While There are Still Seats!
Title: 50 Things All SQL Server Developers Need to Know
The early bird discount of $99 closed on May 15th. The class fee is now $125 for all registrations made thereafter, so be sure to reserve your spot. Class size is limited and registration will be based on a first come first served basis. Read the registration page for more details about the class. But here's a quick overview:
In this session, you’ll learn:
1. Internal operations of the SQL Server query optimizer and caching mechanisms and their impact on T-SQL code performance, including ways to shortcut default behavior using trace flags.
2. Tricks, techniques, and metadata analysis needed to make T-SQL code, including queries and stored procedures, achieve top performance and maximum reliability.
3. A variety of patterns and anti-patterns in T-SQL coding that are common challenges for all but the most advanced database developers.
With these 50 tricks and techniques in your coding toolkit, you’ll be able to write T-SQL code that consumes less system CPU, memory, and IO, while being easier to maintain and offering faster performance.
I hope to see you there!
-Follow me on Twitter!
I was recently chatting with the current President of PASS, Thomas LaRock (Twitter | Blog), and Pieter Vanhove (Twitter | Blog), a prominent SQL Server consultant and expert in Belgium, about how I go about building and presenting a full-day technical seminar. In the SQL Server world, we tend to call these "pre-cons", as in pre-conference seminar, because they're typically offered as paid add-ons occurring prior to a full technical conference. We call them that even when they come at the end of the conference and, heck, when there's no conference at all.
Kevin and Kendal Van Dyke preparing to kick off a session at the PASS Summit 2013
Personally, I have developed and delivered six different pre-cons over the years. Four are purely technical and two are professional development oriented. I keep them up to date and deliver around six per year these days, though I've done as many as ten in a single year. (But that was because I had a daughter's wedding to pay for. Shameless plug - HIRE ME to deliver one of these in house.)
The Foundation of a Good Pre-Con Seminar is a Good Topic
There are a ton of perennially favorite topics which, once you write the session, you’ll be able to present over and over again. One interesting technique to choose a good topic, if you're not sure what you want to present, is to use Google Insight to see what are the most popular variations of a topic you feel strongly about. Here are some additional thoughts on choosing a topic:
1. The most popular topics are always focused on ‘help me do my current work better/faster/stronger’. Broad, but fundamental topics tend to draw bigger audiences than niche topics. However, some events have a large enough attendance that even niche topics will pack a room. And always remember that your event organizer's goal is to pack the room, no matter how much they like you.
a. The biggest winners in my market are server troubleshooting & performance tuning (for DBAs) and various topics on better SQL coding (for devs). That’s why a session on performance tuning or coding best practices will bring in more attendees than, say, a session on features in the newest release or professional development. That’s sad for me, since I love leadership and career training and have a really good full day pre-con on the topic, but they never bring in more than 1/3 of what the biggest tech session brings in. And don't forget - people love to hear about mistakes to avoid just as much as how to do things better. So "gotcha" topics can bring in just as many attendees as a best practices session.
b. Sessions that drill into a hot and hyped new technology tend to do really well too. So something like ‘Implementing Big Data with SQL Server’ can bring in a big crowd. But technologies that are too broad and ill-defined have the opposite effect on attendance. For example, many people still don't "get" Azure or cloud computing in general. So, while it's definitely a worthwhile topic, don't be disappointed if you don't put a butt in every seat.
c. Some pre-cons are feature-oriented, like Replication or Disaster Recovery. Many of these features are very cool, but are only available in SQL Server Enterprise Edition. For example, some of the Always On Availability Group features are EE only. Less people have Enterprise Edition than Standard Edition, so less people will come to an Enterprise Edition-oriented session. The features you plan to discuss will directly correlate to your attendance numbers. I'm telling you to avoid these topics, rather just expect it to have an impact in the size of your audience.
2. You will absolutely spend way too much time researching and developing your slide deck. So it’s also always good to choose a topic you want to learn more about. This’ll not only improve the attendees skills, but yours as well. Want to learn more about Hekaton? Then include it in your pre-con. Want to learn more about SQL Server query tuning? Write and deliver a session on it. You'll learn it better than you ever would, independently, because you know you'll get tough questions and you want to be prepared for those.
You Can Attract and 'Manage' Your Audience Through Your Abstract
This is the second most important step. You can’t control what your audience is like once they get into the room. But you can strongly influence who decides to come into the room in the first place with your session title and abstract.
Personally, I believe your title should immediately inform the reader of the topic and who is intended to reach, such as "Cutting Edge Debugging Techniques for the .NET Developer" or "Top 10 Mistakes New Tech Managers Make". The title is alone constitutes 60-75% (by my careful, non-scientific assessment) of what will drive an attendee to your session. In fact, many attendees never even read the session abstract, unless there are two sessions at the same time that seem equally worth attending. In that case, the abstract is often the tie-breaker.
Be sure that your abstract explains not only what the session is about, but what the topic is and why people should care about it. I can't tell you how many times I've seen a session abstract that names a specific, niche feature in the title but doesn't tell what that feature is in the abstract. I once saw a session whose title was, and I paraphrase, "Introduction to the Flux Capacitor". The abstract said I'd learn three cool was to use the flux capacitor and would see live demos of the flux capacitor in action. But it didn't say what tool the flux capacitor was used in (.NET? BI? Java? SQL Server? SharePoint?), who would use it, what it did, or why it matter. And I always like to include at least three high-level topics the attendee will leave having learned.
Having said all of that, I feel like there's no better write-up of how to write a top quality session abstracts that in the blog post by Adam Machanic (b | t) entitled "Capturing Attention: Writing Great Session Descriptions". This is such a good overview of doing abstract writing the right way that I wish technical conferences would make this required reading for their speaker submissions. (Are you listening SQL Saturday?)
Planning and Building Your Presentation
A lot of accomplished speakers who've done one-hour sessions become both excited and terrified about doing a full 7- to 8-hour session. And one of the first fears that people share with me is that they won't have enough to say or that they'll be able to fill the time. Believe me - this will not be your problem. In fact, if you properly research your presentation and read what other writers and bloggers have to say, you will have difficulty fitting everything you want to talk about within your allotted time.
Here are some planning tips I use for planning and building my sessions:
1. I estimate that I’ll speak 3 minutes per slide. Then I do the math for how many slides I can fit into the amount time I have in the given session slot. For example, a 75 minute session should not have more than 20’ish slides, taking into account some time for the introductory and closing slides, questions, and demos.
2. Attendees are idiots AND geniuses simultaneously. One surprising thing I’ve learned after averaging about 6 pre-cons per year for the last few years is that no one reads the session-level advice (i.e. whether it’s a 200, 300, or 400 level session). They always read the titles, and possibly skim the abstract, and then make their decision based on that.
a. Here’s an important part tip for your presentation: you will definitely have plenty, maybe even a surprising number, of attendees who don’t know the basics of your topic. For example, in a recent pre-con called "50 Things Every SQL Developer Should Know" that my buddy, Aaron Bertrand (b | t) and I presented at SQL Intersection, I now include a whole section discussing how the plan cache works and how to read execution plans. I clearly told attendees that they needed to know those things as prerequisites, but I’d say about 40-50% of the attendees in fact did not know the fundamentals.
b. At the same time: You will have attendees who are quite advanced. I try to identify those kinds of attendees early on (often by explicitly asking who has a lot of experience), then I try to include them as allies in the presentation. I ask their feedback a lot and give them a lot of eye contact. If there’s a question that seems tough, I might turn towards them and say “Have you ever seen that in your shop? How did you deal with it?” Usually, if they’re experienced and knowledgeable, then they love to share. It’s often as enjoyable for them to be recognized as smart as it would be to learn some big, new skill or technique. That helps keeps both ends of the talent spectrum equally happy.
3. Demos are the most stressful part of even one-hour sessions. It’s an order of magnitude worse in a day-long session. In my case, I strive for a high degree of deliberately assessed order and standardization:
a. Never install new software or change your configuration within 48 hours of your presentation. If some enterprise policy forces a change, assume the worst and retest all of your demos.
b. Include in the PPT notes panel the exact path and filename for a demo file that a particular slide relates to. It's not as important if you recently wrote the slide deck. But it becomes very important if you wrote the session a while ago and no longer know all of the facts cold about your demos. For that matter, I’m now putting a number prefix on all of my SQL scripts so I can see which to load into SSMS in what order. Also, SSMS orders open tabs automatically. So numbering them works much better than giving only an alphabetic name.
c. If you’re running short on time, explain the concepts and tell where attendees can find the demo scripts, but skip the demos themselves.
d. One thing I’ve started to do, especially for really complex or annoying demos (e.g. a demo involving multiple servers such as a big Availability Group), is to either screenshot the whole demo process or make a video of the demo using Camtasia. Then I show the slides or the video instead of the real work environment. That way I can illustrate the principles involved without ever risking something going wrong. Attendees don’t seem to mind at all.
e. This is so axiomatic that I shouldn't have to mention it, but just in case, create your demos in such a way that they require very little new typing. If you have to do more than change a parameter or two, then you need to work on your demos a bit more.
4. For goodness' sake, get to the room as early as is practical and get comfortable with the learning environment. Expect problems with setup. Many laptops have issues with certain types of projects and require a lot of tinkering to get working properly. And carry spare equipment for crazy and unexpected issues. Batteries for your wireless mouse is practical, of course, but other mind-boggling things can happen. For example, I've spoken at many facilities which did not have an electrical outlet anywhere near the podium. My lesson learned? I always carry a 3m extension chord.
Making the Session Memorable
There are several small tips and tricks you can use to make sure your session is memorable and well-regarded. (And when you have well-regarded sessions, you get invited to do more session. It's a positive feedback loop, engineers!) Here are some of my favorite techniques:
1. Work with a co-presenter. Personally, I love working with co-presenters. This might not be your cup of tea, since you have to split revenue, and I can respect that. But hear me out. On the one hand, the shared workload for both writing and presenting the pre-con is much easier. And don't forget that most of us aren't used to standing or speaking for 8-hrs straight. So being able to tag-team with another presenter off and on through the day can be like mana from heaven at times when you're flagging. On the other hand, audiences find dialogue much more entertaining than monologue. Have you ever noticed that the morning radio show on your drive to work is no longer a single, lonely DJ? There is almost always at least two and sometimes as many as a half-dozen people on the "!!WKRP Morning Team!! Caffeinate your day!!" show, and sometimes even skits and almost-comedy bits. People just enjoy that format more and it translates into measurably ratings for the radio stations. It will for you too.
2. Quiz the attendees as you go along. You want people to remember your session and, even better, recommend it to others. One trick that I learned when I was trying to master recall of names is to repeat a person's name back a time or two before the introduction concludes. You can use this tip, as a presenter, to help your attendees remember aspects of your session. After you've advanced the slide, find a reason to ask a question relevant to an earlier slide. In some cases, I've started to substitute old fashioned slide notes pages (i.e. a list of standard bullet points) for a quiz sheet, which is essential the same list of bullet points with a single key word as a fill-in-the-blank. The attendees will really get into making sure those blanks are filled it. If you miss one, they'll make you go back and tell them what goes in the blank. (Hooray! They were paying attention!) Make it fun. Tease them jokingly if they forgot something you just talked about. But keep the attendees engaged and mindful of the major lessons.
3. Provide useful takeaways. Attendees love to be able to reference a list of takeaways. Just think about all the great sessions you have ever been to before. They usually have some level of detail for you to consume easily and walk away with or reference later. They have clean demo scripts with lots of comments that would stand on their own without slides or someone speaking. They offer the attendee the ability to be immersed in the "here and now" and the ability to come back for a summary to jog their memory. In my case, I actually have a password protected area of my website where attendees can download the slide decks and demo scripts to all of my pre-cons. My theory being that the attendee has paid for this training, so I want to provide an incentive for them to view me as one of the Go-To references going forward, to encourage them to attend other pre-cons of mine, and to nudge them to promote me to others.
Well, that’s my BULK INSERT for pulling off a successful and repeatable pre-con. Have you done a full day training session yourself? What sort of techniques have you learned to make your session more effective and memorable? Share your thoughts and questions here.
-Follow me on Twitter!
I don’t know if you’re planning to attend the PASS Business Analytics Conference. But you'll be missing a ton of great content especially for data, analytics, and business intelligence professionals. There's still plenty of time to register and, if you use my discount code – BABS2B – you'll get $150 off the conference registration fee. There will be more than 60 sessions at the event by BA/BI experts from Intuit, Microsoft, SurveyMonkey, Wells Fargo, and more.
Last year’s inaugural event was quite the shindig, bringing in around 900 business analysts, data scientists, architects, and BI and IT professionals to connect, share, and learn how to get the most out of their data. This year’s conference promises even more real-world insights and best practices, how-to guidance, and strategic vision from some of the most knowledgeable and top-rated speakers in the industry.
Still don't know what kind of content I'm talking about. Then check out the recorded content, which is more or less a preview of the full PASS BAC from the February 5th webinar phenom known as the 24 Hours of PASS: Business Analytics Edition.
BEWARE: Not All Sessions Are Easy To Find
Those 60+ session abstracts of the PASS BAC I mentioned earlier are all on-line. That way you can easily plan in advance which sessions will be most useful to you. However, not all sessions are listed there. How so? Well, it turns out the sessions sponsored by vendors don't show up on the regular session lists. You have to jump to the PASS BAC Sponsors page and drill down on the upper-right side of the page from there to get the details.
I want to draw special attention to our Friday morning breakfast panel session, which is always very popular with attendees. (Srsly - I have plenty of people tell me that our panel discussions are one of, if not the most favorite and practical of the event). Here's what we're doing this year:
Title: Lessons Learned in Self-Service BI; Friday, May 9, 6:45am - 7:45am, Room 230A
Abstract: For years, when it comes to self-service BI the automatic assumption was the Microsoft Excel was the tool of first and last resort. Now, after many years of enriching the features of the data stack, Microsoft offers many different ways and tools to perform business analytics. Some approaches require heavy involvement from DBAs, SharePoint administrators, and other data and business specialists. Other approaches enable end-users to process their own analytics much more quickly and with less interaction from the IT organization. Which is most effective? Which is the easiest to rollout and maintain? There are pros and cons to each possible approach, as well as hidden and repeating patterns, that are hard to foresee unless you’ve actually been through multiple implementations.
Panel: SQL Sentry’s panel of renowned data analytics and business intelligence experts will discuss a variety of real-world obstacles and accelerators to a strong self-service implementation of business intelligence and analytics that is both useful, effective, maintainable, and inexpensive. This year's panel includes: Chris Webb (b | t ), Jen Stirrup (b | t ), Paul Turley (b), and Stacia Misner ( b |t ).
Come Join Us!
You can see the registration page at https://sqlsentrypassbaconference.eventbrite.com or by clicking on the image below. Two quick reminders. One, I know it's ridiculously early. But the content is always great and you get a high-quality hot breakfast. Two, I strongly encourage you to register since seating is limited and it always fills up.
Have any questions of your own, then feel free to plug them in here. I've got plenty of questions queued up already. But I'm always open to more. I hope to see you there!
-Follow me on Twitter!
The first big mistake I made as a DBA was coming to work with my zipper wide open. But I digress.
Hear one of my most popular session via streaming media at SQLSentry.TV!
Microsoft SQL Server is easier to administrate than any other 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. And since SQL Server is constantly growing from small, home-grown applications, many IT professionals end up encountering issues that others had 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?
This session will answer questions like:
- What’s the most common hardware-related mistake that DBAs make and why?
- How does Microsoft's own marketing buzz lull DBAs into complacency?
- Why do inexperienced database administrators make their own job more difficult and less efficient?
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 database 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.
Prizes for Sharing!
Share your stories with me in the comments of the Top 10 DBA Mistakes on SQL Server video webpage and I'll enter you in a drawing! I want to hear your stories of tragic DBA mistakes and blunders. Extra points for funny, absurd, or just plain incomprehensible mistakes. Extra points for mistakes that epitomize a pattern or a frequently encountered sort of mistake. After all, we're not just trying to get a chuckle from other people's problems, we're trying to learn from them so we don't repeat those mistakes.
The winner(s) will receive either a signed copy of SQL in a Nutshell (my most popular book), Microsoft SQL Server 2012 Management and Administration (my newest title, as co-author with Ross Mistry), or a license for SQL Sentry's uber-popular query tuning tool, Plan Explorer PRO (a $295 value).
-Follow me on Twitter!
Originally appearing at KevinEKline.com at http://wp.me/p3rOiF-1ww.
It was a dark and stormy night as the secret conclave assembled upon the wind-blasted prairie lands of anonymous South Dakota. It could have been anywhere in North America, so non-descript and featureless was the place. Lightning flecked the darkened sky as they came, in ones and twos, wearing their long, charcoal colored robes, cowls covering their faces. Each one bearing in their left hand, the hand-calligraphed vellum scroll describing the exact details and protocols of the secret gathering.
Reaching the place, they stood, silently and watchfully, all eyes upon the sole figure to wear any ornamentation, standing atop and in the center of a large metallic platform raise about a foot above the prairie grass. It was a long-abandoned ICBM launch tube. At the pre-appointed time, this tall and solitary figure, different from the others only because of his bright crimson sash, thrust a clenched fist skyward exposing a lithe, hirsute arm. Lightning burst across the sky. Some of the figures twitched and glanced about nervously, but all maintained their silence.
Setting his scroll before him, the figure then brought his hands to his cowl, throwing it back. And in another quick gesture, dropped the robe to the ground. Finally, he held his two hands together before his chest, locking them, and then slowly rotating for all the attendees to see that they were to join hands. They mimicked him in unison, dropping their robes and locking hands in a giant ring, one-hundred and one persons in total, ringing the platform. The assembled figures now looked much more common, in their street clothes and, now that they were able to see one another, were clearly relieved by sighting a variety of familiar faces, somewhat like this:
"You, the SQL Server Illuminati, are now assembled and convened! We are gathered together by our mutual lover for SQL Server and overall distrust of Oracle, MS Access, and Mimes!"
"Never trust a mime," they said in unison.
"I will now bestow your SECRET Illuminati names," said the speaker. "If you ever broach the sacred trust of the Illuminati, or should I say 'Illumin-NAUGHTY', " there were chuckles all around, "you will be forever forced to buy us drinks and may, upon our discretion, be roasted alive with a side of Mimes."
"Never trust a mime," they said in unison.
"I will now bestow the sacred and super secret names!" said the spokesperson. Stepping to the first person in the circle, he began "Raise your right hand and repeat your new SUPER SECRET name. I now dub thee:"
- Frances Fritzfancy Down-Underwear
- Daniel Dinsmore Tackadoo
- No-shoulders Sabrina
- DBA Zero, the Disease Starter
- Sistery Brothery Bob
- Nathaniel the Spaniel
- Floyd, the Austrian Tree Surgeon
- Ivan Drago-my-eggo
- Ford Prefect Danglebritches
- Wicked Fausto Fourteen-toes
- Name Withheld
- The Tarnosed Tarheel
- McWilliams Fancypants the Clairvoyant
- Checkpoint Charlie Chesthair
- Senator Cletus Scroffpossoum
- Balloonpopper Chillingsworth
- Flemish Finn, the Ambiguous European
- Jokestealer McGee
- Canadian Football Steve, "CFL"
- Beef-or-Chicken Tim Nubbins
- Oscar Ox-hands Operand
- Lil Gina Songbird, the Songbird Eater
- Hannibal Lecturer
- Stungun "Don't tase me bro" Edwards
- Chrystler Lebaron
- General Zod, the Deadlock Resolver
- Marx the Pumpkin-Patch Crooner
- Spasmodic Hilary, Subscriber
- Cthulhu Squidbeard, Publisher
- Stick-Legs McMutton, Distributor
- Prostate Dave, the Service Broker
- Miles Butterball, the Turkey Defroster
- Peter Parker, the Car Valet
- Crustytrousers the Stiff
- Lintstockings, the DBA Benjamin Disraeli
- DB Bedazzler
- Del Folksybeard
- No-banjo Burnes
- Cincinnati O'Gurk of Germany
- Phoenix O'Sullivan of Sweden
- Dallas O'Mally of Netherlands
- Doc Aquatic
- Louis "Mr Plausible" Ladyfingers
- Beatrice Benchmark Bewigged
- Change Data Capture Chalmers, Esq.
- Baron Von Snapshot
- Ghost Nose Cleanup
- Rollback Schmoleback
- Ambidextrous Stan
- Sherlock-Holmes-Hat Niall
- Thundertwine Workerthreads
- Pseudotable Abe the Deleted
- Fu Manchu Temptoodles
- Hard-flossing Ulysses
- Canadian Paul Pants-Too-High
- Deny Grant Revoke, the Complete Sentence DBA
- Commodore Sixty-Four, Born in 1964
- Mr Manx MacGruber, the Tailless Tool Guy
- Tommy "Lice-comb" Latches
- Nick Nolte
- Mad Microfiche Mladin
- Dora the Plan Explorer
- Honey Bunches of Amit
- Hugo Crispy Stillwagon, the Man with Handlebar Eyebrows
- Genius L. Cravat, the Gentleman DBA
- The Moor of Venice or, at least, Italy
- Sausage Patty McSavepoint
- Gil Sharpnails, the Back-Scratching Developer
- Craine "Too-Tall" Eyebrow-Smeller
- SOX Monster
- Magnus Shareware Shortwave
- Longtime Listener, First-Time Caller
- Colonel Kurtz Commit
- Winston Winnipeg WHERE Clause
- Sackfist, the Frenchhorn Fanatic
- Tinfoil Hat Tony
- Sir Francis Drank Drink Drunk
- Three-Bean Ortez, ORDER BY viscousity
- Muttonchops the Bionic
- Shirtstains the Myopic
- Mariah Duckface, the Selfie Queen
- Saves-Receipt Randy
- NULL, the Riddle-Maker
- Plegmatic Felix Fulltext
- If-This Then-That Alex
- ALTER TABLE Tabitha
- Forktongue Gavin Forks
- Overly Familiar Joseph
- Pring, Overlord of the DBA Jungle
- Pennywise, Bulk-Insert Foolish
- Astonishing Eyelashes Dana
- Zipcar Cloucester Cluck
- Strictly Local DB Henry
- Two-phase Commitment Shy Geoff
- Flaky-palms Antonio
- Semi-Join Sheryl
- Buffer Pool Shark McQueen
- Promiscuous Concurrency Peter
- Marky Mark and the Funky Socks
- Cheesehead Chuck, Owner the Most Productive Ear Canals in Canada
- Paul Randal
"Now, let the drinking begin!", said the spokesperson. A rousing hooray was raised, and so begin the first of the SUPER SECRET SQL SERVER ILLUMINATI meetings.
So, you might be asking, why would I share a SUPER SECRET story like this? And I have two reasons. First, I wasn't invited. And second, I was already buying a lot of the drinks anyway. So I figure, what's new?
Here's your challenge, can you match the SUPER SECRET name to the actual SQL Server MVP, author, blogger, or speaker KNOWING that the names are intended to obfuscate and mask the true owner?!?
Tell me your guess. I'll give you a prize if you win. And I promise to keep it a SUPER SECRET.
-Follow me on Twitter!
Me and Aaron Bertrand, SQL Sentry flagbearers.
One of the things we've been working on at SQL Sentry is building up institutional knowledge for the SQL Server community. There are three main ways that we're doing that on-line:
- Hard-core tech articles on SQLPerformance.com, edited by long-time SQL Server MVP Aaron Bertrand ( b | t ).
- Helping tune tough SQL Server transactions on Answers.SQLPerformance.com for free.
- Streaming videos at SQLSentry.TV.
In addition, our monthly eNews newsletter keeps you up to date on all the latest happenings on all of these websites. Please subscribe! I'll personally hug you if you do.
If you've never looked at any of these resources, a great starting place is our top 12 most popular blog posts of 2013 from the SQLPerformance.com website:
- I used to ask myself "Isn’t everyone bored with string splitting problems?". But this is such a perennial favorite, the answer is clearly "No. No, we’re not". Read more about splitting strings the right way – or the next best way here.
- Paul White ( b | t ) presents a definitive article on one of the most common SQL coding problems, parameter sniffing.
- CHECKDB is essential for good database maintenance, but it can also be a resource hog. Here are some ideas for lightening its load: Minimizing the impact of DBCC CHECKDB: DOs and DON'Ts.
- Jonathan Kehayias ( b | t ) steps out into licensing, the region labelled "Here be dragons" on the maps of most IT professionals, in this great article on performance problems appearing on SQL Server 2012 servers with CAL licensing.
- All processors are not equal in the eyes of SQL Server. Glenn Berry ( b | t ) tells you about the most important factors in choosing CPUs in these two articles.
- For SQL Server 2012, read here
- And for SQL Server 2014, read here
- Now here’s a perenial T-SQL problem that I’m glad to see summarized in one concise article, Best approaches for running totals.
- Erin Stellato ( b | t ) gives us a great review of the best practices around indexing foreign key constraints here.
- Generating number sets is a really valuable technique in many coding scenarios. Read about the most common scenarios here.
- Joe Sack ( b | t ) tells us all about troubleshooting CPU problems in this article.
- Ever wonder which is better – NOT IN, LEFT OUTER JOIN, NOT EXISTS, or EXCEPT? Find out in this excellent article by Aaron Bertrand.
- Paul Randal ( b | t ) helps dispel another commonly held myth about transaction log behavior here.
Have you learned anything new at SQLPerformance.com or gotten help at Answers.SQLPerformance.com? Please tell me if you have. It's always a big encouragement for me when I hear personal feedback that some of my hard work actually made a difference in your day.
-Follow me on Twitter!
Join me for a day of
Real World Database Configuration and Tuning for Microsoft SQL Server
Friday, March 14, 2014 from 8:30 AM to 4:00 PM (PDT)
Mountain View, CA
Click HERE to register Now! Seating is very limited!
This full-day training event combines a thorough overview of fundamental architectural concepts of the SQL Server relational engine followed by hands-on demos to reinforce each conceptual lesson. Since most technologists learn by doing, this training is designed to maximize the time attendees spend working with SQL Server. With ample demos, we’ll cover the spectrum of best practices as they relate to SQL Server configuration and performance tuning.
You will learn:
- The internals and architecture of SQL Server and how they interact during read and, separately, during write operations, including an overview of SQL Server caches, memory buffering and clean-up processes, and user activity handling.
- An introduction to bare-metal tuning of server hardware and storage configurations for database applications, including DASD, RAID, SSD, and SAN architectures.
- Important Windows and SQL Server configuration settings and trace flags, including special considerations for SQL Server running on VMs.
- Methods for benchmarking the performance of alternative configurations and settings.
- Designing databases for performance through indexing, statistics and cardinality, data types, and recovery mode.
- Monitoring and identifying performance bottlenecks and resolving performance issues, including PerfMon, traces and extended events, Dynamic Management Views (DMVs) and Wait Statistics.
- Advanced database structures including “Hekaton” in-memory tables and Columnstore indexes.
And, even better, come the following day to the free, full-day of training at the Silicon Valley SQL Saturday! I'll be there, hanging out and, y'know, doin' stuff. Or maybe not - doing stuff. But I'll definitely be at the SQL Saturday along with some of the best talent and top speakers in the SQL Server world!
I hope to see you there! (Please note that this is a complete different presentation, top to bottom, from the pre-con seminar I presented at the 2012 SQL Saturday in Silicon Valley.)
-Follow me on Twitter!
So you're plugging along in SQL Server Management Studio (SSMS) when it suddenly goes belly up. Now you're staring at various dialog boxes telling you that SSMS crashed. Usually the first dialog box you get will ask you if you'd like to close OR the program. If you choose to close the program, you'll be presented with the opportunity to recover your lost SQL scripts once you reopen SSMS, as shown above. (Image above courtesy of Aalam Rangi).
But let's say that closing the program represents a big issue for you due to lost time, productivity, etc. You want to go the other route - you want to DEBUG! So, what's the easiest way to get a crash dump or to debug SSMS from this state?
In my personal experience, the natural choice and the only choice I'm ever presented is to debug in Visual Studio. But I'm not really a Visual Studio guy. And I find that those times I've attempted to follow the debug route have left me with very little useful information.
But it turns out that, with a little earlier preparation, you can get a postmortem crash dump using a very nicely detailed set of steps detailed at at http://www.codeproject.com/KB/debug/automemorydump.aspx. In a nutshell, you'll use the Microsoft debugger WinDBG and, along with a few setting changes, configure your workstation to automatically take a memory dump when SSMS crashes.
Once you've got your workstation set up to automatically grab a memory dump upon a crash, you have to interpret the results. I'm not going to duplicate excellent guidance provided by Microsoft at the CSS SQL Server Engineering Blog. So be sure to give that post a read to flesh out your understanding of taking and reading memory dumps.
Equipped with this information and a few steps of preparatory work, and you're now ready to conquer SQL Server memory dumps!
Have you every had a crash in SSMS? How did you troubleshoot and resolve the problem? Let me know what you think.
-Follow me on Twitter!
These would be good mentors - me plus Adam Machanic, and Klaus Aschenbrenner
Not long ago, John Sansom (Twitter | Blog) kicked off a SQL Community Project #DBAJumpStart by asking 20 successful and experienced SQL Server professionals this exact question:
"If you could give a DBA just one piece of advice, what would it be?"
I wrote up my Advice for the Aspiring DBA post here, while John collected the entire set of responses here within the DBA JumpStart collection. Part of my advice, indeed of several of the contributors, was to find and build a strong mentor-protege relationship. But what does that really mean? What does a mentor do for you?
First of all, a successful mentor acts on behalf of their protege, with an eye to the their profession development and, if they work for the same company, for the betterment of their mutual employer. Here are several things successful mentors do:
- Model the behavior a protege should emulate: In the IT world, there are few areas where the protege has bigger blind spots than in handling interpersonal situations. Yes, we're great at handling technology, but not so good with politics and persuasion. So when you encounter a mentor who effectively models confidence, competence, professionalism and integrity, you can be certain that his is a person to emulate. (And as a potential protege, keep in mind that you don't want a mentor who acts in a way that you don't want to emulate).
- Move the mentor-protege relationship forward: I personally believe that the onus is upon the protege to initiate and carry most of the water in the relationship. But a successful mentor will stay cognizant of the status of the relationship and help to keep it moving in a positive way. We want a mentor who notices when we've disappeared or gone quiet for a couple months.
- Introspection: It's rare for a mentor to be approached by a person without ambition. The flip side is that ambitious people are often somewhat less introspective and attuned to their own flaws. Just like with coaches in sports, mentors in your profession help the protege understand their strengths and weaknesses and how to amplify or mitigate them, respectively.
- Sponsorship: Good mentors know that learning skills takes practice. Consequently, a good mentor is on the lookout for ways to apply the skills and abilities of their proteges. In my own case, I frequently try to connect my proteges with speaking and volunteering opportunities that increase their prestige, introducing them to important contacts, and helping to broker new relationships.
- Wisdom: Sometimes a protege needs help with personal matters that aren't work or career related. In many situations, a good mentor will help their protege work through emotion issues and explore, in a respectful way, an open dialog that can help the protege gain perspective on their situation. This might be a scenario like working through a confrontational work situation which is actually motivated by a emotional reason that is simmering just beneath the surface.
- Teach: Depending on the work environment, good mentors can teach key technical skills needed to be successful in a particular job. In a sense, they teach competency. But in technology, so many of our successes are driving by non-technical factors. I've found over time that my mentors taught me important lessons in setting priorities, recognized the true motivations of people I interact with, and focusing on results-oriented activity.
- Inspire: Whenever I begin a new mentor-protege relationship, I begin with values and passions. What does my protege really care about? What get's them excited about the day ahead? Many times proteges don't even realize why they're earning their daily bread, aside from the paycheck. And many other times, proteges have no idea what they can achieve. As a mentor, we want to awaken creativity and inspire the protege to act upon those creative impulses. "I want to become a recognized authority and speak at events all over the world!" is something I hear frequently from proteges. Yes. It's definitely in your grasp. But how does the protege react after their first disastrous presentation. Many, who don't have a mentor to bolster their spirits and make the ordeal an uplifting learning experience, throw in the towel and vow to never make that mistake again. Good mentors can help them to see through the hard times to the even better times ahead.
If you've made it this far, you're probably digesting all of the recommendations. And perhaps you're thinking about times in the past where you had a mentor who you respected and who provided you with a lot of help. I'm sure that they didn't do every single thing on the list. But they probably did several if not most of the activities on the list.
Whether you're currently a mentor, or a protege, or hope to be one or the other in the future, keep in mind the behaviors that enable a mentor to succeed. As a protege, look for these behaviors in your mentor. Ask for them, if need be. As a mentor, take an inventory of whether you do enough of these to truly be a valuable and trusted confident of your protege.
By giving of ourselves, as mentors or proteges, we build much stronger relationships based on amity and intimacy. In our go-go, hyper-fast internet-driven world, that's one thing I never get enough of.
What's your opinion? What was your best mentor like?
-Follow me on Twitter!
The following is an excerpt from Kevin and Joe Webb's (Blog | Twitter) monthly IT Pro eNewsletter.
You're Leading in More Ways Than You Realize
It's that time of year again. The sights and sounds of modern-day gladiators clashing on the gridiron field. If you're a football fan, there is no better time of year.
In football, the quarterback is the de facto leader of the offense of team. Late in the game it is to him that the team looks to snatch a last minute come-from-behind victory from certain defeat. That's a lot of weight to put on one man's shoulders.
Yet the quarterback is leading his team in more ways than one. Sure he calls the signals and distributes the ball to other players through hand-offs or passes. But it is his demeanor that sets the tone for the rest of the team.
If the quarterback is visibly frustrated, if he comes to the sideline throwing his helmet, if he blames others for mistakes, if he hangs his head in despair, the team becomes rattled and loses confidence.
On the other hand, if the QB is mindful of his attitude, if he is poised and confident in spite of adversity or mistakes, the team rallies around him and is motivated to perform at an elevated level.
The team will mirror the characteristics of its leader; it will perform only as well as its leader.
The same can be true in business. As the leader of your team, your direct reports will feed off of your attitude and demeanor. Keep that in mind the next time your team faces adversity.
So, how is your attitude? What tone are you setting for your team?