TLDR
Macs are a pleasant place to spend 40+ hours in your work week, and totally workable for those with Microsoft-centric jobs. Let me give you a jump start on how to make it work.
The Background
I’m weird. This is a known fact that I’ve embraced. My family has two minivans because I think they’re awesome, I love to play guitar but don’t know any actual songs, and when I go to nice restaurants I’d rather get a really good burger than most anything else on the menu.
Another manifestation of my weirdness is that, even though most of my 20 years in IT has been focussed on Microsoft technologies, I work on them from Apple products. I’ve bought hard into the walled garden and enjoy my peaceful life there. Over the last decade this has extended into my work life, where I decided to try using a Mac for my full-time job as a SQL Server DBA. There have been ups and downs, but as I write this today I’ve been happily using Macs as my primary machines for SQL Server administration most of my career.
The Why
Even though I’m weird, I may not be the only one that’s this kind of weird. Perhaps some of the following resonate with you:
- It’s easy on the eyes: I’m not sure I could express everything that comprises this reality, but at the end of the day I feel less fatigued from using a Mac. I have less eye strain, leading to fewer tension headaches. This is likely due to the high quality screens built into all their devices (admittedly at a high cost). But even simple things such as smooth window animations adds up to a more pleasant visual experience, and over the course of an 8 hour day that makes a tangible difference.
- It’s more physically ergonomic: It’s weird to say that about something that is partially software-oriented, but it’s true. Because of the way the OS and apps are laid out, I can primarily use the keyboard and save myself from death by a thousand clicks. Also, the Apple engineers are absolute wizards with their touchpad design, allowing me to use an external one comfortably for hours. Similar to how I have less eye strain at the end of a full work day, I have less hand, wrist, and shoulder pain using a Mac as well.
- Active window zen: This one may be a subpoint of those above, but for me it deserves its own callout. I feel very cluttered when there is a lot of clutter on my screen. Being able to hide apps that I’m not using allows me to keep my work area very simple and clean. (And yes, I know there are workspaces in Windows, but I don’t use them there or in macOS because I get tired of flipping through lots of screens to remember where I placed something.)
- Secure and stable: I’m not writing this as one of those overused stereotypes that just gets flung around about Macs. I’ve used Windows, Linux, and macOS over the years. I really believe from a technical standpoint that the Unix underpinnings of Macs make them more secure and stable. I can just turn on my Mac and expect it to work well, with little thought other than hitting the power button.
- Less intrusive and more people-oriented: In my personal opinion, I think the real secret to Apple’s success is that they are people-oriented. Windows is great about making things interoperable, allowing companies to bolt things onto their OS and extend it. They make it as functional as possible. But Apple has another guiding principle that focusses on how humans will actually use the systems. Because of this, they’re just more pleasant to live on. For example, I don’t worry that Windows Updates will randomly reboot my machine (and close everything I’ve spent hours working on) just because I walk away for a glass of water.
- I just like it: This one was hard for me to admit because I’m such a black and white person that needs a concrete reason for everything. But the older I get the more I realize that sometimes you just prefer things over others, and that’s okay. I enjoy using Macs, so if I’m going to be on a device for 40+ hours a week then I’d rather use them.
I’m fully aware that the above list is very subjective and that different people have different priorities. But for me, this is what has led me to use a Mac as my primary work device. I suspect there are others who share this same weirdness as me, so I’d like to help jumpstart you in using a Mac for your Microsoft-centric work.
The Strategy
More important than a list of tools, which could vary by personnel preference, using a Mac in a Microsoft-centric job is more about the way you approach work. Your goal isn’t necessarily to get app parity with Windows (although that helps). Instead, your focus is using the Mac as a portal to access your work. It’s a pleasant, lovely place through which you reach out to resources that probably live elsewhere. This approach developed partly from me doing increasingly more remote work over the years, but it has been very helpful in transitioning to full-time Mac use as well. For many of us, our work isn’t necessarily in the same building or even state as the SQL Servers we’re administering. Because of that, you’ll often be using jump boxes or other remote access methods regardless of what OS your laptop/desktop runs. Use the same frame of mind to view your Mac as a portal through which those remote resources are accessed.
The Tools
With the above strategy in mind, below are the tools I use in order to make SQL Server administration from a Mac possible.
- Royal TSX (RDP): A lot of using a Mac for MS-centric work comes down to using a Remote Desktop application. There are lots of options here, but after years of testing I’ve come to rely on Royal TSX as my go-to for work. It makes it easy to store groups of servers, connect to/disconnect from one or all of the group, and manage stored credentials that can be inherited from the parent. They also have a very Mac-first design, unlike many I’ve tried in the past that felt more like ports of Windows apps. The main downside of Royal TSX is the price, but I’ve come to find it’s worth it. You can also use it with a small number of connections for free. Another option that is free and has improved a lot over the years is Microsoft’s own Remote Desktop app.
- Azure Data Studio (SQL Server Management): To this day nothing beats SSMS for managing SQL Server environments, but Azure Data Studio is a compelling alternative and is improving all the time. Not all features from SSMS are available in ADS, but it does have its own unique set of tricks such as Notebooks. Depending on your authentication setup, you might need to have your Mac bound to the domain in order to use Windows Authentication to your SQL instances. Also, if you’re going by the portal strategy mentioned above, it might be best just to use RDP to a jump box or server with SSMS installed. Not only does this let you take advantage of that software’s features, but you don’t have to worry as much about network speeds, disconnects, and other issues between your work machine and the instance.
- Visual Studio Code (Scripting and File Editing): A good text editor and IDE is a must for me. You can’t do better than VS Code for those. If you’re a fan of Notepad++ on Windows, this will provide you the same functionality. It allows you to work in multiple languages (Python, SQL, PowerShell, etc), has built-in GitHub integration, and has a vast Extensions library. This is actually the platform that ADS is built on, so I have lots of shared love for both of them. I open it up to my company OneDrive directory and manage all my files of all types from there.
- VirtualBox (VM): When all else fails and you need to use something that is Windows-only, there are always virtual machines. I use VirtualBox for this because it’s free, but there are plenty of great paid versions out there like Parallels. Personally I avoid using the VM as much as possible because of the extra hardware overhead and irritation at glitchy UI, but it’s a solid option to have the best of both worlds.
- PowerShell and dbatools (Command Line and Scripting): One of my favorite parts of IT is scripting, and PowerShell is my language of choice. In today’s modern SQL Server world, the best way to accomplish most DBA tasks is with dbatools. Lucky for us all, both PowerShell and dbatools work on macOS (to an extent). A lot of the commands work natively right on your Mac either in terminal or VS Code. As with ADS, you might have to be bound to the domain for some of the authentication mechanisms to work. I also tend to cheat here and use VS Code to manage/build the file that I keep long-term, but test/execute it on a server through RDP since that’s where I’ll actually be running it. This involves some copy/pasting back and forth, but with a good RDP client that’s simple.
- Office 365 (Productivity): In my current job we use Office 365, but I’ve worked in organizations with Google Workspace as well. I list these simply to say that there are plenty of options no matter what productivity platform you utilize. One barrier to Mac use I had when first starting out was that the versions Microsoft Office products released for them were terrible. It seemed almost like they made them worse on purpose just to discourage you from using a Mac. These days their Mac offerings are actually really good. I’m using native Outlook, Excel, Word, Teams, etc. However, in both the dark days of older apps and my time using Google, I discovered that you can also use the online versions in a web browser with little to no issue. In my last job using Google Workspace, I just had pinned tabs and never even needed a local client. These days almost anything in the area of productivity can be done from a web browser.
The Tradeoffs
Nothing is perfect, so I won’t lie to you and say there aren’t frustrations with working this way. There are days (many days) when I tell myself it’d be easier just to use Windows where the tools I use run natively. There is truth to that, but that approach isn’t without frustrations as well. In the end no one can tell you what works better for you. Give it a try, allowing for a few weeks to adjust to the learning curve, and see which you prefer. After going back and forth over the years, this is where I’ve settled and I really enjoy it.
How About You?
Enough prattling on about me, I’d love to hear from you! What is your favorite setup as a SQL Server DBA and why? Are you a weirdo like me that likes to combine the pleasant environment of a Mac with the utility of SQL Server? If so, what are tips you can share on how to best accomplish that?
Thanks for your time, and no matter what approach you take in your 8-5, never stop learning and growing.
Leave a Reply