Knowledge and ability, they are very inter-related. We born with only survival ability, ability to eat and drink, that’s pretty much about it. After that we started to gain knowledge through learning, and become ability, through school to learn language, mathematics, programming etc. But having knowledge doesn’t mean we have that ability, for example, you might know how to write C#, it doesn’t mean you are able to create a complex program. You can only do that through lots of practice and continues learning with different knowledge, combine them to make them to work the way you wanted it.
Same goes to database, you might see database is just rows and columns in a table, but that doesn’t mean you know how to manage it. DBA needs to learn that platform in order to know what is the best setting for a given workload, or better yet, how to make them execute faster. It doesn’t stop there, imagine you have cluster or always on, you will have to know Windows clustering as well, meaning you will have to learn how window cluster works, practice it more and make it become your ability (skillset).
I was watching a TV series call “Code Black”, it talks about doctors working in ER and how they save patients. When there are too many patients that the hospital does not have enough resources to cater, it will be call “Code Black”, thus the name of the series. When it happens each doctor will need to perform on their own and work as fast as they can to save life. There was one scene that the trainee (already a doctor but wants to become a ER doctor) was helping in a ER room where there was an emergency patient dying, the doctor in-charge is asking the trainee what to do to help that patient, and they all stands there and shock. He said “There is no time for you to google it, you will need to do what you have learnt.”
Does that sound familiar with you? When a disaster happens, or multiple incidents at the same time, you might have to work on your own (like the code black scenario). You will have to use what you have learnt (your ability) to fix that issue, that came from lots of practice and know exactly how you can execute the steps to fix the issue at hand. Of course we cannot compare that to the ER room as they are dealing with life and death in a matter of minutes, but it does not look good when a situation like that happen and you are still googling for an answer while there might be a few management standing behind you.
Knowing does not make you know how to perform it, it certainty is not one of your skillset, practice it to make it become your ability, making sure that you not only “know” how to fix the issue, but be “able” to fix the issue. One example I always use is that we always take backup of databases, we do try to perform restore regularly as well, either manually or automated (you should if you haven’t). But how about when you need to perform the restore when disaster happens, do you have a plan for it? And did you try out that plan? What if you need to take the tail log backup to perform recovery? Do you know how to do that, and have you tried it? What about restoring the master database? You might have seen links on how to do it, but did you tried it yourself? Make sure you at least do it once and know how to perform all the steps involves, and understand what their limits are, so that when bad weather comes, you are already prepared!