Category: Professional Development

Feb 12 2016

Speaker of the Month: February 2016

I’ve been a little remiss on this. I just haven’t been getting out to see people speak for a while (no travel is nice). However, I’m back in the airplane seats again, so these blog posts are off and running again.

Speaker of the Month for February 2016 is Jason Hall (b|t) for his talks on SQL Cruise. Jason covered two topics, TempDB and SQL Sentry Plan Explorer. I missed the talk on TempDB, but I heard it was great. I was there for his presentation on Plan Explorer. Excellent stuff. I had never seen Jason present before. In fact, I didn’t know he did presentations. He does. He spoke really well to the crowd. He knew the material down (not surprising since he’s been responsible for developing the tool) and handled questions extremely well. He kept great eye contact with the audience and his slides were clear and easy to follow. The demos were interesting and illustrated each point well. It was a great and informative session.

Feedback… Jason knows this topic. He demonstrated that knowledge extremely well. However, he came off as less than confident in that knowledge. I think by presenting just tons and tons of knowledge he blew away the room, but if he’d had less time to overwhelm us, he might not have succeeded. If you know the topic, stand behind it. If you’re unsure if you know the topic, pretend you know the topic. Fake it til you make it actually does work. Now, you have to be able to back that up, as Jason did, ably, but still, come at the session with confidence. Your confidence will communicate to the audience.

I’m sorry I missed the TempDB session. I can’t wait to see what else Jason presents on in the future.

 

Feb 04 2016

Positivity

I’m sitting in the classroom of SQL Cruise listening to Tim Ford (b|t) explain mechanisms for monitoring indexes. It’s a great class. Earlier in the week I got to hear Jes Borland (b|t) talk about extended events and do a session on wait statistics. I was also lucky enough to listen to David Klee (b|t) talking about systems monitoring, especially around VMs. Argenis Fernandez (b|t) and Jason Hall (b|t) are coming up today. In short, I’ve received some excellent learning while on a boat in the Caribbean. Now, one could argue (and you’d be right) that I’m thinking about positivity because of the nature of the position in which I find myself. Hang on though, I have some additional points.

One of the biggest strengths of the SQL Cruise is the intimacy of the event. You’re not just sitting through a one hour session with David or Jes, Tim or Jason or Argenis (the sessions are two hours anyway) like at a regular event. You’re sitting across from them at breakfast, lunch and dinner. You’re going out for drinks. You’re hanging out on the beach. You’re zip lining through the canopy. You’re exploring 17th century fortifications. In short, you get to have nice, long, thoughtful conversations with these people and your fellow cruisers. Positive now? Please bear with me. I don’t mean for this to be an advertisement for SQL Cruise (although…)

For all of the above, I  love SQL Cruise. However, there’s more to it than that.

No, the principal thing I love about SQL Cruise is the extremely high degree of positivity of the people that seem to be drawn to it. Maybe it’s Tim. Maybe he’s just good at pulling together a bunch of people who are incredibly positive. They care about what they do. They care about how they do it. They are unremittingly positive. I think of them as a bunch of happy warriors. They’re fighting with some of the hardest data problems yet don’t come down against their jobs, their lives, or the technology they use. Instead, they tighten their belts, crack their knuckles, get a smile on their face, and tear into the problems with glee. How do I know this? Because I watch them interacting with all the other people on the cruise. They listen with focus and once the problem is defined, you see that smile appear.

It’s so easy to be negative. The world is full of reasons to be unhappy, dissatisfied and disgruntled. Tearing things (and people) down is quite simple and maybe even satisfying in a way. However, negativity is draining. Negativity breeds additional discontent and more negativity. Sooner or later, enough negativity leads to a simple statement, “Eh, what does it matter.” Down that path lies the end of your career.

No.

Be positive. Be energized. Get that smile on your face and rip into that problem. Further, get people around you as much as you can who also will put that smile on their face, will also rip into that problem. Positivity breeds positivity and you’re so much more likely to have fun while getting your work done. Seek out the kind of people who want to help. Talk to people who are going to nod their heads and say “Yes, you can do that” and then will help you figure out how. I mean this not just for technology, but for your career and personal development. Find positive people and positive experiences (like SQL Cruise), that are going to lift you up and in turn enable you to lift your career.

Jan 27 2016

The Importance of a Full Backup in SQL Server

This is the first of 12 posts this year in support of Tim Ford’s #iwanttohelp initiative. These will be completely 100 level, introductory blog posts meant to help people that are just getting started as data professionals. I’ll try to cover several different topics over the year, but felt I should start with what I think is the most important, backups.

It is impossible to overstate the importance of getting a good backup of your SQL Server databases. A backup is the most fundamental of protections for the information on which your business is dependent. Since SQL Server is a service, it manages it’s own files. Because of this, you can’t just copy the *.mdb file where your data is stored. Instead, you must run a process, usually through the BACKUP command within SQL Server. That link goes to the MSDN documentation at Microsoft (which is always your first source for information about SQL Server). The first command outlined there is BACKUP DATABASE… This will create a complete, page-by-page (everything is stored within the database file in a construct called a page), copy of your database, including every single object within the database and all the data.

Well, you think, I’ve got that bit. I’ll take one of those full backup thingies and I’m all set. Ooh, look there are all kinds of other backups too. Log, Differential, File, Filegroup and options, COPY_ONLY, MIRROR… Not only does this get complicated, quickly, but it’s very easy to lose sight of the most fundamental aspect of all this. That is, that backups are not the main thing you’re going for here. The main thing you’re going for here is the ability to RESTORE your database. That link goes to the MSDN entry on RESTORE.

As you explore all the aspects of backups, you must always remember that the most important thing is that you can restore those backups. The most important aspect of the RESTORE operation, whether you’re restoring a full backup, a differential backup, a file backup a filegroup backup or a log backup is that every single one of them starts with a restore of the full backup. If you lose your full backup, that complete, BACKUP DATABASE command, you can’t run the first restore needed. Yes, taking log backups means that you can restore to a point in time. That starts with a restore of the database from a full backup. Yes, taking differential backups can be faster because they’re copying fewer pages to create a backup. Restoring a differential is only possible when you have the full backup that was taken before that differential was taken. The same goes for the rest of the backups (with some exceptions that are WAY beyond entry level). You must have that full backup before you can do the rest. This simple fact is why the full backup is so important.

So please, if you’re just getting started working with SQL Server, then get your backups in order, but make darned sure that you know exactly where your backups are stored and that you can get to them when the time comes to restore a database. Without that full backup, you’re in serious trouble.

I have a video of exactly how to take a full backup of your database using T-SQL to help you get started. Just remember, don’t lose that backup.

Dec 18 2015

Speaker of the Month: December 2015

The hardest presentations I’ve ever given in my life were not to large audiences or in big rooms. They weren’t even when I had to present in front of people that I respect and admire (although presenting in front of Paul Randal (b|t) & Kim Tripp (b|t) gives me pause every single time, not sure why). I don’t mind presenting all day sessions. In fact, I love the all day format. Nope, the hardest presentations for me are five minute lightning talks. They’re brutal. They’re unforgiving. You have to stop. You only get five minutes to tell people whatever it is you’re going to tell them. Then its over. I’ve done three lightning talks. One of them, a rant on backup testing, I’ve given four or five times. The others all died ugly.

I’m telling you all this because the Speaker of the Month for December 2015 is everyone who took part in Speaker Idol at the PASS Summit this year. This is the second year for Speaker Idol. Basically it’s a contest, organized and run by Denny Cherry (b|t). The winner gets a speaking slot at Summit. You’re required to present a five minute, tightly timed, presentation on a topic of your choice. You’ll have a set of experienced speakers acting as judges who will score your presentation based on the topic, the delivery, slides, theatre, everything I ever talk about in these blog posts.

The winner this year was David Maxwell (b|t) who writes about the experience here. Unfortunately, I was busy with Board Stuff(tm, or it should be), so I missed his presentation. However, I saw several of the others and if David beat them…. WOW! These were some of the most polished, professional, rock solid, presentations I’ve seen. These were master classes on presentations. If you are trying to polish your presentation skills, get your hands on the recordings and learn.

Dec 10 2015

Promote Community

When I present at any given event, I generally assume that the people attending have heard of the event that I’m at. For example, I don’t need to ask people at SQL in the City, “Who here has heard of Redgate Software?” Same thing goes for a SQL Saturday event “Did anyone here know that there’s a local, free, event being held that provides free training and networking in your area?” seems like a waste of time while at the event. However, what about the rest of the community?

If you’re working on your presentation skills, I’d like you to add one more bit of work to everything else you’re doing (yes, yes, you’re welcome). I’d like you to get in the habit of taking 3-5 minutes prior to the start of your presentation to promote community. If you’re at a SQL Saturday event, talk about the local chapter and any other nearby upcoming SQL Saturday events. If you’re at a SQL Server event, mention the upcoming BA event. Cross-pollinate your communities as much as possible. Be respectful though. If you’re at a paying event, it’s not really good form to promote another, competing, paying event. However, passing along word of a meet-up or virtual chapter where people can get additional information on the topic you’re presenting, that’s fine.

Don’t assume that everyone knows what you do. I’ve made a habit of checking at the beginning of my sessions, “Who attends their local PASS Chapter? Who hasn’t heard of PASS? Anyone here who hasn’t heard of SQL Cruise? Who is going to PASS Summit this year? Let me tell you about PASS Summit…” I know I’m introducing people to the size and depth of the community that we all take part in because over and over, I get large sections of the room who haven’t heard of the different topics I bring up.

Talking to the people in your session like this serves a dual purpose. First, and I’d argue most important, you’re promoting the community. Second, you’re warming up and you’re warming up your audience. They’re getting used to you and you’re getting a sense of them. This will help you deliver your session because you’ll know better how the crowd is responding.

Dec 07 2015

Learning R: Foundations

Learning a programming language is largely an act of using that language to do stuff. Done.

However, the big thing about R is the mathematical and statistical analyses that can be easily run against your data sets. This means, part of learning this language is learning another, that of data science.

I’ll be posting about how I’m learning R, but I also should tell you how I’m picking up on Data Science. First and foremost, madman he may be, but one of the few sources of information that I simply trust is Buck Woody. He’s been running a series on Data Science. Here’s an excellent example on how to pick a particular algorithm. These are must reads.

Next, I’m starting a book called Data Science for Business: What you need to know about data mining and data analytic thinking. The title pretty much sums it up. It’s geared towards the business person who needs to understand this, not necessarily a computer nerd who is trying to learn it. However, if you’re anything like me, who went to film school for college (and dropped out of that), then some more introductory level knowledge is needed before we get into deep mathematics (as I’m constantly reminded when I get into discussions with the maths nerds here at Redgate Software).

This information is foundational to understanding what I’m attempting to do using R within SQL Server. Next I’ll detail some of the sources I’m using to get started within R itself.

Dec 03 2015

Changing Course On Learning

With all the new stuff on the Microsoft Data Platform, it’s really hard to keep up with it all. I had announced my plans to charge down the DocumentDB road to try to get the basics of that in my head along with learning some JSON so I could get what all the hoopla is about.

However, after a lot of thought and some extensive meetings at Redgate, I’m looking to shift my learning in a new direction.

First up. Arrrrrrrrr!

No, it’s not yet “Talk Like a Pirate Day.” I’m going to start learning the R language. It’s a language for statistical computing and is one of the many underpinnings for what’s going to be happening with a lot of the Machine Learning capabilities in the Data Platform. With Azure SQL Database, and soon, SQL Server 2016, this new language is going to be part of the query landscape. It’s going to cause performance issues and all kinds of wonderful opportunities. I need to know it.

I’m also looking to embrace and extend my knowledge into the Machine Learning area. I’m not sure exactly where that’s going to take me, but again, I’m pretty sure we’re going to see more and more of this within the systems we manage.

With so much of the data stack now available through Azure (Azure SQL Data Warehouse is a game changer and you should be looking at that right now, in your spare time) changing not only what we can do, but how we do it, it’s affecting directly SQL Server. It’s not enough to know and understand just the core engine (it never really was, but we could tell ourselves that). This doesn’t just affect queries and query tuning. It has impact into our Data Lifecycle Management, DevOps and development releases and methods. In short, all the stack is getting impacted by the expanding Data Platform and I intend to be on top of it.

Watch for the R posts coming up, and forgive me if I occasionally sound a little piratical (OK, a little MORE piratical). Also, don’t worry. You’re still going to see stuff on query tuning, execution plans and all the core engine stuff. Fact is, that doesn’t go away just because I’m looking at Azure SQL Database or Azure SQL Data Warehouse or attaching R to my T-SQL, because, under the covers, it’s still SQL Server.

Dec 01 2015

It’s Not Too Late

You know you want to go on the SQL Cruise. You can. You just have to convince the boss that it’s worth doing. It is. I’ve said it before and I’ll repeat it as necessary, SQL Cruise changes peoples lives. I’ve watched people go on the cruise with a job and come back with a career. People don’t just learn on the Cruise. They get energized. They get engaged with the data professional community.

How do I profit by promoting SQL Cruise?

I don’t.

Tim Ford is a friend and I’m supporting him. My company, Redgate Software, is a sponsor of the cruise, so I’m supporting them. I could just be doing the bare minimum in support of these parties. However, I’m not getting paid anything special by anyone for doing more. Instead, for me, personally, SQL Cruise is all about the ability to share.

Understand, I love my job. I spend a lot of time teaching about the Microsoft Data Platform, Azure SQL Database, SQL Server, deployments, development, automation, performance tuning and all of it from the perspective of Redgate Software. I get to share. A lot. However, I only get to share the way I do on SQL Cruise, on SQL Cruise. It’s intimate. It’s direct. It’s personal. I’m not standing in front of a group of 75 people with another 200-5000 waiting outside the door. It’s just 25-30 people, all the time. We get close. We talk. It’s the lowest level, most fundamental kind of interactions. I benefit from it personally, and I get the opportunity to share. This is why I love and support SQL Cruise.

And yeah, there’s classroom time. I’m really looking forward to learning from David Klee, Tim Ford, Jason Hall and Jes Borland. These are some of the most amazing people you’re ever going to meet and learn from.

I’m putting on a couple of classes too:

The Query Store and Query Tuning in SQL vNext

For the most part, query tuning in version of SQL Server is pretty much like query tuning in the next. SQL Server 2016 introduces a number of new functions and methods that directly impact how you’re going to do query tuning in the future. The most important change is the introduction of the Query Store. This session will explore how the Query Store works and how it’s going to change how you tune and troubleshoot performance. With the information in this session, not only will you understand how the Query Store works, but you’ll know everything you need to apply it to your own SQL Server 2016 tuning efforts as well as your Azure SQL Databases.

Azure SQL Database for the Earthed DBA

Everyone knows that Azure SQL Database only supports a small subset of SQL Server functionality, small databases, and has really bad performance. Except, everyone is wrong. In fact, Azure SQL Server Database is ready to support many, if not most, databases within your enterprise. This session reintroduces Azure SQL Database and shows the high degree of functionality and improved performance that is now available. You’ll leave this session with a more thorough understanding of the strengths and weaknesses of Azure SQL Database so that you can make a more informed choice over when or if you should use it within your environment.

Go and have that chat with your boss. You won’t regret it. I promise, this experience will change your life.

And there’s rum.

Nov 05 2015

Speaker of the Month for November 2015

A great benefit that I get with my job is that I get to travel all over the place to see people present. This means I can expand out beyond my own country to see good speakers. That’s the case this month. My Speaker of the Month, with all the glory it entails, is Rob Sewell and his session “Using PowerBI With My DBA Database” delivered at SQL Relay Cardiff.

Rob delivered a very interesting, useful and entertaining session. It was all about how to gather data about your databases and their behavior and then put it into different types of reports in order to be proactive about stuff within your managed environment. I loved the way he put his slides together, the graphics and the lack of bullet points. His presentation style was awesome. He used Zoomit well enough (more on that in a moment). Some of his comments were fun too, “Sing Merry Christmas backwards” was one of my favorites. I also liked how, despite showing us a great set of scripts, he said, right out, “If you run these scripts without testing, it’s your fault.” Excellent stuff. I also appreciate his practical advice on setting up this type of monitoring, “Do what you need to do.” It was just an excellent presentation.

I talked to Rob about the one piece of advice I had for him. He asked repeatedly if we could see, and then would zoom in. He was clearly concerned, and did a good job. But after he asked a couple of times, I thought he should just assume that things were in fact a little hard to see and should just zoom. It’s a safe assumption a lot of the time. Nothing wrong with asking, but if you ask more than once, you have your answer.

This session was very useful. I strongly recommend it and Rob.

 

Oct 22 2015

ZOOMIT!

Guilty.

I’m at least one of the people who yelled Zoomit during a keynote at PASS Summit.

I want to take a moment and explain why I did it and why it was wrong.

I was frustrated. I’m watching a presentation on a HUGE screen, from about mid-way in the room and the presenter is earnestly showing off a cool new feature of SQL Server in about 3 point font and saying “… As you can see …”.

No. No I couldn’t. After a little while of staring at the blur on the screen and hearing the person say I could see this or see that, I popped. I was interested. I was paying attention. I really and truly wanted to see what was on the screen and I honestly could not. So, I yelled at the stage.

I was wrong.

The person on stage probably didn’t have Zoomit installed. Nor did they know how to use it. They probably also didn’t know that Windows has a magnification utility built in (don’t like it, but it’s there). My yelling didn’t help them at all to discover this information. Further, it probably made them even more nervous. Neither of these improved the experience for anyone in the audience. Finally, it was unprofessional behavior. That’s the important one.

What should I have done? Find a positive solution. Get a hold of someone, anyone, from PASS, from Microsoft, and let them know that we can’t see. Nothing is going to get fixed at the moment, but the feedback has to be delivered. It can just be delivered in a way that’s helpful, not hurtful. Write a blog post? Sure, but try to make it a positive and helpful one. Tweet about it at the time? Yeah, why not? Just make the tweets informative as opposed to negative. Communicate the necessary information (and yeah, it was necessary) in a way that does two things 1) It gets heard and 2) It provides help to those who need it.

I seem to frequently serve as a negative example. “Don’t do what I’ve done. It hurts” is a repetitive message I deliver. Please remember. PASS Summit is a blast. It is. The event has changed my life in a positive way and I’ve grown to truly love the giving community that built and continues to improve the PASS organization. So don’t do what I’ve done. Have fun at PASS, yes. SQUEE and hug your friends. Wear a kilt. Go to the parties and imbibe. Just remember, through it all, you’re still expected to behave as a professional. Don’t follow my bad example. Instead, build on the positive aspects of PASS and the community in a positive fashion.

See you next week!