"Aim High!" "You could be president some day!" "You're just as smart as that Einstein kid down the street" …
…And other crazy things parents tell their kids. Of course, very few kids grow up to be President, or a groundbreaking scientist. Most of us are merely adequate. Adequate parents, and adequate at our jobs, and that's just fine. I'm proud to call myself an adequate DBA. Perhaps being "adequate" doesn't sound like a source of pride, but over time I've come to realize that in the same way that adequate parents are what families need, so adequate DBAs are what most organizations require.
So, what does it mean to be an Adequate DBA? It certainly doesn't mean just being "average" at everything. But conversely, being a master in the art of backup and restore does not, by itself, make you a great DBA.
Most experienced DBAs will be expert in most aspects of the core database engine. When confronted ceaselessly with poorly written queries, funky database designs, and users who think that
SERIALABLE will give them the best results, they develop a keen eye for code that will cause performance problems; if not now, then soon. They have a good understanding of database security and permissions. Their backup and recovery routines are polished and well-practiced. They will have created and accrued monitoring scripts and tools that alert them quickly that the workload is causing stress conditions on the server.
Surely a DBA who knows all is more than adequate? In my first years working with SQL Server, the product was just a relational engine so my answer would have been "yes". Now, it's a "maybe". SQL Server has expanded to include, for example, data movement tools, reporting tools, and analytical tools (such as R/Python scripts in 2017+). These are valuable to most organizations and so they expect their DBAs to be able to exploit them. They can't be expert in all these areas, but they need to be adequate.
Then there is this "new thing" called The Cloud. Even in the once conservatively-paced world of the DBA, specialized knowledge can quickly become obsolete knowledge. Backup and restore capabilities, along with many other routine management tasks, are becoming automated by the cloud systems. The engine is becoming better at tuning itself; it's surely only a matter of time before the engine "learns" how to use all that data stuffed into DMVs to, for example, create an intelligent set of indexes, all by itself.
As some of the old skills fade in importance, the DBA needs to replace them with adequate knowledge of a whole range of new ones, from Power BI, and machine learning to master data services and containerization. So, we arrive at the paradox that being a great DBA is the art of being adequate in an increasingly wide area of expertise. Achieve this, and you may be one of the greatest DBAs.
Louis Davidson (Guest Editor).