What would I do t0 become a DBA?

  • Hi

    I've a masters degree in computer application.I would like to become a database administrator. What should I learn?

    and what is the current job market

    please advice me

    Thanks & Regards

    BMP

  • Well, first of all you need to have a genuine interest in 'dba:ing' (whatever that is) 😉

    As with everything else, you want to learn as much as possible about how the stuff works.

    I assume there are several books on the subject as well.

    Personally, I deal with stuff as;

    Hardware: - you need to be proficient with hardware, and preferrably learn how to build a server designed to support different database requirements. This is a really huge subject on it's own.

    Everything from cpu, memory, designing disksystems etc... Very important to 'get right' for any succesful database implementation

    O/S: - It's good to know how the universe we live in works. Knowledge about what makes Windows tick, is never a disadvantage, especially secuity models and such. A very high percentage of problems has it's roots in permissions at some level. Many times the DBA need to be aware, or solve such scenarios.

    Network: - you need to know basics about how a network works. After all, we're in enterprises nowadays, and the network is the glue between everything.

    Relational Theory: - you need to understand what a relational database is all about. What is 'good' and what is 'not so good', and the principles behind it all. This is key to understanding SQL and modelling.

    SQL: - Learn and understand to program in SQL. This involves tri-state logic, set-based thinking and a lot of things not encountered in other programming languages. SQL is in this repsect one of the most powerful languages existing - easy to learn, very difficult to master. But is absolutely essential for any DBA.

    Modelling: - This deals with entities, normalization, cardinality and a lot of stuff from relational theory.

    Also a very large subject on it's own.

    So, you're in for a handful 😀

    The best way is probably just to start using all of it, find some 'starting dba' book, browse through BOL (Books On Line - the online SQL Server 'manual'), scour the net for database forums (like this one) and read as many posts you can. Bit by bit with time you'll start to get a grip on what it's all about...

    And it's never wrong to as a question when in doubt.

    Good luck. 🙂

    /Kenneth

  • It has been 10 years, how it going so far? I am looking into becoming a DBA also. I have just graduated and working with a company writing a few queries here and there for reports.

  • kemny.kim - Thursday, June 1, 2017 12:06 PM

    It has been 10 years, how it going so far? I am looking into becoming a DBA also. I have just graduated and working with a company writing a few queries here and there for reports.

    I am not the OP, but I did get thrust into the DBA role at my job.
    Writing a few queries for reports is a good way to start.  I would talk to you supervisor/manager and see if they have a need for a DBA where you work.  OR, if you are lucky, you work with a DBA.  Talk to them.  Learn from them.  Where I work, I am the primary DBA with 2 backup DBAs and I was more thrust into the position than I would like to admit.
    The next steps for me was to go to PASS Summit which got me encouraged to start up my own local chapter (as there were none near me).  I know so much more now than when I started.  Writing queries is a good place to start.  If you can get your hands on a test system that you can be a sysadmin on, do that.  Keyword there is TEST.  As a DBA in training, you don't want to touch the live systems if you don't have to.  Once you get access to the live systems with sysadmin permissions, something goes badly under your account, it could go REALLY badly.

    One thing any DBA should know how to do is backup and recovery.  If your company uses specific tools, then learn those tools.  If the company trusts the SQL Server backup over 3rd party tools, learn the syntax.  Don't rely on the GUI to do things for you.  You can use the GUI to get all the settings set up properly, but do know the TSQL.  Why you ask?  Well, lets say something exceptionally bad happens... like somebody goes in and configures your database to have a max memory of 500 MB because they thought it never got higher than that when they were monitoring it.  Now that database will be mostly unusable.  You try to connect from SSMS and you are stuck as it won't let you connect.  No GUI, you need to know the TSQL so you can recover.  You can run sqlcmd from the command prompt and do things on the sql instance and get it all back.

    Another thing to do - reach out to your local SQL Chapter (if you have one).  And, depending on the workplace requirements, you could even look at getting certified in SQL Server.  Some jobs like that you have certification, others couldn't care less.  I quite enjoy being the main DBA.  I run into all sorts of odd problems.  I have an IT background with my previous position, so when things go bad, I have a wide skill set to get things back up and running quickly.

    Where I work, we have a dedicated IT team so I don't deal much with hardware or OS with the exception of windows updates and asking for more resources (if they are required).  The network is all handled by our IT team and I don't even have access to the physical boxes that the SQL Instances run on.  
    But depending on the workplace (again), they may want you building the hardware (phsyical or virtual).  I know some guys who are swamped because they manage the VM's, the physical servers, the sql servers and the network.  I am lucky in that my duties are mostly around the database, with a bit of dabbling in C# app development and some 3rd party software updates and a very little bit on web development (mostly just making sure the web sites are up and can access the data).

    The above is all just my opinion on what you should do. 
    As with all advice you find on a random internet forum - you shouldn't blindly follow it.  Always test on a test server to see if there is negative side effects before making changes to live!
    I recommend you NEVER run "random code" you found online on any system you care about UNLESS you understand and can verify the code OR you don't care if the code trashes your system.

Viewing 5 posts - 1 through 4 (of 4 total)

You must be logged in to reply to this topic. Login to reply