When Windows Server 2012 came out with Core, I heard some rather suspicious things at conferences like:
- “I’ll be able to take way less patching outages!”
- “It’ll be so much faster because it has less overhead!”
- “Everyone will learn automation and be more powerful!”
- “It’s the way of the future! Learn it or your career is doomed!”
As you know today, the promise didn’t match the reality. Most people don’t use Windows because it’s hard – they use it because it’s easy, and because working on their servers feels just like working on their desktops. Having a Windows GUI solves their administration problems, whereas learning a new language to do basic troubleshooting causes problems. There just wasn’t a big enough base of DBA staff who knew both SQL Server and PowerShell.
The market has spoken: I see SQL Server running on Windows Core less often than I see hairy men walking city streets wearing nothing but shock collars. (I live in a weird neighborhood.)
This year, the buzz will be back.
SQL Server 2017 runs on Linux, and the similarities between that and Windows Core are eerie:
- Both present big stumbling blocks for traditional Windows DBAs
- Both work mostly the same, but not exactly, as you can see in the SQL Server on Linux release notes
- Both solved perceived problems for sysadmins
- Neither solved a problem for database administrators
So why will you hear so much more about Linux support? Because this time around, it also solves a sales problem for Microsoft. Somebody, somewhere, has a spreadsheet showing that there will be a return on investment if they spend the development, marketing, and support resources necessary. (And I bet they’re right – if you compare this feature’s ROI against, say Hekaton or Polybase, surely Linux is going to produce a lot more new licenses sold.)
There’s just one missing piece: database administrators in the field with the unique combination of both SQL Server and Linux experience. Just like SQL Server on Windows Core, the most challenging problem isn’t technical – it’s a staff availability. But this time around, Microsoft has money riding on this bet (as opposed to Core), so they’re going to be extra-loud about how much they need you, dear reader, to learn to manage SQL Server on Linux.
So should DBAs learn Linux?
In large shops, I find that the Windows team tends to manage day-to-day Windows activities (server setup, hardware repair, patching) and then hands built servers over to the DBAs. As long as the SQL Server service starts, the DBAs take over from there. Heck, in large shops, the DBA team may not even have the rights to log into Windows via RDP.
If your shop is eager to run SQL Server on Linux, it’s probably because you’ve already got an experienced team of sysadmins who know and love Linux. They don’t need your help with the Linux part. In fact, I bet you’ve even already got Oracle running on Linux – so go talk to the Oracle DBAs about the kinds of day-to-day Linux administration tasks they do. You should expect a similar level of involvement.
But just because you don’t have to learn Linux doesn’t mean you shouldn’t. If you have the luxury of a current employer who decides to take the plunge to run SQL Server on Linux, you’ve got a killer opportunity. Take the chance to learn some basics from your Linux sysadmin team – sit with them while they build the servers for your deployments. It won’t make you a worse DBA.