I can still remember working in high school when you had to ‘dial in’ to the internet and Microsoft bought the rights to the Rolling Stones song ‘Start Me Up’ for the release of their highly anticipated software Windows 95. It was a complete game changer for me and shaped my professional life with the releases of the Windows Server Operating System. While you could never just wing it, the GUI provided a rich interface and the ability to explore features without having to know all the syntax to execute the functionality. You can image the surprise I felt when Microsoft came out with Windows Core–an operating system with no GUI. While you may not have adopted Windows Core yet, our guest, Frank Henninger, suggests you should reconsider. We chat with him about the benefits, some of the challenges, and how we can better take advantage of using Windows Core.
“One of the nice things about Server Core is if you take out all of the overhead that the operating system requires for the desktop, you can actually run more servers.”
“Server Core is actually less [of] an exposure from a security standpoint… the surface area is reduced.”
“You can get the database engine, you can get replication running, full text search, SSIS, and Analysis Services are also supported.”
“PowerShell’s your best friend when it comes to Server Core. And when it comes to SQL Server and PowerShell, get to know DBATools.”
Listen to Learn
00:38 Intro to the guest and topic
01:29 Compañero Shout-Outs
02:04 SQL Server in the News
03:59 Why Windows Server Core? For one, a dramatic reduction in space needed
05:33 What is not included with Server Core?
07:01 Windows Server Core provides less of a security exposure
08:03 How does using a command line change your SQL Server experience?
09:40 How patching and updates work with Windows Server Core
11:28 Who will have an easier time adjusting?
12:58 The first time you install Windows Server Core
13:34 Installing SQL Server on Server Core
16:33 All of the basic things of SQL Server work on Windows Core…except SSRS
17:21 The minimum first steps to managing your server(s) remotely, as you should be
18:27 This is all remote without RDP…here are a few caveats
20:25 Windows Server Core and containers
22:24 In-house applications or web applications running off Server Core machines
23:15 Depending on the age and version, most servers will work on Windows Server Core
24:23 Using Server Core could save you money
24:51 PowerShell can be your BFF and get to know DBATools…they’ll save your bacon
26:04 SQL Family Questions
32:09 Closing Thoughts
About Frank Henninger
Frank is the Database Administrator for a third-party insurance administrator where he manages 75+ instances of SQL Server. Frank is a Microsoft Certified Professional who has more than 10 years managing Oracle, DB2 and SQL Server instances. He’s contributed to the dbatools and dbachecks powershell projects and is based in central Illinois. He and his wife are proud the proud parents of three children seven and under, so they desperately need more sleep. You can connect with him on twitter @OsirisDBA.
Music for SQL Server in the News by Mansardian
Carlos: Compañeros! Welcome to another edition of the SQL Data Partners Podcast. I am Carlos L Chacon, your host, and I am excited today to have Frank Henninger with me. Hey Frank!
Frank: Hello, Carlos.
Carlos: Hey, welcome to the program. We’re going to be talking about Windows Server Core today, right?
Carlos: Before we do that, we would like to acknowledge, as always, we have Kevin Feasel with us today.
Kevin: Acknowledge my existence.
Carlos: Yes. And of course, we have Angela Henry as well. So Frank works with an insurance administrator outside of Illinois and this is going to be an interesting topic, because it’s one that, admittedly, full disclosure, I have not used Windows Server Core. I poked a stick at it and said, “woosh, do I have to?” and then went back to the easy button. So, I’m interested to see what Frank has to say, here.
Before, however, we get into that, we have a couple of things we want to talk about. So first, Compañero Shout-outs. Want to give a couple of shout-outs first to Aaron Hayes moving on to greener pastures. Congratulations Aaron, and hope things are going well. Also give a shout-out to Kevin Israel and our friend Jonathan Stewart. It’s been a little too long since we’ve mentioned his name, and so Kevin thought it would be a good idea to mention him.
Kevin: For the record, I thought it would be an awful idea, but Carlos somehow still went on with it.
Carlos: You know, being the host does have its perks. Okay, and time for a little SQL Server in the News. So because of the way we recorded this, compañeros, you won’t know it, but we actually did our intro to the last episode yesterday and so not a ton of news, but something that caught my eye between then and today. SQL Server Management Studio Version 18 Preview number 6. So, I must ask my panel, how many previews are we going to have of this thing and why do we have so many?
Kevin: We haven’t gotten to CTP 3 yet, so we’re going to have a few more.
Carlos: Okay, so stick with 17, you’re saying, Angela?
Carlos: Don’t do it. Yeah, so I guess lots of bug fixes. I guess we’ll have to see. I guess them ripping out database diagrams introduced a bunch of things that–
Angela: Yeah, trying to add new functionality, trying to make it, you know, bigger and better and it’s taken longer and longer.
Carlos: That’s right. Now Frank, before we started recording, you had an interesting strategy to deal with SQL Server Management Studio.
Frank: Yeah, I work mostly off of a VM remotely, but my laptop always maintains the older version. So I’ll install the new version on my VM, but then if something goes wrong, I always have something to fall back on.
Carlos: There you go, yeah, I like that. I like that. And then, adding Azure Data Studio on top of that, so that we have lots of different ways to connect to the database now. So at least from a tooling perspective, nothing changes, but if you are one of those people that likes RDP, then our topic today will come as a bit of a shock for you, there.
Our show notes for today’s episode is going to be at sqldatapartners.com/servercore or at sqldatapartners.com/157. Okay, so Frank, thank you for being with us today.
Frank: No problem, good to be here.
Carlos: So ultimately, our topic, Windows Server Core. Okay, and so the idea of a Windows operating system with nothing, with no GUI.
Angela: With no Windows.
Carlos: With no Windows, that’s right. Like, what the heck? Like the Twilight Zone. I mean it’s bad enough that Azure is supporting Linux and we’ve got SQL Server on Linux and all this other stuff. Now we have a Windows operating system with no Windows. So what’s that all about? What are they trying to pull, here?
Frank: Well, what they’re trying to do is to go into the space where you have containers, or you have Azure or AWS where you want to run massive amounts of instances of Windows but you don’t want the overhead. One of the nice things about Server Core is if you take out all of the overhead that the operating system requires for the desktop, you can actually run more servers.
Carlos: Interesting. Yeah, I know from a spacing perspective, your environments may differ, compañeros, but normally it was like, so like 75 gigs for a long time. I think 2016, we’ve pushed that up to like 100 gigs now on your C drive. That’s what you needed for your C drive. I can’t remember off the top of my head, but the space needed for Windows Server Core dramatically reduces that.
Frank: Dramatically reduces. My default C drive here is about 50 gigs and we don’t even use half of that.
Carlos: Okay, yeah, so you’re now looking at roughly 25 gigs, rather than the 75, I mean, 60, 75 easy and then you start adding all the other files as you start to use it. But yeah, okay.
Kevin: So Frank, there’s obviously this big space difference. What are the types of things that aren’t installed?
Frank: You don’t have Windows Explorer, so that’s not such a big deal, because you also by default don’t have RDP into the system. You actually have to enable RDP and when you RDP into a Server Core system, you get nothing but a console window. So, it’s a big change.
Angela: So what you’re telling us is we have to brush up on our DOS?
Frank: Your DOS, your PowerShell.
Angela: Are we going backwards in time?
Frank: Get used to working from a command line.
Kevin: There’s a better shell, Angela, there’s a better shell. It’s called Linux Subsystem for Windows.
Frank: Ooo, harsh.
Carlos: Kevin had to go there. So, you mentioned containers, so trying to get into different environments. I mean, obviously we’ve seen Microsoft make the attempt to provide services or functionality to different areas. So you mentioned being able to run more systems, like you said, you think about a VM system, “I need to carve that up. I can run more operating systems.” Is this something that you’re doing there with your insurance company?
Frank: Yes, any new system that we create will start out as a Server Core and only if we absolutely have to do something that is not supported will we go ahead and install a full version of SQL Server or a full version of Windows itself.
Frank: I mentioned SQL Server, because there are some parts that aren’t supported. So we’ll probably get into that in a bit. Another thing that I’d like to mention about why we use Server Core is that it’s actually less an exposure from a security standpoint, as well. There’s parts of Windows that have been around since Windows 1. A good chunk of that is the Explorer and other pieces, so if you can remove those pieces, your possible footprint for an attack window actually goes down.
Carlos: Yes, so our beloved Paint, that they threaten to remove and then they’re like, “okay, just kidding, we’ll leave it back in”. Who knows what kind of threat options might be available, there.
Kevin: All I know is they’re changing NotePad. I’m not sure I’m okay with that.
Carlos: Oh boy. I hadn’t heard that. That’ll be interesting to see.
Kevin: The screenshot looks okay, but I don’t know. NotePad has a certain rustic feeling to it, but it’s fast.
Carlos: You just know that you’re– there’s no fluff and that’s right. Oh, it’s faster, so opening larger files?
Kevin: Well, okay, opening large files in NotePad usually is a disaster. I’m concerned about what new NotePad will look like, or will act like, I mean.
Carlos: Gotcha. Yeah, so it is a bit of a trick. And let’s talk through, so ultimately, on the SQL Data Partners Podcast, we’re most interested in the database perspective of it. So installing Windows Core, yeah, you RDP, you get a console window, so everything’s going to be via the command line. So what then, or how has that changed your experience from managing or interacting with SQL Server?
Frank: Surprisingly, management part is not very much different, because if you think about it, you mostly manage SQL Server remotely anyway.
Carlos: Or should be.
Frank: You should be. Unless you’re one of those people that RDPs and has SSMS installed on every box, it should be something that you should be doing. So, a lot of the day to day tasks, you don’t even notice. The biggest issues are when it comes to installing or patching or trying to change something at the server level instead of at the instance level.
Carlos: IE, the one change that we’re always looking for, the number one reason I have to log in or RDP into a server now, is to take a peek at the power level settings, which apparently, I guess there is some now, I guess I’ve had intermittent results with it, the ability to do that remotely. But that’s something that I’ve seen myself, or at least caught myself doing, RDPing in to catch that.
Frank: Yeah, you can do that via PowerShell, now.
Carlos: Oh, there we go. Is that backwards, or is that only Windows Server 2016? Do we know?
Frank: That I don’t know off the top of my head.
Carlos: Okay, so that’s something that I have to take a peek at. Yeah, so I did see that, but admittedly, that’s one of those habits that I have to break, is using PowerShell a bit more. Okay, so I guess let’s talk about patching, there, for a second. How does that work?
Frank: Well, patching is all via the command line, and truthfully, you log in and the patch command is the same. You give it the .exe for the patch and you say, “patch all instances”, and that’s all it does. There’s no window that pops up. It’ll just go ahead and start the patch and when it’s done, you’ll have to look in the log directory to see what the status was, though. Unfortunately, when you patch with Microsoft’s patch files, they don’t print anything out to the screen.
Carlos: Okay, so there’s a little bit of follow-up work there, afterwards. Okay.
Kevin: So, for Windows updates style updates, would WSUS still work the same way or is it different?
Frank: WSUS still works the same. We manage all of our systems using WSUS.
Kevin: Okay. Any other trickiness around patching or updates that makes a difference, here?
Frank: The only ones that I can think of that we have are issues with policies. Applying a policy to a Server Core system is rather convoluted because you have to create the policy locally on your own system, export it and then import it into the server. There’s no fancy, easy way to do it. So policy management is a little hard. Fortunately, the only thing we really worry about too much on SQL Server’s side is the policy to perform volume maintenance tasks. If you want to turn that on, though, they will do it during the install, now, for the newer versions of SQL Server.
Kevin: True, yeah.
Carlos: Now, what about like through AD policies? Is that something that you can push out that way?
Frank: You can push out any active directory policies the normal way, as well. It’s just those local policies that need to be turned on.
Carlos: The local ones, okay, we like to do on this show is to help people get a feel, because and I’ll include myself in this, you go to these sessions or whatever and they’re like, “oh, it’s so great, Windows Server Core, it’s easy and blahblahblah” and you don’t see there is the banging against the wall and the crying for help that you had to get through to get to the point where you–
Kevin: Are you sure you didn’t get into a zombie movie?
Frank: Well, I see issues, and especially a lot of pushback when it comes to Server Core. Either people don’t know about it, or they’re like, “why would I do that?” And a lot of that is because you came up in a Windows environment. So if you came up in a Windows environment and you’re used to a desktop, then changing that paradigm to being completely command line is a big change, and it’s hard for some people, including system administrators, to do. If you’ve been a system administrator for Windows exclusively your whole life, it’s a massive change. If you’ve been an administrator for multiple operating systems, then you’ve had that experience, so it’s an easier transition. So, I started out as an Oracle on Linux and DB2 on AIX administrator, and then eventually transitioned into SQL Server, so I’m used to command line maintenance. And so this is why I’m a big evangelist for Server Core, because there’s a lot of benefits, you just have to get over that hesitation, “how do I do this?”
Carlos: Sure. so that’s then in your experience, so the first time you ever installed Windows Server Core? What’s the ramp up time, here?
Frank: Installing is actually rather simple. In 2016, when you install Windows Server 2016, the default installation now is Server Core. You actually have to choose to do the server with desktop experience.
Carlos: Oh, interesting, okay.
Frank: So, the install is pretty much the same. It just drops you into a command line window when you’re done.
Carlos: Right, right.
Frank: So, if you didn’t know that, it’s a little shock the first time.
Carlos: Right, okay.
Kevin: So, let’s say I want to install SQL Server on Server Core, what do I have to be mindful of, here? Other than group policy or the perform volume maintenance task? Is there anything else that behavior-wise would be different?
Frank: Well, first, when you’re installing, you have to have already created what’s called a configuration file. When you do a standard SQL Server install and you go through and click next, next, next, at the very end of that, if you look at the screen where it gives you all of the features that you’re going to do and right before you click finish, at the bottom it has a path for ‘this is the configuration file for this install’. And if you do that on your own local machine, and then take that file and move it to your Server Core instance, you can use that to go ahead and install. So, you get the benefits of having the GUI to create the install, you just have to take the configuration file that’s generated and move it to the server. Now when you start managing lots of servers, you get standard files that we start using, but for the first one that you just want to play around with it, go ahead on another machine that has a full desktop, create the configuration file. You don’t even have to install SQL Server, that file will still exist if you just cancel the GUI at the time.
Kevin: Okay, and once I get it installed, I know that there’s historical generally accepted fair enough ideas about how much memory I should reserve for the operating system. Does that change if I’m using the Server Core SKU instead of Enterprise or some other edition?
Frank: Recommendationally, not really. I only reserve about a gig if it’s strictly a SQL Server installation.
Carlos: Nothing else sharing the box.
Frank: If there’s nothing else sharing the box, and I didn’t install SSIS, because SSIS uses memory outside of SQL Server. But if it’s just SQL Server, I only reserve a gig. Now, sometimes that’s not enough and we’ll have to increase that, but for the most part, on the size machines that I’m working on, one gig just reserved for Windows seems to be fine.
Kevin: Okay, that is a bit lower than what I normally would do for a non-Core SKU, especially if we start talking about the 6400 128 gigs of RAM on a server?
Frank: When I get to that point, I’m looking at four or five gigs on a standard install to be kind of safe.
Kevin: Okay, then that four or five gigs, same for a Core install or are you still down at the one gig point?
Frank: I’m still down. I always start at the one gig point unless I really need to.
Kevin: Okay, so there can be a reasonable RAM savings when using Core?
Frank: Yes, because it doesn’t have any of the desktop components, so none of that is being brought in, it doesn’t have to manage displays or anything.
Carlos: Right, you wouldn’t have to worry about anybody RDPing in to suck up resources and start running things and all of those other Windows processes, yeah, interesting. So, we talked about some of the things that aren’t supported. So I guess, we talked about some of the nuances on the Windows side, so things in SQL Server that you can’t run on Windows Core?
Frank: Well, when it comes to SQL Server, you can get the basic things. You can get the database engine, you can get replication running, full text search, SSIS, and Analysis Services are also supported. The bigger one that is not would be SSRS, so if you need Reporting Services, you have to install a full desktop version of Windows Server.
Carlos: Yeah, there you go, that makes sense.
Frank: Another couple more are things like Master Data Services, or if you’re doing a Distributed Replay controller, you’ll need a full version. But the Distributed Replay client will go ahead and run on a Server Core instance.
Carlos: Oh, interesting, okay. Very cool. So then, we’ve talked a little bit about that management piece and that yeah, we really should be managing our servers locally. And if that’s not something that you’ve adopted currently, compañeros, that would be at a minimum, the first step you need to start thinking about, is “okay, how do I administer this thing without logging into it all the time?” and then kind of going from there. I mean, obviously we’ve talked about, on this program, the DBATools stuff. Frank’s already brought up the PowerShell, and so yeah, I would think that putting together those pieces starts you on the path.
Frank: So, starting to manage remotely is not hard, if you think about it. When Microsoft separated the Management Studio installation from the SQL Server installation, that made it so much easier for people to get the idea that they should be managing these remotely.
Carlos: Sure. It’s psychological, right?
Frank: Yeah. Prior to 2014, 2012, when you had to have the SQL Server install media and go through the process and just only check that feature, it didn’t send the right message that you should be doing this remotely.
Carlos: It felt cumbersome.
Frank: Yes. So now there’s a standalone, it’s easier to get into the mindset that this is all remote. You don’t have to have RDP access to a SQL Server box to be able to access the data on it. Other than that, configuration is pretty much the same as before. The one caveat I’ve had is SQL Server Configuration Manager, when you open Configuration Manager, it doesn’t let you do the right click connect to another computer that Computer Management does, but it does load as a snap-in into Computer Management if you’re connected to another computer.
Kevin: Okay, so you don’t even need to turn on RDP and remote into use Configuration Manager on that remote machine.
Frank: Well, you won’t be able to. Configuration Manager can’t run on a Server Core instance. So you have to install Configuration Manager locally on your management machine, but then to manage configuration on the remote system, you have to use Computer Management to have it load as a snap-in, that way. That’s one of my biggest caveats when it comes to Server Core is that I have multiple versions. I have 2005, unfortunately, still, and all the way through 2017 instances in production. So I have multiple versions of Configuration Manager loaded onto my management server and it doesn’t show which one it is when it’s loaded as a snap-in. You just see three versions of SQL Server Configuration Manager, and you click until one of them works.
Carlos: Okay, I can see that. That’s interesting. Yeah, that may be something maybe afterwards, if you have some time, Frank, I’d be interested just to take a peek at that to help people kind of visualize that a little. That is the one deficit we have with the podcast is something like that, it is hard to conceptualize sometimes, particularly if you’re not familiar with snap-ins, because people may or may not be familiar with that.
Frank: Fortunately, it does load automatically, when you connect to a SQL Server.
Carlos: Oh, there we go.
Frank: It is there, but it’s not so easy to pick the right one.
Carlos: Okay, so another area where Server Core is used is in containers, and admittedly, my experience with containers has been for demos and for trying to convince people to use them for development machines or the ability to quickly spin up new environments. So I guess, talk us through a little bit of what that experience is and yeah, how that’s used in the container environment.
Frank: Well, in the container environment, there’s really two types of containers. There’s the Linux containers, and then there’s Windows containers. Well, every Windows container is built either on Windows Server Core or Windows Nano Server, which is even smaller and more stripped down than Server Core, so it’s the whole basis for containers in Windows. Docker and Microsoft work together to be able to do this so that you could have Windows native containers. And you’ll actually see that this is probably something that came up with the announcement about Windows Sandbox. Whether it’s the container style that runs an application itself without having access to everything else in the system.
Carlos: Gotcha, so this goes back to one of the original guys at Microsoft talking about the browser experience and when you load a browser, you’re really kind of launching this behind-the-scenes, what we would think of a container now–
Frank: Where each tab loads at its own process.
Carlos: Exactly. And so that none of them have access to it–
Frank: This is taking that one step further.
Carlos: Oh, even further, oh wow. So that way they don’t interact, you go to a malicious website, you close it and it’s gone. It’s not going to affect your server.
Frank: Correct. So, I don’t have the details of that, but it has to be based upon something that they learned from Server Core, because of all of the virtualization components that have been added to Windows.
Carlos: Right. Yeah, that’s interesting. So any issues from a virtualization perspective, are you guys running VMware or Hyper-V or what’s your–?
Frank: We do VMware at this shop, here, and we just basically have a Server Core template that we install.
Carlos: And there you go. No problems there.
Kevin: On the application side, let’s say I’m developing my own in-house applications, maybe web applications. Is there any difference with hosting on Server Core versus non-Core SKUs?
Frank: Hosting of SQL Server? Or just hosting an application?
Kevin: Not SQL Server, but more of the web application. Yeah, so I have an MVC application running in IIS.
Frank: IIS works perfectly fine in Server Core. Most of our websites actually run off of Server Core machines. IIS, .net, everything is running natively. It’s actually a lot better because of that reduced exposure, because these machines have to be public. They have to be public-facing, so if you reduce the number of ports that are allowed and everything else that’s running on them, it just reduces their exposure.
Carlos: Surface area, right?
Frank: Yeah, the surface area is reduced.
Kevin: Yeah, are there any types of servers that, in your experience, you just can’t move to Core? So, web servers, obviously yes. SQL Server, sounds like for the most part, yeah, unless you’ve got some absolute need for Reporting Services on that machine.
Frank: If an application is old enough that it’s only got a 32-bit version, it probably won’t run on Server Core. There’s not saying that it won’t, but it all depends on age. Server Core really started with 2012. I think 2008 R2 and a couple service packs in, you could run Server Core, but 2012, you had a little better bit of the experience. 2014 it became a better experience, yet, and now 2016, it’s the default experience.
Carlos: Gotcha. Yeah, I think that is something, so in my defense, my experience with Windows Core was a little dated, and I think like anything else, right out of the gate, it was a little bit of a bumpy ride. But that’s good to know that that’s continued and obviously more and more of us are going to get exposure to that. I mean, everyone’s looking to reduce their licensing fees as well.
Kevin: Actually, I have a question around that.
Carlos: Here we go.
Kevin: Is Server Core cheaper than other SKUs?
Frank: On Azure, it is and on AWS, it is. If you get a Server Core instance, versus a full install, it’s actually cheaper.
Carlos: Yeah, I was going to say, I don’t pretend to be a licensing person, but my understanding is you did get a discount, there.
Frank: You do, because there’s not the overhead. You have fewer resources. You can run it on a lower end machine, as well.
Carlos: There you go, interesting. Okay, final thoughts?
Frank: Get to know PowerShell. PowerShell’s your best friend when it comes to Server Core. And when it comes to SQL Server and PowerShell, get to know DBATools. We’ve talked about it before.
Carlos: That’s right.
Carlos: Thank you, Chrissy LeMaire and team. Because we know that Rob and Claudio and all of those guys, doing amazing stuff over there. Yes, thank you for making my life a little bit easier, because it would be a lot more intimidating, somebody who didn’t come from the Oracle Linux side, more of the Windows admin side, making my life a little bit easier, there.
Frank: Yeah, that’s the wonderful thing about DBATools is you can manage SQL Server completely remotely and not even have to know PowerShell.
Carlos: That’s right.
Frank: Just say, “here, let’s do this. let’s set up a migration.”
Carlos: Yep, here’s a couple commands, yes. Saved my bacon more than once. Like, “oh, oops, looks like you forgot a user.” “Oh, what? Oh, no. Looks like it’s there, now. Hit refresh!”
Frank: My biggest one is the repair orphaned users when I’ve done a restore.
Carlos: Oh, there you go.
Frank: Though we have mapping logins, it’s back and forth.
Carlos: Yeah, right, right, that’s a good one. Okay, well awesome. Great discussion. Should we go ahead and do SQL Family?
Carlos: Okay, so your favorite movie.
Frank: Shawshank Redemption.
Carlos: Oh hey, without hesitation. I like it.
Kevin: Are you going to bring up Mansfield, Ohio, again?
Angela: Is that because you’re a Stephen King fan or just because you like the movie?
Kevin: It’s cause he’s a Mansfield, Ohio fan.
Angela: Oh, okay.
Frank: I like the movie. I don’t like Stephen King’s horror movies, but I do like Shawshank Redemption and Green Mile and a few of the other ones.
Angela: Sure, sure. Alright, the next one, what is the city or place that you would most want to visit?
Frank: I want to go to London. I have this fascination with YouTube channels that are going over. There’s one called All the Stations that did all of the network stations for rail traffic and stuff. And I don’t have any of that here, in central Illinois. There’s no train route. I think London would be amazing.
Carlos: You want to go ride the Tube, a little bit, huh?
Frank: I do.
Angela: Yeah, it is Mind The Gap!
Kevin: If you do, 100% get the London Pass, because that will get you into so many places without having to stand in horrible lines. Absolutely worth the money, not just because of the kick-back I get from the City of London for saying that.
Frank: Unfortunately, it’s a few years. I have several kids that need to get a bit older.
Kevin: It’s all right, the pass will still be there.
Carlos: A food that reminds you of your childhood?
Frank: Vegetable beef soup.
Carlos: Oh, okay, now is this Campbells or your own creation, family creation?
Frank: It’s a family recipe that my mother would always make.
Carlos: There you go. So now we are recording around the holidays, here, is this still a family affair or is this something that’s kind of gone by the wayside?
Frank: Oh, it’s still a family affair. Whenever I go home, I grab some out of the freezer. She makes massive batches of it even though it’s like just her and her husband.
Carlos: Sure, okay.
Angela: Very nice. Alright, how did you first get started with SQL Server?
Frank: I got laid off. I was an Oracle Database administrator, and then I became a DB2 Database administrator, cause I got sold.
Kevin: Oh, that was a step down.
Frank: And then I got laid off. I needed a new job and the nice thing here is that I live in central Illinois. It’s not exactly mecca for tech companies. So, the company I came into was a Microsoft shop, which meant SQL Server. So for the last 5 years, I’ve been 100% SQL Server.
Carlos: Well, there you go. Yeah, so that will make you do some crazy things, and some smart things, I guess, in this case, right? Now, in that time with SQL Server, and obviously, so the last 5 years, I have to admit, you’ve joined in the good times.
Angela: You’ve got it easy, man.
Carlos: That’s right. Now in his defense, Frank did say he still has some– no, he’s complained about 2005.
Frank: In my defense, I only shut down my last 2000 instance a month ago.
Carlos: Yeah, there you go, okay. Okay, so you’re still getting a little taste of the good life, right?
Carlos: So now, if you wanted to change one thing about SQL Server, what would it be?
Frank: SSIS needs to, by default, support more inputs. The biggest one that I have is just processing JSON data. Now you can do that with some stuff off the Visual Studio Marketplace. SSIS powerpack would let you do it, but you have to pay for some of those, and with everything now that is supporting JSON and for integrations, it’s not fun to do.
Carlos: Yeah, that’d be interesting to see if that’s actually on the horizon. That’s a good question, because obviously, JSON’s now supported in, well, I guess we could argue about what that is.
Kevin: It’s supported.
Carlos: Yeah, so you can quote, unquote, have JSON in SQL Server, so it would be interesting to see. I guess we won’t have a data type, so that’s where we could argue about that.
Kevin: You don’t want a data type.
Kevin: I will throw down with anybody who wants a JSON data type.
Kevin: You don’t want one, really.
Frank: I don’t want the data type, but I do want the ability to parse it.
Carlos: Yeah, there you go, okay.
Frank: For working with web services.
Angela: As long as it’s not as ugly as what you have to do to parse XML.
Kevin: Yeah, JSON shredding in SQL Server’s not too bad.
Angela: Alright, what is the best piece of career advice you have received?
Frank: Don’t be afraid to change.
Carlos: That seems very apt for our discussion, today.
Frank: Yes, don’t be afraid of change. Change is good. Change can be bad, but don’t be afraid to try.
Kevin: Paint 3D was not a good change.
Carlos: Is this where Frank tells us he’s been working on artificial intelligence?
Frank: Azure’s trying to do that, now.
Carlos: Yeah, that’s right.
Frank: Azure Machine Learning. There you go, there’s your AI.
Carlos: Okay, Frank. Thanks again for being here, it’s been great having you.
Angela: Aren’t you going to ask him his superhero power?
Carlos: Oh, I’m going to get to the superhero power question. That’s right.
Angela: Okay, okay.
Carlos: Our last question for you today. If you could have one superhero power, what would it be and why do you want it?
Frank: Well, see, I have this problem with falling, so I would love to fly. I don’t have a problem with heights, I have a problem with falling from heights.
Carlos: Yes, it’s the sudden stop at the end.
Kevin: It’s like the old Douglas Adams line. “Flying is easy. All you have to do is throw yourself to the ground and miss.”
Frank: Well, I used to be a volunteer fireman, so I got used to heights, I just don’t like it. I’d rather not have to deal with ladders.
Carlos: Yeah, so especially at this time of year, we have a fireplace in our home, and so it’s up on a second story and so I have to get up there and I actually have to put my ladder, which is like a 16-ft ladder, on my deck to reach it. And I didn’t think I’d have a big problem, so getting up wasn’t the problem, getting on the roof.
Angela: Hey, it’s the getting the down.
Carlos: Getting back down to the ladder, those first couple of times, I literally sat there for way longer than I’m willing to admit. I’d be like, “you can do this”, you know?
Kevin: You do not want to fall off of one of those.
Carlos: No. Yeah, not fun. Well, awesome, Frank, thanks so much again for taking some time to chat with us about Windows Core. Lot of good information, here.
Angela: Yeah, very educational.
Frank: No problem, thank you for being here with me.
Carlos: Right, so you mentioned it already, but my big takeaway from our conversation today is, we’ve talked about it, and admittedly, this is a do-as-I-say-not-as-I-do, because I’ve drank the DBATools Kool-Aid and I’m not sure how much PowerShell I’m learning as a result, but I think getting familiar with PowerShell and getting started would be helpful. I feel like there is some value that we can perform to our organizations if we’re willing to embrace Core. We’ve talked about some of the licensing costs and administration, reducing the amount of resources that we need in order to run some of our systems, and so I think there are definitely some benefits, there. Yeah, so we look forward to see what happens in the future. That’s going to do it for today’s episode, compañeros. Thanks again for tuning in, wherever you might be, whether you’re walking your dog, on your commute, or who knows, maybe–
Kevin: On your dog’s commute.
Carlos: On your dog’s commute, yes. We are interested in what you have to say. Thanks for those of you who have been tossing us some suggestions. You can reach out to us on social media. You can reach out to Frank.
Frank: @osirisDBA on Twitter.
Angela: Alright, and you can reach me, that’s Angela, in case anybody was confused, @sqlswimmer on Twitter, or AngelaHenryDBA on LinkedIn.
Kevin: And you can get me on pretty much every social media platform, as long as you spell my name correctly.
Carlos: Yes, that is correct. And compañeros, I am CarlosLChacon on LinkedIn and we’ll see you on the SQL Trail.