Episode 185: DBATools in a Month of Lunches

Episode 185: DBATools in a Month of Lunches

Episode 185: DBATools in a Month of Lunches 560 420 Carlos L Chacon

Why write a book, when you already have a site full of documentation? In this episode we chat with Rob Sewell about his project to write a book, DBATools in a Month of Lunches. He gives us some insights on what the book is about, how it is different than documentation, and how the process of making the book available in pieces has helped the creative process.

Click here to go to the book: DBATools in a Month of Lunches

Permanent Discount Code from Manning: podsqldp19

*All claimed* The first 5 people to contact Carlos on social media or by email ([email protected]) will get a code for a FREE eBook of DBATools in a Month of Lunches.

Get your SQL Data Partners Podcast T-shirt!

Our Guest


Rob Sewell

Rob is a SQL Server DBA with a passion for Powershell, Azure, Automation, & SQL (PaaS geddit?). He is an MVP & an officer for the PASS PowerShell VG & has spoken at, organized & volunteered at many events. He is a member of the committee that organizes Data in Devon & also the European PowerShell Conference. He is a proud supporter of the Data & PowerShell communities.

He relishes sharing & learning & can be found doing both via Twitter & his blog. He spends most of his time looking at a screen & loves to solve problems. He knows that looking at a screen so much is bad for him because his wife tells him so. Thus, you can find him on the cricket field in the summer or flying a drone in the winter.

He has a fabulous beard!

Never Miss An Episode

Subscribe to get podcast notifications by email.


“The way it works is it’s kind of a story. We sort of think about what are you going to do as a DBA coming in.”


Rob Sewell

Episode 185: DBATools in a Month of Lunches
  • Carlos:             Compañeros! Welcome to another edition of the SQL Data Partners Podcast. I am Carlos L Chacon, your host, and today I am joined by Rob Sewell. Rob, welcome to the program.

    Rob:                Thank you very much. Hello and welcome to everybody.

    Carlos:             We have, as well, Eugene Meidinger.

    Eugene:           Howdy.

    Carlos:             And Kevin Feasel.

    Kevin:              How wa wa?

    Carlos:             He is here, he is here.

    Kevin:              I’m totally awake, honest.

    Carlos:             So this is Episode 185 and our topic today, well, I’m not exactly sure if we’re going to be talking about DBATools as much as we are going to be talking about the book about DBATools.

    Kevin:              I am prepared to go in either direction.

    Carlos:             Either direction, that’s right. So we’ll see what happens there, but I guess spoiler, Rob’s putting out the book, and we can talk a little bit about that, as well. But that’s our content for today’s episode. Before we get there, we do have a couple of items we need to cover. So, first of all shout-outs: I have a shout-out to Harry Ragsdale, and so thanks, Harry, for reaching out. And Rob’s got a couple he wants to give.

    Rob:                So, always, always a shout out to Gianluca Sartori for making me look at beautiful pictures of his view in the mornings. Whether that’s the wonderful mountains of Italy or the Ferrari garage. And also to William Durkin, or Herr Grilliam as he’s known, for formalizing DataGrillen, but mainly for being himself, both in public and in private. And Andre Kamman, because Andre is my favorite Dutch MVP and he gives the best hugs.

    Carlos:             There we go. And so we are expanding our world a little bit. We don’t get as many mentions of our European counterparts, and so thanks for filling some gaps there for us, Rob. Okay, so in terms of What Have I Learned, we’re always learning new things. And now we are recording this, and I think this may actually come out before Christmastime. But there are some advent calendars we want to talk about.

    Eugene:           Like the real ones or the coding ones?

    Kevin:              Do they have chocolate?

    Eugene:           Yeah.

    Rob:                So, there we go. So yeah, we’re recording this right at the beginning of December.

    Carlos:             Yes.

    Rob:                And what I’ve noticed as you sort of muck about on the social networks is people with amazing advent calendars. So, advent calendars, to me, always used to be a little plastic square with a bit of chocolate in it and maybe it had different shapes and sometimes you didn’t even get chocolate, you just had a picture on the back, and you got to see what it was. But, some of my friends recently have been displaying their advent calendars. So, like one got a set of BrewDog beer, so BrewDog is a brewery based out of Scotland that make really excellent beer, and he got an advent calendar of that. Another friend had got an advent calendar of whisky, which I thought was, a whisky every day for 24, eh, okay, fair enough. But I also want to point out, because I think these are going to be good learning things that people can use, not just for right now, but for the next year or so, is the advent calendars of code. So, there’s one called Advent of Code, which is a 24 day sort of learning step of challenges of coding in different languages. And then there’s the Azure Advent Calendar, which has got 24 days where two people will release a blog post and a video on YouTube describing something to do with Azure and giving you an insight into what’s going on, there. And both of those look like excellent learning things, and you know, we’re all about sharing good learning.

    Carlos:             Sure. Yeah, there we go. Yes, I guess there’s two contributors and then a video, so it looks like they have three contributors, total.

    Rob:                I couldn’t work out whether those contributors were doing the YouTube video or just doing the blog po– yeah, so there were the three items each day, by the look of it.

    Carlos:             Yeah, so interesting. So we’ve got everything from governance to container instances, Azure Lighthouse, which I admit, I’ve never even heard of. Sight recovery, wow, Terraform for Azure. So yeah, there’s a little bit of everything.

    Kevin:              Yeah, I’m going to jump on this and say this is also the perfect time of year to learn this. In a lot of industries, December’s when things slow down, where you can sneak in that extra hour a day to learn something important, to pick up that additional skill.

    Carlos:             That’s right.

    Eugene:           Now my question is how expensive is it to complete this advent calendar?

    Carlos:             Yeah, there is that. There’s no cost calculator at the end, so hard to know.

    Eugene:           But that’s exciting. That’s really cool.

    Carlos:             Yeah. That is cool. Okay, and so for a little SQL Server in the News. Of course, as we record this, AWS Reinvent is going on and my feed is all kind of blowing up about AWS news. And of course, in our last episode, we talked about SQL Server 2019 being released and all of those pieces. So Rob, what do you have in terms of SQL Server in the News? I see you’ve got something about a comparison between AWS and Azure.

    Rob:                Absolutely, yes, as you said, last month there was definitely an overload of SQL Server news with 2019 and big data clusters and all of the excitement that came out of Ignite and PASS happening in the same week and all that’s going on. But just yesterday, there was a whitepaper released by Microsoft, being done by some people who, it’s a third party form, GigaOm, apparently. And they’ve done a comparison between SQL on Azure and SQL on AWS and what they say is that SQL on Azure continues to outshine AWS. And this is literally looking at the price per–

    Carlos:             Compute–

    Rob:                Performance, compute, yeah. For big loads, is really what they’re looking at, here. And across Windows and Linux, they say that it’s 3.4x faster and 87% less expensive than the comparable AWS offering. So it’s just an interesting idea. It’s an interesting whitepaper. I had a quick spin through it.

    Carlos:             Sure, sure. Yeah, well, so thank you. I guess maybe there was some whisky in that advent calendar, because normally, it takes a little while before we make the guest drink the Kool-Aid. But we appreciate that insight. It’s always interesting to get other perspectives and that. So, now I am curious, what they mean by it’s the big loads. You know, cause there’s lots of little stuff out there.

    Rob:                Absolutely. I think the world of data is astonishing, because, everybody talks about the new shiny, great big massive. We’ve got to find a new word for big data, haven’t we? Ultra stupendous ginormous digata data we call it. But as you say, there are numerous projects out there just using Azure SQL DB with a few gigabytes or a few hundred gigabytes of data, performing amazing things. So, I think both of those ends of the scale there, are very interesting.

    Carlos:             Indeed. Okay, so all of this information and what we talk about in today’s episode is going to be available at sqldatapartners.com/DBATools or at sqldatapartners.com/185. And so with that, I guess, let’s jump into the topic. So we’ve had you guys on the program to talk about DBATools– gosh, it’s been at least a year.

    Rob:                It must be. It must be. It must be a year, year and a half, I would think. It was a long time ago.

    Carlos:             Yeah, it’s been a little while. And so, in that time, I guess congratulations are in order, you’ve finally got to Version One.

    Rob:                Woohoo. We expected a code freeze to last two months. It literally states that in the blog post. It took us about 18 months. But hey, progress, we got there.

    Carlos:             The things you learn, right?

    Rob:                Oh yes. Yeah, so Version One was released at DataGrillen in June of last year, and we’re now at 1.0.75 or 76, I think. Chrissy’s probably released another one by now. So in six months, less than six months, we’ve already had another 75 versions coming through. So, it’s always improving, and we can only ever say thank you to the hundred and eighty five contributors, people who put their own time and effort into making DBATools what it is today.

    Carlos:             Yes, it’s quite the project and that’s come of its own and more and more people are beginning to use it. And so with that, the idea was formed to put some information out there about it. Now you have community support. Like I mentioned, you’ve been on our podcast DBATools is heavily supported in the PASS community. I see it at SQLSaturdays and I’m sure at Relays and you mentioned releasing at DataGrillen, so there’s lots of people that are talking about it. I guess, first thing, maybe jump into the book. Why did you decide that you needed to put a book together?

    Rob:                I think that what we’d always thought about was enabling people to have access to tool– now, one of the things we said quite often is, “yeah, we’ve got this great website. It’s kept magically up to date all the time. DBATools.io, it’s documentation and developers are great at, oh yeah. Yeah, no, we’re not really so good at documentation. Now, we ensure that our PowerShell commands all have their help available with them, so if you download DBATools, you can do a get-help and you will, with the name of the command, get everything you need to know about how to use that command, but it’s very dry. For me, who’s been doing this for eight, nine years now, it is my go-to. It’s the way that I work all the time. I am always using get-help. But for other people, for people newer to PowerShell, it’s a little bit intimidating. It’s not maybe giving them the glue to put things together. Now, as you say, the community are amazing. They’re astonishing. The number of people who talk about DBATools, who make sessions about DBATools, who write blog posts about DBATools is fantastic and there’s all of this great information that you can go out and search for and you can find. But what’s missing, maybe, is a good place for starting at the beginning and getting a good overview of all of the things that you can do with DBATools. Now there’s 593,622,776 commands in DBATools.

    Kevin:              Give or take a couple.

    Rob:                I never know how many there are, nowadays. Something like that. And even myself and Chrissy and Fred and Stuart and Shawn, these people who have been all about DBATools for its lifetime can’t remember all of them or how they all work. So, if we’re giving this tool to other people and we’ve gone over a half million downloads now on PowerShell Gallery, there’s a lot of people out there using it. It was a place where we thought let’s put something together so that we can enable people to read it through. And we always say, whenever we present about DBATools, if you want to learn about PowerShell, read PowerShell in a Month of Lunches. Now, there were three versions of PowerShell in a Month of Lunches for Windows PowerShell, and Manning have just released PowerShell in a Month of Lunches for Linux, and it’s a really nice, easy way to learn about a topic. There are many Month of Lunches topics out there. I was astonished when they started showing us how many different things you can learn in a month of lunches. And it’s a very simple concept, it says, “read this book and you can read one chapter in about an hour,” which is you know, a lunchtime or thereabouts, and they’re written in a way that are very hands-on. They’re very friendly. It’s very conversational, which I like, because I don’t fancy much writing a textbook or having to go through that sort of dry way, because it doesn’t fit with how I am or how Chrissy is. So, we really enjoy this conversational tone and actions that people can learn like each lunchtime they can actually get some information and they can go and use it straightaway. And there’ll be some labs in there and there’ll be some information like that. So, we really like that idea and we got in touch with Manning and said, “hey, what do you think?” And they went, “yeah! We’d love to have you. We would die. Oh yeah, come in, come in.” And Manning are fantastic. They are absolutely brilliant. They have been so much help in enabling us to write this book, with people reviewing it, with a technical editor, Mike Shepard. Thank you, Mike, so much for every time you point out that things could be different, because it’s perfect. And another editor who looks at the way that we write and says, “yep, no, we’re writing a Month of Lunches book, which needs to be like this. How about this? You could do it like that,” which is fantastic.

    Carlos:             So you preface this, the documentation wasn’t great. It’s not a, “hey, let me copy the website and throw it into a book.”

    Rob:                Oh, absolutely not. We definitely did not want to just gather information that people could find and put it together. We wanted to give a story and enable people to learn something. And in fact, one of our most favorite reviews, because it’s out as a MEAP which I think we’ll talk about in a minute. But–

    Carlos:             You’ve brought it up, so let’s go ahead and dive into that, so a MEAP? Tell us what a MEAP is.

    Rob:                So, it’s not Road Runner. Meep meep.

    Carlos:             Meep meep.

    Rob:                Cause every time, I love it, it just makes me smile. So MEAP is Manning’s Early Access Program. And basically, what MEAP means is Manning look at the work and the chapters that we’d written and went, “yep, we reckon you’re going to finish the book. And right now, you’ve got enough chapters written that we can start the process of creating the book and release them to people. So, when the book was first released as a MEAP, we had up to chapter four. We actually only had three chapters of words, because chapter three is very light, because it’s the lab. And then Manning said, “then what we’ll do is we’ll release more chapters every month or so.” They’re a little behind that, because they’ve got a lot of MEAPs going on at the moment. And then it means that whilst we’re still writing the book, we’re getting feedback from people who are actually reading it. And Manning give a live book so you can actually read it online and you can click in there and you can make a comment. I wrote a blog post about this. You can highlight it, you can make a comment, you can send a comment and the comment comes straight back to Chrissy and myself. And people are coming back going, “eh, you spelt that wrong,” which is perfectly acceptable. And, “oh, I don’t quite understand what you mean here. Is it like this or that?” And sometimes it’s like, “oh yeah, actually perhaps we should just alter that wording there, if people aren’t getting it.” But one of the best bits of feedback we’ve got, and one that made us smile the most is somebody said, “I thought I needed to know PowerShell to be able to read this book, but actually, you’re helping me to learn PowerShell as we go through,” and I always say, the best way of learning PowerShell is to do something with PowerShell.

    Carlos:             There we go. Very nice. So then, your current status is you’ve got five chapters available–

    Rob:                So, five chapters released.

    Carlos:             With the goal of doing 26.

    Rob:                That’s right, yes. Yep, we have five chapters available, and just as sort of an inside story as to what’s going on behind the scenes, you’ve got five chapters available. We’ve got another one, two, three, that are finished. So they’ve been through us writing, redrafting, Mike doing a technical review, and then our editor doing a final review and saying, “yes, these are ready.” And then we have another either four or five more chapters that are either in the process of we’ve finished writing them and they’re going to technical review, we’ve finished writing them and they’ve been technically reviewed and they’re going to the editor, or we’re still in the process of writing them.

    Carlos:             There you go.

    Rob:                That’s how a MEAP works, and also a little bit into how it works in the background, as well.

    Carlos:             Right, and so you can then sign up early, you have access to the stuff that’s available, and then as stuff comes up that will get added to there. So, on the website in the anticipated having it all done in the Spring of 2020?

    Rob:                That’s what they say.

    Carlos:             And it sounds like with those extra nine chapters, you’re well on your way.

    Rob:                I don’t feel that these are deadlines that we’re going to struggle to meet. I think A, Spring is kind of a slightly vague time zone, which is useful when you’ve got a deadline. Yeah, yeah, Spring, yeah, yeah.

    Carlos:             Yeah, yeah.

    Rob:                June is Spring, right? No, I am kidding. Chrissy, I’m kidding.

    Kevin:              Australian Spring, it’s September.

    Rob:                Yeah, absolutely. I’ll remember that one. But yeah, I think with the holiday season coming up, as we were talking earlier, it’s a slightly quieter time. And also, the first couple of chapters that you wri– cause Chrissy and I have not written a book before. Neither of us have written a whole book. We’ve both written parts of other ones, but the first time you sit down, and you write, you’re like, “okay, um, ah. It’s–”

    Carlos:             Yeah, so now Kevin’s written a book, or is writing a book. Is it written or writing? What’s the verb tense we need to use, there?

    Kevin:              As of today, it’s written. I’m waiting for the final proofs so that I can go see how many stupid typos I have.

    Carlos:             There we go.

    Kevin:              I know of one in chapter two where I misspelled Azure. Cause, seriously.

    Carlos:             Cause there’s no spellcheck for that, apparently. And I know Eugene’s done courses, now, but correct me if I’m wrong–

    Eugene:           I have failed at writing a book, officially, now. So.

    Carlos:             Okay, there we go.

    Eugene:           Yeah, so I wrote a blog post about like lessons learned from working for myself, and one of them is to not sign up for every single thing your first year. Cause I thought, “oh, well, I’m going to have all of this spare time. I’m going to be working for myself, I’m going to like do these user groups and I’m going to write a book.” And I learned that like working from home is hard and working for yourself is hard. So, I thought I was going to write a book this year and I did not. So, I feel your pain, for sure, and I admire that you’re aiming for Spring with that.

    Rob:                Oh, thank you.

    Carlos:             So, I’ve also written a book. Now what was interesting about my book is I wrote it in a summer, but then it took me another year to get it published.

    Rob:                Wow.

    Carlos:             So I’m curious, right, like what’s been your approach to getting this done? I mean, obviously it’s very collaborative, I mean, you’re writing it with Chrissy, which I mean, so good and bad there? There’s a team, but then it also means that, you know, do you ever play hot potato? It can make juggling that a little challenging, I can imagine.

    Rob:                So, the first part, how do I go about writing? For me, one of the things I’ve learned doing this is that if I sit down and go, “uh, there’s nothing coming. Okay, that’s cool. Close the Git Repo that’s got the book in it and do something else.” Because, the times when I can start writing, boy, sometimes does it flow.

    Carlos:             Interesting.

    Rob:                And it’ll just flow and flow and flow for hours and then literally hit a wall. Stop. Bang. And I’ve had to learn to myself, it’s okay. It will happen, and it happens in that way. But when it comes to her, we organize writing the book. We’ve already planned out who is writing which chapter all the way through to the end. So, each of us is taking the lead in one chapter. And I’m not going to tell you which ones are which, because it’s very interesting that people, even our editor, who knows who’s written which one, is not noticing which one of us it is. He’s actually come back to the other one.

    Carlos:             Oh, interesting.

    Rob:                So, our writing voice is obviously very, very good.

    Kevin:              So, is that intentional or just happenstance?

    Rob:                It’s just the way we are.

    Eugene:           You spend too much time together.

    Rob:                Oh, I wish.

    Eugene:           Start finishing each other’s sentences.

    Rob:                Yeah, I wish. I haven’t seen Chrissy for a few months, now, and we’ve always got on very well. And the other part of it is is that once one person has finished the chapter, then the other person reviews it.

    Eugene:           Nice.

    Carlos:             That makes it nice, sure.

    Rob:                 Yeah. So, then we get into, “yeah, yeah, what about this? What about this? Perhaps you could phrase this like this. Oh, we talked about this like this over here.” And I think that does sort of mold it into a closer voice. And hot potato? I don’t think so, really. We both know enough, I think it’s more a case of, “oh, well, I want to do that one. Well, I want to do this one. All right, I would like to do that one.” So, I think we kind of did that and then we had a few left and we went, “oh well, okay, you do that, I’ll do this. You do that, I’ll do this.” and it was quite straightforward.

    Carlos:             Gotcha. Very good. So now, Kevin, I’d like to get your take as well. And my– one of my structures or one of my, you mentioned, I either got it or I don’t. One of my goals was to do 1000 words a day. That was the goal. Sit down and do 1000 words. Now, that could be in different things, and obviously once you have some content, then editing becomes part of that. That was the way I tried to divide that up. Kevin, did you have any strategies or yeah, what was your take on putting your book together?

    Kevin:              With me it was as much a factor of when do I have time to write as anything else, and now, I had a pace for myself where I just said, “I’m going to get a chapter in every three weeks.” And that’s about the right timeline for the book, and I got ahead on a couple of them, which helped, because there was a stretch where I was just doing too much travel and didn’t have enough time to actually sit down and write. I couldn’t do every day.

    Carlos:             Writing on the plane doesn’t work for you?

    Kevin:              No, usually not.

    Carlos:             I’m just kidding.

    Kevin:              On planes, my IQ drops about 50 points. So, basically it was just trying to find the time, try to find the places and like Rob, some days it’s just going to hit. There are techniques where if you do practice enough, if you do it enough, it’s a little easier to tap that well, but you know, there are going to be days where you can stare at it for eight hours and not get a word in.

    Carlos:             Sure.

    Rob:                I gave myself about 20 minutes, and then it’s like, “right, okay, it’s not working, cool.”

    Kevin:              Yeah, my attention span is not that long.

    Rob:                It’s actually kind of a generic rule I have for myself is that if you know when you’re stuck looking at a problem, you’re stuck looking at a problem, you’re stuck looking at a problem, it’s like 20 minutes. Twenty minutes is time to either stop and walk away and have a walk, because then you will actually process it, or ask for help. Or both.

    Carlos:             Sure. Well, now, so you’ve mentioned, I guess, you have the chapters, so it already has 26 chapters, so you’ve already done some of that mapping. Does that not help the creative process in terms of, I don’t know, how you– so the number of chapters to commands doesn’t line up, so I’m not sure if you have them by categories, or whatnot.

    Rob:                The way it works is it’s kind of a story. We sort of think about what are you going to do as a DBA coming in. And the first thing you want to know is, “how do I get into DBATools? How do I install it? Is it secure? Should we use PowerShell?” And maybe some simple things just to get used to some of the common parameters to go through. And then we go through into, “well, the first thing I want is I want to be able to write to SQL Server. I’m a DBA.” “So, okay, well let’s do that.” Now, we think about “you’re coming into it an estate, let’s have a look at our estate. You want to find all of SQL Server.” So, we talk about how you can go about finding all of those hidden SQL Servers to save you from that pain of somebody coming over and saying, “oh, can you help me with this server?” “Oh, which one? I didn’t know anything about that one.” And then, into disaster recovery, so backing up, restoring, and then not just the database, but your logins and your agent jobs and all of those types of things. And then the thing that DBATools was built for, which was migrations. How to do we do migrations? Which then leads nicely into high-availability and log shipping, availability groups, those sort of things. And then we’re like, “well, okay, so you’ve got your estate, you know how to use PowerShell, you’ve found all of your instances, you can do your migrations. Let’s think about the other things you want to do. So, you want to do some tasks, you want to work with jobs, you’re going to be involved with devops, you want to be looking at how your activity’s working on your instance, and then maybe into the cloud and we’re going to have some Pester in there, because, hey, I love Pester. And it’s kind of that journey, if you like, from how can I learn about DBATools, but putting it in that context of if I come into an estate, what are the things that I want to learn how to do first. Because, those are the sort of concepts that DBAs will understand and most of the people who are going to be reading the book are going to be in the DBA field whether accidental or for real. And it was aligning that journey with how we explain some of the commands and hey, this book is not going to cover all of the commands, believe me. There will be many there that we don’t have a chance to talk about. But hopefully, we’ll teach people how they can find them for themselves and work out how to use them.

    Carlos:             There you go. So then, because you have a community-driven tool, what are some of the complexities around then trying to create a book, when you have so many people involved? Does that make sense?

    Rob:                I see the question. Actually, it’s quite simple in the things that we talk about are very, sort of quite big things. We’re not talking about the minutiae, because the minutiae is the things that might change as people find bugs or people add improvements. But the bigger thing you know, restore-dbadatabase, Stuart just added encryption to– it might be to backup-dbadatabase, in some way in the last two weeks, something like that. So, there’s a change, this happened within the tooling, but when we’re going to talk about backup-dbadatabase, we’re going to talk about it in very generic, very big terms, because we can talk about it as backing up just a single instance or a single database to backing up an entire instance, when you know, you walk in, nobody’s got any backups, great, backup-dbadatabase, sqlinstance, path, done. Let it run, it will back up everything that’s there. So, there’s a lot there that we can talk about without worrying about it. It’s not going to change as much as, perhaps you can imagine if you were writing a book about SQL 2019 over the last year.

    Kevin:              Yeah, about that.

    Rob:                And everything keeps changing as you write the book and then you have to go back and re-write chapters and I know this, because I’ve spoken to people who’ve written books about 2019 this year and it has been a voyage of experience and frustration in having to rewrite things.

    Kevin:              Repeated discovery.

    Rob:                Yeah. So, I think we’ve managed very well to keep that sort of stable. And we’re also trying to make sure that as we move forward that the examples that we use within the book will remain working in the code. So, we’re trying to keep an eye on those and put in some tests within the CI/CD process to make sure that those carry on working. Because nothing more frustrating than getting a book and going and trying something and then, “oh no, it doesn’t work.”

    Carlos:             Right, it doesn’t work, yeah.

    Rob:                So, if you’re reading this in two years’ time and that’s happening, let us know. Somebody will fix it.

    Eugene:           So, a related question, we started talking about how DBATools is at 1.0 or 1.whatever now, and I imagine that that was a significant prerequisite of stability for being able to even write the book, right? Just getting that 1.0 in place.

    Rob:                Absolutely, absolutely. The things that came through in the bill of health, particularly around sort of consistency of naming or parameter naming of the way things are able to be piped together, those kind of fundamental building blocks of the module had to be in place, and they were things that that needed to be in place to get to 1.0. We had to change parameters, because you know, Microsoft uses server instance, Chrissy had always used SQL Instance, I’d used SQL Server, other people had used SQL _instance or just instance. And in the main, those things were consistent, but as people write new code, “oh, this code’s amazing.” We put it in, because you don’t think, “oh, this code is amazing, but can you just change all of these parameters to match?” Whereas now, it is absolutely, “can you change all of these parameters to match?”

    Kevin:              Right, it’s a mature software solution versus an early development solution.

    Rob:                Of course, yeah, yeah. But you need that maturity like you said, to be able to get to a point where you can think, “oh yeah, we can actually mix some literature here that is going to be more substantial, say, than just a single blog post.

    Eugene:           That makes a lot of sense.

    Kevin:              Yeah, during development of the book, have you found any places where you’ve gone back and said, “we should change DBATools to work like this, because it would make so much more sense”?

    Eugene:           That’s great.

    Rob:                So, there’s this phrase, “test-driven development.” Yeah, so people understand this, you write your test and then you write your code to pass your test and then you keep on doing that and you end up with a great product. Or you have behavior-driven development where you think of a behavior and then you write some code to make sure that can fulfill that behavior and you move forward, “yeah, this is good.” Chrissy and I have also developed conference-driven development where we say that we’re going to talk about a particular thing and then, “oh, we better write the code to make that work.” And of course, now we have book-driven development. And book-driven development is exactly that. Some of it is, “oh yeah, we want to talk about this in this chapter, but we haven’t written the code yet,” and normally that’s Chrissy. Chrissy does a lot of this code writing at that sort of scale and she’s definitely written some significant code to make sure that we get stuff in the book. And absolutely there are going to be other little bits that we come through where, you’re writing about something, you’re creating, not demos, but things to give code samples, and you just say, “oh, hang on a minute, that doesn’t work quite how I expected it to work,” and then you raise an issue and then we write a PR and then we fix the stuff. So, it’s happened at two levels. At the tiny level where, “eh, that’s not quite right,” to, “uh, yeah, we haven’t got this yet, and we need it to have it for the book.” So, it’s been cool.

    Kevin:              That’s a good way to flush out use cases.

    Rob:                Yes, give it to the SQL community and it’s amazing. It’s fantastic, people come up to you, “oh, you do that? Okay, yeah. Oh, oh, it doesn’t work when your Windows language is Korean and your SQL Server’s in you know Outer Mongolian.” “Um, okay. Well, we’ll try and fix that.” It’s brilliant. I love it. We’re people from all over the world and we’ve all got different things and it’s fantastic.

    Carlos:             Sure.

    Kevin:              That’s a lot of Docker containers to spin up for testing.

    Eugene:           Yeah. So, I’m curious if you’ve heard of a different book by Don Jones called Instructional Design for Mortals?

    Rob:                I have. I know the title and that is probably my sum total of knowledge. Give me an elevator pitch.

    Eugene:           Sure, sure. Well, I definitely recommend reading it for a couple reasons. So I make like a third of my money from Pluralsight courses and so instructional design, making content that helps other people learn is really important to me, right? And Don Jones, you know, for our audience, the same people that wrote PowerShell in a Month of Lunches wrote an instructional design book about how do you make content that works for adults. Because adults are busy and unless you can communicate to them why they should care, they don’t care, because they’ve got better things to do, like walking their dog or spending time with the family or whatever. But I think you’d be interested in reading it, because in it, he talks a lot about his design choices when he made PowerShell in a Month of Lunches. And you talked about some of the pieces where it fits in a lunchtime, it’s very hands-on, so it’s a lot more engaging, but one of the really interesting things that he talks about is, in his book, he tried to design such a way that, okay, you learn something in chapter one and you’re going to use that thing again and again in future chapters, which I thought was really interesting, his kind of spiral approach. But even irrespective of the relation to the whole Month of Lunches thing, it is probably the best and most plain-spoken instructional design books that I’ve ever read. So. anyone who is making courses or books or anything like that, I definitely recommend checking out Instructional Design for Mortals, subtitle Creating Better Adult Learning. It’s a really good book.

    Rob:                I’m just looking it up right now. Oh, good, and you can get it on Kindle Unlimited.

    Eugene:           Yeah, yep.

    Rob:                Which is excellent. So speaking of that, and relating it back to our SQL Server in the News, I noticed that Buck Woody wrote a blog post yesterday or today, our time, so a couple of weeks ago, talking about how to learn quickly, learning things fast. And it’s an interesting thing, because it’s about the fact that the pace of change is so vast at the moment, that we just got all of this new stuff coming, the firehose as people call it, coming at us, and all these things we can learn. How do you learn things? And he gives some really good little snippets as to how he goes about learning something quickly. And he says learning something quickly doesn’t mean that you really understand it in this deep dive, but it’s about how he gathers all of that information quickly. So yeah, Buck Woody, Learning Things Fast, as well as Instructional-

    Kevin:              Design for Mortals.

    Rob:                There we go. Those words. So yeah, we’re all about the learning today, aren’t we? It’s lots of sharing and learning.

    Kevin:              It’s the Pedagogical Data Partners Podcast.

    Eugene:           Well, if you read the book, you’d know about the word andragogy, which means adult learning. I don’t know if anyone actually uses that, though.

    Kevin:              Yeah, that is too close to other words that mean totally different things and–

    Eugene:           That’s fair.

    Kevin:              Too easy to mispronounce.

    Eugene:           Also fair.

    Carlos:             And we digress.

    Eugene:           Yep, that’s what we do on this show, Carlos.

    Kevin:              Well, ‘to digress’ means that we had an initial point to begin with.

    Carlos:             Hey well, for Rob’s sake, I think we had that, right? We had some momentum, there.

    Rob:                I tried my best, and it’s one of the things I say when I’m doing sort of pre-cons, full-day trainings is, “you’re welcome to ask me questions, but please, if I keep on going down the path that you’ve sent me down, we won’t get all of this done.” So, I am really easy to divert from the chosen path to something else. There’s always something that I’m just passionate about, I love talking about.

    Carlos:             Sure. To go down that tangent, I mean that’s one of the reasons why, like thinking about our event, from a SQL Trail perspective, and that whole idea of like the hallway track and having the conversations that you actually want to talk about. Having prepared content is great, but then being able to like, “okay, well, now how does that apply to me or, you know, how can I make that a little more, yeah, applicable, is super valuable, but it does sometimes limit the amount of content we can then get through.

    Rob:                I’ll tell you a story. I did a pre-con about DBATools at PASS Summit, and I stood up in front of however many people that were there, and I said, “here we go, we’re going to do this thing and here’s the Power Point and we’ll introduce DBATools and go through some of the bits and bobs.” And I went, “congratulations, it’s 25 past nine and we’ve got no more Power Point. That’s cool, isn’t it?” Everybody looked at me, and I said, “right. What do you want to learn?”

    Carlos:             Oh wow.

    Rob:                And several dozen people looked back at me and went, “um, hang on a minute, you’re up there and we’re down here. This is kind of supposed to be the other way around.” And I went, “yeah, sure, I can go through all of the stuff I’ve got but it would be better if we can do some stuff that you want to learn. That’s the whole point.” So, I waited and I stubborned them out a bit and somebody went, “oh, okay, well, show me this.” And I went, “cool. As it happens, I’ve got a demo on that.” And then we went, and it was not quite a spur of the moment thing, but it was something that when I designed my pre-con and training and wrote all the demoes, I modulized them so that I could just jump in and out of– they were all individual from each other, so I could do something like that. And I know once you’ve been doing this sort of thing for a while, you get to know the sort of questions that people are going to ask, so it’s cool. But it was absolutely fascinating, it was a really, really interesting experience as a presenter. And I was curious as to how it would be for the people who attended, because obviously, some people are going to be too shy to ask questions, which is fine. Some people are going to be like, “oh, I’m overloaded with all this information and I can’t think of a question,” which again, equally fine. I think if I go to a pre-con and spend all day training with somebody, I want to get to the point where my head is exploding with information and I just have to go back and look at my notes later and make sense of it, and I wasn’t completely overwhelmed by one person. It wasn’t one person fixing stuff, fixing stuff. And as soon as you came to sort of like, oh, something that’s very specific to somebody’s particular environment, it’s like, “yeah, we’ll leave that one. I’m happy to talk about it, but let’s do something that’s more use for everyone.”

    Carlos:             Right, for the greater good.

    Rob:                And it was a really, I guess really refreshing experience, actually. I really did have fun and people did seem to enjoy it. No reviews that I got were about that. The most critical review I get is that I speak too quickly. And it’s because I just get excited and my brain goes in a million miles an hour, and it’s something that I have to try and improve on. It’s always good to get things that you can make a difference about. But nobody made a comment about approaching it in that way, in a negative fashion, which I thought was really, really interesting.

    Carlos:             Yeah, that’s good. Good deal. So, we are approaching or hour mark.

    Rob:                Wow.

    Carlos:             So, I guess last questions, maybe, about the book? Or other things, other tangents you wanted to go on, and then we’ll do SQL Family? So, Eugene or Kevin?

    Eugene:           No, I think I’m good. I feel like I got a good idea of the approach of the book and what you’re trying to accomplish.

    Kevin:              Yeah, my last question is, it’s not fair to ask while you’re writing the book. Normally we have to wait until after you’re done, but, would you write another book?

    Rob:                Would I write another book? Would I write another book about DBATools?

    Kevin:              About anything in general.

    Rob:                Anything? Yeah, sure.

    Kevin:              Okay, so see, clearly, you’re not done with the book yet. So that’s–

    Rob:                Absolutely. I have enjoyed the process. I like sharing. I know that I can just start writing and it will come out and at other points it won’t. I would happily write another book for Manning, because I know their process and I know the way that they work. I think if I was under a different pressure, different deadlines, maybe, then I might not. But yeah, right now, I haven’t lost the, “oh, this is cool.”

    Kevin:              Right. That’s good, that’s good. Definitely keep that until after you’re finished writing the book, then the bitterness can set in.

    Carlos:             Oh gosh, yeah. Interesting. Last thought, Rob? Anything else you want to chime in here on?

    Rob:                Oh, well, I mean, the last thing I want to say is SQLBits. SQLBits is a fantastic conference in England. It’s a bit like PASS Summit, but more fun. And this year it’s back in London and I would recommend that everybody should come and have a visit, even if it’s just for once. So, if anybody who’s over on the other side of the pond from where I am, is looking for something to do at the end of Ma– well, technically beginning of April, I guess, in London, please have a look at SQLBits because it’s an excellent conference for some good learning and we have some good entertainment party.

    Carlos:             Very nice.

    Kevin:              Yeah, this year that’s March 31st through April 4th.

    Rob:                That’s right.

    Carlos:             Is the call for speakers still open?

    Rob:                The call for speakers is open for another 10 days.

    Carlos:             Ten days.

    Rob:                So by the time this goes out it will–

    Carlos:             It’ll be– no, no, yeah.

    Rob:                It’ll be done, yeah.

    Carlos:             Okay, so compañeros, you’ve made it this far, and I should throw out now that I have some codes. So, Manning has been nice enough, so we actually have two things. So, one, we have a permanent discount code, which you can use for it says, “all our products”, which I need to clarify. So, I’m not sure if that includes other books that are beyond the Month of Lunches.

    Rob:                Absolutely. Yeah, it absolutely does.

    Carlos:             It absolutely does? Okay, so there we go, so I’ve got a permanent discount code for you for all Manning products, if you missed Cyber Monday or the Black Friday specials. And I also have five free eBook codes. So, the way that you’ll need to get those free eBook codes is you’ll have to message me via social media, or you can email me. [email protected] The first five people to contact me and ask me about the code will get them, and they’re yours. You do have to act fast. They’re only active for a little bit longer, but yeah, that’ll be a nice way if you’d like to get in there and at least get the digital copy. So I’ve got the eBook to offer.  So, the permanent discount code is podsqldp19. So that’s the permanent code, and we’ll make sure that it gets into the show notes, as well. So, awesome. Okay, so with that, shall we go ahead and do SQL Family?

    Rob:                Absolutely.

    Carlos:             Okay, and I guess I should say, if you’d like to go back and listen to Rob and Chrissy’s original– and team, cause we had a couple of other folks in there, that was, man, so my time is getting off. So that was actually April of 2017 we had you guys on.

    Rob:                No.

    Carlos:             So, it’s been a minute.

    Rob:                Yeah.

    Carlos:             Episode 91, so yeah. There we go.

    Rob:                Wow, there we go.

    Carlos:             Okay, so let’s see. SQL Family questions. All-time favorite movie?

    Rob:                All-time favorite movie?

    Carlos:             As of right now, as of this recording. It’s okay if it changes.

    Rob:                Right now, the movie that I watch the most often and I’m looking forward to it, because we’re coming up to that time again, is on Christmas Day, my wife and I, we will watch Die Hard and Die Harder. It’s our Christmas thing, and I don’t care who says they’re not Christmas movies. They’re Christmas movies, and I love them.

    Kevin:              So, do you watch the original versions or the TBS edited versions?

    Rob:                Oh, the original. The original, original versions, always.

    Carlos:             There we go.

    Kevin:              It actually took me a very long time before I saw the original, because I would always see it on broadcast television here in the US, so they cut out a couple of the things that I’m like, “wait, that was in the movie? I never remembered that as a kid.”

    Carlos:             Yeah, a little different there, huh?

    Kevin:              It was okay, they kept all the shooting in. That was no problem.

    Carlos:             So, the city or place you most want to visit?

    Rob:                I most want to visit New Zealand.

    Carlos:             Have you been there before, or is this going to be a new–

    Rob:                I’ve never– nope, I’ve never been down there. I know people who have. I’ve seen pictures, they looked beautiful. I’ve been to many places in the world. I’ve been very lucky being able to go to all sorts of places from India to Slovenia to all sorts of wonderful places I love, but I’ve never been as far as New Zealand, and I’d really like to go.

    Carlos:             There you go. So, the food that reminds you of your childhood?

    Rob:                Tomato soup.

    Carlos:             What kind of soup?

    Rob:                Tomato.

    Carlos:             Oh, tomato, oh, there we go, okay. So, in the US anyway, there’s a side, normally like a grilled cheese. Did you have anything with your soup, or?

    Rob:                So, tomato soup would have been autumn and winter coming back from, going and walking the dogs or something and you’d have it with just a little bit of milk stirred in, so it just made a little white color on the top. And occasionally, some toast, but often just the tomato.

    Carlos:             Just the soup. There we go, very nice. Interesting. So now, how did you first get started with SQL Server?

    Rob:                Somebody asked me to apply to be a DBA.

    Carlos:             Hey, that’s actually very similar to my story. And you’re like, “well, I know the acronym, so, let’s do it.”

    Rob:                Yeah, it was like, “okay, I’ll give this a go.” More interesting is the story about how I got interested in data, which is in my past I worked in what are called ‘secure units’. So, places where people who have learning disabilities, particularly autism, who are too challenging to be able to live in the normal world. And they end up being supported in secure units and that’s where I worked, and it was something I always really enjoyed doing. So one side of it is the side everybody thinks about, which is the fact that you have very violent people, you have very strong medication and you need to restrain them and hold them down and stop them from hurting themselves or other people or the surroundings that they’re in. And that’s all true, that all happened, but the reason I got into data was as a manager coming through, we were about to start bringing in another new person. One of the things the company I worked for did was bring people out of those environments and into community homes, which took a lot of paperwork and came with a lot of risks, but it was really, really rewarding. And the staff morale was low with the thought of bringing another new person in, because it disrupted the balance.

    Carlos:             Yeah, new norms and setting expectations, all that other stuff.

    Rob:                Make no bones about it, I had to take my staff to hospital on many occasions. We’re talking people who could have severe challenges to the world around them, so I can understand why my staff were upset, and I sat down, and I put together a note. I remember it so much, using this thing called Excel in 1990-whatever it was. And I put together the list of what we called Incidents by month and the list of words that we’d taught this person, the last person that had come in, by month. And I stood up in front of people and I said, “look, when this guy came in, this what we faced, and it was hard. You know, we had over 300 violent incidents in a month. And now, look, we’re down to three, and those three really, they’re nothing like any of those 300 that we had early on. But hey, look at the other part of this. The other part of this is when this guy came to live with us, he had 20 words that he could communicate with. He could speak a little bit; the rest was maybe sign language and that was it. And now, he’s got over 400. So those two things are related, but also, hey guys, look at the work that you’ve done. You know, we’ve given this person a better life for themselves and improved everything, is because of all the hard work that you guys commit. And now we get to do it again, with another person. And it’s going to be hard, but hey, we’re going to do this.” And that was the first time that I really got into looking at data, using data in any form at all. And that’s absolutely where my journey to where I am right now began.

    Carlos:             Very nice, wow, what a journey, huh?

    Rob:                Yeah, oh yeah.

    Carlos:             Now, in all that time, working with SQL Server, if there was one thing that you could change about SQL Server what would it be?

    Rob:                The one thing that I would change would be to take away the PowerShell agent job step, cause it’s just rubbish, and I hate it.

    Kevin:              So not even fix it, just burn it to the ground?

    Rob:                Just burn it, yeah, throw it away. So, the PowerShell job step, it doesn’t– I mean, it uses PowerShell, but it uses a mini Shell, in general, which doesn’t have all of the capability. And basically, it means people go, “hey, I’m going to write some PowerShell.”

    Carlos:             Execute it there.

    Rob:                “And that means that I’m going use the PowerShell step to it.” And then it doesn’t work.

    Carlos:             Doesn’t work.

    Rob:                And then they go, “Rob, Chrissy, Shawn, whoever. This doesn’t work.” That’s right. If you’re facing this, lovely listeners, DBATools.io/agent will show you the way to run PowerShell with an agent tool. And then you can burn the PowerShell job step.

    Carlos:             Very good. What is the best piece of career advice you have received?

    Rob:                Never stop learning. Always be humble. Remember that you’re going to meet people again, so don’t burn those bridges.

    Carlos:             Indeed. That’s good advice. That’s particularly, in IT, right? You want to stop learning, then you’re probably in the wrong business.

    Rob:                Absolutely, yeah.

    Carlos:             Our last question for you today, Rob, if you could have one superhero power what would it be and why do you want it?

    Rob:                Now, see now, this was the question that I really don’t know the answer to.

    Carlos:             Now, so I have to admit, I had a inkling about what it would be, but I guess go ahead and finish your thought.

    Rob:                I think that a– no, honestly, I don’t know.

    Carlos:             Okay, so I thought you were going to have some kind of  like super beard, like you know, “my beard can type for me” or something.

    Kevin:              So, mission accomplished, there.

    Rob:                Yeah, that would be good. Although, one of my reviews did come back saying that they couldn’t see the demos because the beard was in the way. It was in jest. It was absolutely in jest, but I thought that was fantastic. That was brilliant.

    Carlos:             Okay, so I guess we’ll all be pondering what your superhero power will be.

    Rob:                Hey, people on social media can come back to me when they read this and go, “your superhero power could be…ba-dum” Come back and let me know. Let’s interact. It’ll be fun.

    Carlos:             Hey, there we go. So, we need suggestions, compañeros.

    Rob:                There we go, yep.

    Carlos:             So, people want to reach you, particularly on Twitter, you are SQLBeard?

    Rob:                I am @SQLDBAwithBeard.

    Carlos:             There we go.

    Rob:                That’s very, very important, because it’s “with beard”.

    Carlos:             With beard.

    Rob:                Not “with a beard”. And the reason for that is–

    Kevin:              That’s somebody else.

    Rob:                No, no, no. The reason for that is that Twitter has a 15 character limit to its handle, so when I first changed my Twitter handle, I became SQLDBAwithaBear. Which I kept.

    Kevin:              Yeah, that’s still an account, that’s still active.

    Rob:                Oh yes. But yeah, so it’s SQLDBAwithBeard.

    Carlos:             With beard. Okay, let him know, compañeros, what you think his superpower should be. So thanks, Rob, for being on the program. We appreciate it.

    Rob:                Thank you so much for having me. It’s always fun to sit and talk with other fantastic people. Thank you.

    Carlos:             Well, we do appreciate it. Again, compañeros, podsqldp, like Data Partners, sqldp19 (podsqldp19) for your discount on Manning products. The first five folks to reach out to me via email, social media, what have you, I have five eBook codes for Rob’s book. And yeah, we appreciate your thoughts and insights. So Rob gave you his Twitter handle. Are there other ways that folks might be able to reach out to you? I guess we talked about the book already. They can go through book means if they want to do that way.

    Rob:                Absolutely, yeah, they can do that. If it’s something to do with DBATools, then  please go back through the DBATools GitHub account. So, DBATools.io/git will get you to there, and then you can open an issue there, so the best way of making sure that your issue with DBATools gets resolved. If you want to talk to Chrissy, she’s @CL on Twitter, and there’s DBATools. And most importantly, go in the Slack channel, because there’s hundreds of people in there. The SQL Server community Slack is the place to find that and the short link is DBATools.io/slack. We like our short links.

    Carlos:             There you go, very good. And folks can also reach out to Eugene.

    Eugene:           Yeah, you can find me on Twitter @sqlgene or my blog, sqlgene.com.

    Carlos:             And you can leave him a message about why he should be writing a book. No, I’m just kidding.

    Eugene:           Too soon!

    Carlos:             Yeah, too soon. Oh, pour salt on the wound. And Mr. Kevin?

    Kevin:              You can find my details in Chapter 11, page 8, line 3, but you’ll have to wait until the MEAP’s updated.

    Carlos:             There you go. And only the first you know, what is it, 10 people? And compañeros, I am on LinkedIn at Carlos L Chacon. Yeah, reach out to me. Again, first five folks to reach out to us, I’ll give you those free eBook codes and as always, thanks for joining us. We do appreciate it, and we’ll see you on the SQL Trail.

Listen to Learn

00:38     Intro to the guest and topic
01:28     Compañero Shout-Outs
02:23     What Have I Learned
05:07     SQL Server in the News
07:36     DBATools Version One came out in June 2019
09:07     Why they decided to put together a book on DBATools
14:02     You can read this book (and more) as it is written!
17:22     Everyone’s experience in book writing
18:50     Rob and Chrissy’s approach to writing this book
20:55     How Carlos and Kevin approached writing their books
22:38     The book is written as a storyline for the reader
25:20     Writing a book around a community-driven tool
27:26     Getting 1.0 in place was a significant prerequisite to writing the book
28:53     Writing a book about your product can sometimes cause you to write new code
31:01     If you are into teaching in any way, read Instructional Design for Morals by Don Jones
32:42     Buck Woody’s blog post called Learning Things Fast and some digression
34:43     Rob tells us a training story
38:08     Would Rob write another book? Also, come to SQLBits!
40:19     Presents from Manning! Discount code! Free eBooks!
42:03     SQL Family Questions
50:57     Closing Thoughts

Imagine what’s possible with a dedicated SQL specialist on your team.

Credits

Music for SQL Server in the News by Mansardian

1 Comment

Leave a Reply

Back to top