How to handle the PASS Summit.

About this time every year, there are a plethora of articles that offer advice on how to handle the upcoming PASS Summit. And well they should – it’s a huge event. There are thousands of people congregating there and so, so, SO MUCH to do. Special interest events and community mixers abound. And I’m not even going to touch the number of parties, both public and private, and the sightseeing and karaoke and… Oh, yeah – there’s a conference there, too. Tons of educational material, networking sessions, professional development opportunities, the MS CAT Team and…

Yeah – it’s a lot. Especially to try and pack into three+ days.

One of the things that I’ve heard time and time again is about the opportunities for networking. In fact, there’s a saying about that which I’ve heard used many times regarding this event. It’s, “If you’re eating dinner / lunch, etc… by yourself, you’re doing it wrong.” And to be honest, that kind of rubs me the wrong way.

While I try very hard to be friendly and approachable, I’m not exactly the most social person. Now, if you’re reading this and planning to attend the Summit, please don’t take this to mean I don’t want to talk to you. I most definitely do. Hey – if you read my blog on even a semi-regular basis, I consider you a BFF and will likely buy you a drink in appreciation. :-)

What I’m saying, though, is that I fit the current popular definition of an Introvert. Not a big fan of crowds, I don’t generally stay out that late, and really – I need time to myself to recharge. If you don’t see me running around during the event, it’s likely that I’ve slipped off to my hotel room for a cat nap or down to Pike’s Place for a solo walk by the water. I suspect that there are more than a few of you out there that fit that definition as well.  If so, then this post is for you.

If you’re eating a meal by yourself, that’s FINE.

Just here for the sessions? GREAT.

Want to go sightseeing alone after the day’s events? PERFECT.

Yes, there’s a lot to do there, but you shouldn’t feel like you have to do it all, nor should you feel like you have to jump out of your comfort zone in order to do it. Sure, taking a risk can pay off, and getting a little outside your comfort zone with a little professional networking is one way to do that. It has certainly paid off for me. But it’s hard. I get that. So don’t feel like you’re missing something if you don’t. Don’t feel bad. You’re fine.

And I hope to see you there. But if I don’t, that’s OK. :-)

Thanks for reading.

-David.

Advertisements

SQL Saturday Rochester Recap and Speaker Feedback

Rochester, you all are so, so kind… :-)

First things first: Big thanks to Matt Slocum, Andy Levy and their entire crew, the sponsors, the speakers, the volunteers, everyone who put together such a fun event. SQL Saturday Rochester was a great time.

I started my day off in Colleen Morrow’s session: “So You Want To Be A DBA?” It’s a question I’ve posed to quite a few people recently, as I’ve been approached by multiple people interested in the career track. I always kind of struggle to describe what I do and what makes a good DBA. Colleen doesn’t struggle with this at all. She did a great job, presenting all the main points, pains and proclivities of a DBA, and even had a fun quiz in her session. The quiz showed the background of several well known people in the community and the attendees were asked to match the person to the bio. I was a bit surprised at a couple of them, which was very cool.

Next up, I went to Adam Belebczuk’s session, “XML Without Xanax.” My knowledge of XML is sorely lacking. (Read, just enough to pass an exam.) So, I was desperate for some help and better insight into how SQL stores and actually works with XML. Adam didn’t disappoint. One of the really good takeaways I got from this session was the idea of using an XSD schema definition as a sort of column constraint, where XML is being stored. Something I’m definitely going to have to look into.

After a break to make sure my laptop was charged, I stopped by David Klee’s session, which was called “My Brain Has Blue Screened.” Rather than deep technical content, this was a bunch of DBAs and the like, gathered around swapping war / horror stories. Many of which had me cringing. Excellent idea for a session, and something we may have to do at SQL Saturday Columbus this year, if he’s willing. (Hint, hint…)

After a very tasty lunch, I stopped in to see Kendal Van Dyke set up a SAN-less cluster with SIOS’ Data Keeper product. This wasn’t something I had seen before in the wild and it was certainly interesting. We’ve been kind of trying to move away from failover cluster instance at work in favor of Availability Groups. I’ll have to check this out to see if it may be a better fit for us.

I skipped the next session to re-run the demos for my own two sessions in the afternoon. Good thing I did so. I made a few final adjustments to one of my demos and was ready to rock. My first session, “The Usual SUSPECTs”, which deals with database states, went off without a hitch. “DBA 911 – Database Corruption” went pretty much as it usually does. I was able to get through both sessions without modifying too much, though I did gloss over a couple of things due to the time limit. I was trying very hard to make sure the attendees were able to get to the raffle on time at the end of the day, since you do have to be present to win.

I don’t have much in the way of speaker feedback this time, since the feedback I received was universally positive across the board. The attendees must have been very kind people. For the Usual SUSPECTs session, I did get a pair of really great comments under the heading “How will you use the information you learned here?”

“Not sure if I will, but good to know.” – Trust me, one day, you will. :-)

“Test at office on production. No, just kidding!” – If you do, let me know. I could use the consulting work…

And from the DBA 911 session:

How will you use the information you learned here? “Test Backups”.

My work here is done. See you in Philadelphia? :-)

Thanks for reading.

-David.

Quick Speaking Event Roundup

Wow… so much on the radar right now.

This Saturday, I’ll be speaking at SQL Saturday Rochester. I’ll be giving two sessions. First, The Usual SUSPECTs which covers some of the states that a database can be in other than “online”. Second, DBA 911 – Database Corruption, which covers on-disk data corruption and repair techniques. I’m really looking forward to it, and hope to see many of you there.

Next month on June 6th, I’ll be speaking at SQL Saturday Philadelphia, giving my DBA 911 – Database Corruption session. That session has certainly been popular. I think I’ve presented it about a dozen times. :-) Both Rochester and Philadelphia are new cities for me, and I’m really looking forward to enjoying my visits.

I’m also excited to say that I’ve been selected to speak for this summer’s 24 Hours of Pass. This is a great event, and the lineup of speakers is awesome. I’m grateful to be included in such a group. I’ll be presenting my latest session, Turbo-Charged Transaction Logs, on transaction log internals and performance. I encourage you to register, and look forward to ‘seeing’ you there.

Last, but most definitely not least, SQL Saturday Columbus is coming up on July 11. We just extended the speaker submission deadline through the weekend for those of you who still have to submit sessions. Please do so; we’d love to hear what you have to say.

Thanks for reading, and I hope to catch up with you at one of these events, or another.

-David.

Why you should speak or volunteer at SQL Saturday Columbus.

“Hi. My name is David, and I’m a SQL Saturday addict.”

“Hi, David…”

If you’ve been following my posts, you’ll no doubt have noticed I’ve spent a good bit of time on talking about SQL Saturdays on here recently. SQL Saturday is a big deal for me. No – scratch that – it’s an all caps BIG DEAL. Why? If for no other reason then it’s the number one thing that has contributed to my career over the last five years.

Let’s break that down, shall we?

1. People. This is the number one reason to attend a SQL Saturday, period. The people you will find at these events are amazing. Not only have I made many valuable professional contacts, I have made some life-long friends as well. At how many professional events can you say that? Also, consider this: How many times in your life can you remember being in a room with a couple dozen people, and being able to explain what you do in five words or less… and everyone *gets it*.  Rare, right? Not at SQL Saturday. Here, you are one of us.

2. Knowledge. Tons of it. Everywhere. Not just in the session rooms, either. Conversations in the hall, during breakfast or lunch, even after the event… There’s a ton of knowledge being shared on just about any aspect of SQL Server that you can think of. The learning opportunities are limitless. I’ve learned more than I thought I would just by talking to people outside of the sessions. That issue you’ve been dealing with at work and can’t seem to find a good solution to? There’s a good chance the person sitting next to you has seen that as well. Maybe you should ask them about it?

3. Community. This could easily have fallen under ‘people’ but I wanted to give it its own separate space. A community is much, much more than just a collection of people. Remember that the people who put on this event are volunteers. This includes the speakers. They don’t get paid for putting on these events, they simply do it because they love it. And when I say they love ‘it’ I don’t mean SQL Server, but the community of professionals that make it better, faster, more powerful, and more valuable to the businesses and organizations that use it. Giving back to that community is kind of like a feedback loop. The more we put into it, the more we get out of it, and the better it gets.

That brings me to the point of this post. I want you – yes YOU – to consider submitting a session for SQL Saturday Columbus. Speaker selection is open until May 15. Have you given talks at work, or maybe for a local user group? Perfect – you’d be an excellent candidate. Need help with the submission process or coming up with your abstract? No problem – contact me via my contact page and I’ll help you out!

And if you’re not interested in speaking, then maybe volunteering is for you. We’ve got all kinds of things that need to be set up, taken down, monitored, moved, and generally managed the day of the event. We need all kinds of people to do it, as well. Volunteers are what make these events run, and make the community great. If you would like to volunteer, you can sign up on the SQL Saturday site, or simply contact me.

I hope to see you there.

Thanks for reading.

-David.

 

SQL Saturday Roundup – April 2015 Edition

This year is picking up nicely for events for me. After thoroughly enjoying SQL Saturday Nashville in January, and SQL Saturday Cleveland in February, I’m really looking forward to my next few SQL-related trips. I’ve updated my schedule page accordingly, but wanted to call out the next couple of events I’m going to be at. If anyone in those areas, or travelling to them for the events, wants to get together and chat, please let me know.

April 11 – SQL Saturday – Madison WI

I’ll be heading to SQL Saturday Madison for the second year in a row, and I’m very excited for a couple of reasons. First, I’ll be presenting my brand new session, “Turbo-Charged Transaction Logs“. In that session, we’ll dig a little bit into the transaction log internals, show how SQL logs what it does, and some ways to make the logging process faster.  Second, and more importantly, I’m looking forward to spending time learning and relaxing with the fantastic people of the Madison SQL Server community. You’ve got a good crew up there, folks. Looking forward to seeing you all.

May 4 – 8: SQL Skills IE:PTO2 – Chicago IL

OK. This isn’t a SQL Saturday event, but I will be travelling to Chicago for a week to get schooled on SQL Server performance by one of the best companies in the business, SQL Skills. At some point, my brain is going to need a break so if you’re in the Chicago area and want to catch up, or just chat about SQL Server, drop me a line. I should have an evening or two free. :-)

May 16 – SQL Saturday – Rochester NY

This will be my first time speaking for SQL Saturday Rochester, and I’m stoked. The schedule hasn’t been finalized, but the approximate schedule is up, and if it sticks, I’ll be doing two sessions on disaster recovery, back to back. A whole afternoon block of breaking and fixing. Sounds like fun!

One session I’ll be presenting is: “The Usual SUSPECTs: When Good Databases Go Bad“.  This session is all about database states. The good, the bad, and the ugly, as it were. In addition to talking about things like moving OFFLINE database files and rolling a database forward through its transactions using a STANDBY restore, we’ll look at what happens when a SAN failure puts a database in to RECOVERY_PENDING, or when a disk crash lands you into SUSPECT mode. I’ll show you how to recover from those states in a safe way.

The other session I’ll be doing is “DBA 911 – Database Corruption“. In that session, we’ll look at the basic definitions and terms of database corruption and repair. We’ll talk about some of the different kinds of corruption, how to look for and troubleshoot corruption issues, and when it’s best to repair vs. restore. As in all things Disaster Recovery – preparation is key, so we’ll also cover steps you can take to ready yourself for a corruption problem. (Hint: have you hugged your backups today?)

Thanks for reading, and I hope to see you at one of these events.

-David.

Passing Exam 70-461 – Querying SQL Server 2012

tl;dr – Study. A lot. Hard.

I recently took and passed MS exam 70-461. Here are my reflections on it. I am, of course, forbidden to tell you exactly what’s on the test, and I don’t know what’s in the entire bank of questions, so this is more of a guideline than anything else. Your mileage may vary, as usual.

Study Materials

I had previously been through the official class with a local training company, as well has having studied the official MS Press book, which I got from the library. (If you’re buying the books just to pass the tests, you’re wasting money.) However, I didn’t take the test immediately after. I’m kind of glad I didn’t since we didn’t actually cover some of the most important things on the exam in the course material. I got my best results by using the MeasureUp practice exam, and reading the suggested BOL articles on MSDN. Between those two things, as well as mucking around with the code on my own, I feel like got enough of a review of the material and exposure to new stuff to be able to pass.

The MeasureUp practice test isn’t perfect – not by a long shot. I sent in at least three corrections on their test. The only time that actually caused me a problem was when I answered a question incorrectly, and was shown an answer in the “explanation” that wasn’t an available answer for the question. Once or twice, the “correct” code was just flat-out wrong. However, even that was close enough, and I already had enough experience with the concept to get what they were driving at. Also, it’s not exactly cheap, but not much more expensive than the book. I would get the book from the library and pay for a 30 day pass to the practice exam. Even with the minor issues I described, I would still recommend it as a study tool.

One more thing about the MeasureUp exam: It’s nowhere near like the actual test, no matter how much they say it is. It’s a great study tool, but a poor excuse for a simulation of the actual exam. Example: Most of the questions on the MeasureUp exam are multiple choice, with some drag and drop. On the official exam, you will be asked to actually write code. So don’t get used to just picking the correct code snippet out of the list. Know how the code works, and be able to actually write it. This is where practicing with the examples in a copy of Management Studio will come in handy.

Subject Matter

There are four sections to the test. I’ll take each one in turn and talk a little about the types of things I think you should practice. Now the way I describe these doesn’t exactly line up with the exam objectives, but I think this is a decent way to study them, since they make more sense to me in this grouping.

Create Database Objects – I did pretty well on this section. Know how to create tables to work with FILESTREAM, and brush up on the ins and outs of views. Pay particular attention to options required for indexed views like SCHEMABINDING, as well as what VIEW_METADATA and CHECK OPTION do. Finally, know how SEQUENCE objects work, and when they’re a good choice.

Troubleshoot and Optimize – I did moderately well on this. Here, I’d recommend knowing isolation levels really well. Also know what the various *physical* join types are, and when they are to be expected. Know how to get execution plan information from T-SQL, and how to optimize queries by doing things different ways. Many of the questions involved optimizing queries not by altering an existing function or CTE, but by taking a different approach all together.

Modify Data – This was my best section. Know the intricacies of MERGE, as well as INSERT/UPDATE/DELETE. Know what the set operators do, like UNION (ALL), INTERSECT and EXCEPT. Often, you’ll see those being used to filter a result set in a derived table, so keep in mind what their output should look like. I’d also recommend careful review of the details of creating stored procedures and functions. More so table valued functions than scalar ones, at least in my experience. COALESCE and IIF are important functions. Know those well.

Work With Data – I did poorest on this section. Caveat: I am not a developer, and rarely spend my time writing queries to work with business data. If I were to study for this section again, I would spend a lot more time on the FOR XML set of functions, things like GROUPING SETS and ranking functions like RANK vs DENSE_RANK. I would recommend reviewing data types very carefully. A few of the questions relied on some of the more intricate details of them. (i.e., there’s only one date/time type that stores time zone information, and you should know the precision levels of the various non-integer numeric types.) Also, I recommend reviewing some of the more obscure types like ‘cursor’.

Exam Generalizations

Most of passing a Microsoft exam is a matter of reading the questions extremely carefully, and understanding what they’re asking for. No lie: I spent the most amount of my time on the very first question, trying to decide what a particular word in the question meant. I definitely recommend marking questions, and returning to them later if they take you more than a few minutes or so to answer. There were 42 questions in 120 minutes on my exam. I completed the test in a little over an hour, but going back to that first question, and deciding what they really wanted as the result took the bulk of my time. Don’t worry about skipping questions – you’ll get the chance to come back and review anything you marked or skipped at the end of the exam. When in doubt, mark it and come back to it later. You’ll make up the time on the simpler, “gimme” questions, and there are quite a few of those as well.

Often, you can tell what the correct answer is just by the context clues in the question. i.e., You’re joining data from two tables, and you want a result set for the first table, regardless of whether or not there are matching rows in the second table… it’s a good bet the correct answer is going to have a LEFT JOIN in it, effectively eliminating answers with INNER JOIN in them quickly. Process of elimination is a perfectly valid way to take this exam. Use it.

Hope that helps.

-David.

Speaking at SQL Saturday Cleveland (#SQLSat241)

I am delighted to be speaking at SQL Saturday Cleveland on Saturday, February 8th 2014.  My ever-popular (read: the one that keeps getting picked) presentation on database corruption, DBA 911, will be the topic, and I’m really looking forward to the lively discussion it usually sparks. Turns out people really do care a lot about being able to handle corruption issues. Who knew?

I hope to see you there.  If you haven’t registered yet, please do so at: http://www.sqlsaturday.com/241/eventhome.aspx.

Thanks,

-David.