I started with databases a really long time ago, on a mainframe, then moved on to a VAX cluster, and then to UNIX machines. On those platforms, in sort of a descending order, I wasn’t aware of a lot of the lower-level constructs in the operating system. On the mainframe, I had to approach the primary system operator to carve out more disk space, memory, CPU time and the like. On the VAX, I had to get an account created for myself, but I was allowed to create database users without checking with anyone. I also could run a few commands that showed me disk space and status. On the UNIX systems, I had even more control, although I didn’t have to care a great deal about managing the system.
That changed when I started using SQL Server. I actually started implementing Windows networks and server operating systems before I used SQL Server, so I was pretty comfortable installing, configuring and maintaining my own systems. And of course SQL Server is very tightly coupled with the operating system for memory, CPU and drive configurations.
But as time has gone by, and SQL Server has matured towards the level of other large-scale database systems, I’ve seen more and more DBAs that don’t work with the operating system again. In fact, in some shops, they can’t. I’ve seen this work for the better and for the worse, but I’ll leave that to another discussion. The bigger question I have is “how much” should you have to learn and understand the operating system if you’re a dedicated DBA?
I think the answer is still “a lot”. Even if you’re not able to access the server hardware, install software, or even create and manage users, I think it’s vital to understand how everything fits together in a Microsoft environment. In UNIX or mainframes, everything is carved out with more definition and clarity, so a separation of duties is possible. But in a Microsoft environment, for better or worse, the DBA either needs to be able to do operating system tasks (like running performance counters) or have a great relationship with their administrator so that these tasks can be done.
But before you do any of that, you have to know what you’re working with. In Windows Server 2008, lots of things are changing, not the least of which are the virtualization infrastructure and security constructs. It’s now possible to run with Kerberos-only authentication. Are you ready for that? Do you even know if that will have implications for your database systems?
So I do think that as DBAs we’ll need at least a passing acquaintance with the operating system, and perhaps even other platforms like System Center, especially the monitoring and Internet Protection layers.
Whoopie – more to learn!