Thursday, November 18, 2010

How to Become a Professional SQL Server DBA


Friends,
         I started my career as a SQL Server developer and then moved towards SQL Server Database Administration. But it was very tough to change the career path as I didn't knew what to do and from where to start with! But then I managed and now have more than 12 years as a DBA form 18 years of overall work experience.
       
        So, I am going to share my experiences and my learning in this blog. Will talk about what the pre-requisite skills are needed to become a Professional SQL Server DBA, how much time it takes to be a good DBA, additional skill sets, trainings and certifications required and so on.

        Let me first explain and help you with the decision making to become a DBA.

Explaining the term – DBA:
        A database administrator (DBA) is a person responsible for designing, implementing, and maintaining the database system; establishing policies and procedures pertaining to the management, security, maintenance, and use of the database management system.

Who can become a DBA?
        To start with, you would be falling in either of the following categories:

·         You are a fresher or a non-IT professional having no or very less knowledge about databases.
·         You are an IT professional but not much experience with databases.
·         You are an IT professional but having good understanding of databases.

        Now, whatever category you fall into and whatever experiences you have, the good thing is you can always opt for DBA as a career (let’s be positive). But obviously, the more knowledge you have about the databases, quicker will be the way to become a DBA.

Pre-requisites for becoming a DBA:
·      Good knowledge and understanding of databases.
·      T-SQL and .Net coding knowledge will be an additional advantage.
·      In-depth knowledge of operating systems and storage will be helpful.        
·      Responsible, Trustworthy, Analytical, Working under pressure, Supporting 24 X 7 and Good communication skills are the keys to survive (these comes with the experience, so no worries.)

Choosing the product:
                As the primary responsibility of a DBA is to work on databases, it is purely the individual’s interest on which product he/she is expert and is more comfortable with. You can choose among SQL Server from Microsoft, Oracle from Oracle, Sybase from Sybase and many others.
                I will talk about SQL Server from Microsoft.

DBA Responsibilities:
·         Installing or upgrading a SQL Server: Every DBA is responsible for installing SQL Servers or upgrading to an upper version of SQL Server. The DBA should know the difference between different SQL Server editions and install the required edition. He should also understand the licenses required for it.
·         Patching up the SQL Servers: After installing the SQL Server, the DBA must make sure that the SQL Server is properly patched with the correct Service Pack.
·         Database Server Health monitoring: One of the prime responsibility of a DBA is to monitor the database server for smooth operation. Like the processor is optimally utilized, the memory is sufficiently used, etc.
·         Storage availability: The database is saved on physical disk and the DBA needs to make sure that enough space is available for the database growth.
·         Performance tuning & optimization: The database needs to be tuned and optimized on a regular basis by the DBA.
·         Securing the SQL Server database: The data must be secured from unauthorized users, which the DBA makes sure by assigning proper permissions to the authorized users.
·         Backups and restoration: In case the database gets corrupt or if the server goes down, the DBA needs to recover the database with the minimum loss as quick as possible. So, the DBA needs to take the database backups regularly and when required, also needs to restores it.
·         Data transfer: In the current heterogeneous environment, the data may be needed to imported from or exported to different formats, which the DBA needs to do i.e.  SQL Server -  to / from -  Oracle / Sybase / text files / .csv format.
·         Disaster Recovery: The DBA also needs to plan and make strategies for the disaster recovery of SQL Server.
·         Deployment of SQL scripts: The DBA does the SQL code and scripts deployment to the production environment.
·         Maximum uptime of servers: The DBA needs to make sure that the SQL Servers have minimum downtime with no / minimum impact on business.
·         Documentation: This is very necessary which helps all things to be documented and handy for new DBAs or emergencies.
·         Communication: Since the DBA has to interact with different teams, he has to be very good and effective in communication.
To Start:
                So, once you are mentally prepared to become a DBA and you have chosen the database product (SQL Server or Oracle or any other third party product), you need to analyze and honestly answer about the prerequisite points mentioned above, especially on the database knowledge level. I would suggest, rate yourself between 1 to 10 and work on the improvement areas. Here are some good websites (http://www.microsoft.com/sqlserver/en/us/, http://www.mssqltips.com/, http://blog.sqlauthority.com/), which can help you to increase your database understanding from administration point of view.
Next Step:
                After you make your decision to be a SQL Server DBA, you need to understand the basics of SQL Server database, how they are stored in the hard disks and how they are accessed via the operating system etc.  And believe me, these are not that hard which they seem to be. The best way is to buy a book (I would say to buy and not to download any e-books as it forces you to read since you have spend money on it), go through each chapter one by one and clarifying your doubts. The best way is to practically implement the tings which you read from the book. You can download the evaluation or free edition of SQL Server from the DVD which comes along the book or from  the Microsoft site - http://www.microsoft.com/sqlserver/en/us/. If you still stuck, don’t hesitate to mark me a mail at sujeetsaha@gmail.com and I would be more than happy to help or explain about the topic.    
One step ahead:
                So, now after finishing the book, you should understand the different terminology of SQL Server database, the high availability methods, some best practices etc. Now this is the time when you need advance training and certification so that you can get the knowledge on those topics which are still unanswered to you. You should look for a training center which preferably gives you one-to-one session, cheaper and very professional. I would recommend SqlDbaGuru (http://www.SqlDbaGuru.com/) for getting you trained and certified as they are pioneer in this.  And believe me, I am recommending after I have got several great reviews from many of my good (and of course, trusted) friends. You can get a great discount even, if you ask me to get you registered for the training!
                Try to get yourself certified at the earliest as it helps you to get very good understand and sound knowledge on the topics and secondly, it earns you a credibility which is respected worldwide. At this moment, you know the concepts, have done basic practical on the system, trained on the advanced concepts and certified as well. Now, it’s the best time to start having some hands-on experience   by starting a job as a Junior DBA.
Tips to search for the job:
·         Create a Resume which clearly shows your understanding on SQL Server concepts and your about earned certifications.
·         Upload your resumes on job sites and mention your preferred job location. For example, if you are looking for the SQL Server DBA job in India, you can upload at http://www.naukri.com/http://www.monster.com/ and http://www.jobsahead.com/ to name a few.
·         Subscribe your Email ID in the job site so that you can get to know for any latest availability.
·          Keep revisiting the job site and if shortlisted, start giving the interviews.
·         Don’t forget to read my section on important interview questions before you go for the interview.
What to look before you accept the DBA job:
                Once you are shortlisted as a SQL Server DBA, don’t rush to accept the offer but a thorough understanding of your roles and responsibilities is must. Discuss these with your future manager and check if you are comfortable with those. If not, it might be a good idea to tell your manager honestly so that he can set his expectations according to that and may be helping you to overcome where you lack. Ask if they can provide you some in-house trainings or mentoring.

Here You Go!
                Congratulations! You have made your dream come true of being a SQL Server DBA. Now, welcome to world of DBAs and the day to day challenges. You can get more on the SQL Server Database Administration related stuff at http://www.SqlDbaGuru.com. Happy reading!!