SQL Server DBA is a kind of dream for many SQL Server professionals.However, for the aspiring newbies, it's quite confusing as which topics to focus on more and what to learn since it's again another vast ocean of knowledge. In this article, we will provide some of the bulleted points in no particular order for the same with relevant references that will act as a detail reference point.
Introduction
SQL Server DBA is a kind of dream for many SQL Server professionals.However, for the aspiring newbies, it's quite confusing as which topics to focus on more and what to learn since it's again another vast ocean of knowledge. In this article, we will provide some of the bulleted points in no particular order for the same with relevant references that will act as a detail reference point.
The Bulleted Points
- Database installation is a must skill. One should have the hands on skill for installation of latest version(s) of SQL Servers.
- Adding users/roles in SQL Server.
- Detach and attach the database in order to move it from one location to another.
- Moving bulks of data from one database to another, or make a copy of the data e.g. Import/Export Wizard, Linked Server, bulk copy and bulk import and export,bcp
- Generating SQL Server Script using Publish Script Wizard (Please read our article for the same.)
- Index maintenance for performance improvement
- Scheduling SQL Jobs.
-
Preparing a Maintenance plan.. A Maintenance Plan helps at least for the below activities -
- Backup - All Tables, Full Backup (daily)
- Backup - Selected Tables, Full Backup (hourly/daily/weekly/monthly)
- Backup - Transaction Logs (Every 15/30 minutes/hourly/daily)
- Check database integrity (daily)
- Reorganize index (daily)
- Rebuilding index (weekly/monthly)
- Update database statistics (daily)
- Shrink database (weekly)
- Rebuild index (weekly)
- Maintenance cleanup (daily)
- Performing an operator notification
- Executing a SQL Server Agent job
- Executing a Transact-SQL statement
- Clean up the database histories
- Backup,Restore and Recovery of database for failure.
- SQL Profiler and SQL Trace for performance bottlenecks/other monitoring tasks.
- DMVs/DMFs are a must for identifying performance bottle necks in the system.Some more guidelines on the same are available here
- Learning about SQL Server Extended Events will always remain as a great asset under the belt. Here and here are some more resources on the same.
- Health monitoring of the server by using Activity Monitoring (also worth reading this), Database Engine Tuning Advisor
- Learning SQL Server Transaction Log will be an indispensable asset in case of system failure.
- DB auditing. A comprehensive knowledge of Change Data Capture will be very handy.
- Central Management of Servers for distributed systems.
- Proper planning for better hardware resources.
- SQL Server Replication
- DB Clustering.
- Database Configurations including DBmail configuration.
- Knowledge of Powershell will be helpful.(Please read our articles from here, here and here for the same to get a flavor of the same.)
- Disaster recovery using AlwaysOn High Availability..
- Good amount of knowledge about locking and blocking.
- Good hold of Wait Stats/Wait Types/Wait Queues
- Log shipping.
- How to Restore Master DB in case it crash.
- Sufficient amount of knowledge about Temporary DB and how to keep an optimal one.
- Deployment in the Cloud Environment (Azure platform).(Please read our article on the same
- Extensive amount of knowledge about query optimization.(Please read our articles presented here and here)
- File Stream experience will be a good asset
- Internals of SQL Server
- Data security
- Excellent trouble shooting skill.
- Knowledge of ETL Process (SSRS/SSIS/SSAS)(Please read our articles presented here,here, here,here,here,here,here for the same)
- Good amount of knowledge about Data Warehousing and Data Mining
- An effective communication skill(written/verbal), presentation skill and initiatives.
- Training to the fellow members
- Writing blogs for sharing the knowledge and open to learn new technologies help always.
Apart from the Bulleted Points
- NOSQL knowledge(theory and Practical) with optimization of the same will be a great asset. Should add about MongoDB and Neo4J in the hat.
- Also it is good to know about other databases like GreenPlume(Parallel DB), Oracle, PostgreSQL, MySQL, EyeDB (OODB) etc. and it's functionality.
Certifications,Certifications and Certifications - A must for everyone
Certifications are must to measure the skill(s). Some of them are listed below
- MCSA: SQL Server
- MCSD: Azure Solutions Architect
- MongoDB Professional Certification
- Neo4j Certification
Books recommended
- DBA Survivor: Become a Rock Star DBA, by Thomas LaRock
- Microsoft SQL Server 2012 Internals, by Kalen Delaney
- SQL Server Hardware, by Glenn Berry
- Inside the SQL Server Query Optimizer, by Benjamin Nevarez
- Troubleshooting SQL Server - A Guide for the Accidental DBA, by Jonathan Kehayias and Ted Krueger
- Fundamentals of SQL Server 2012 Replication
- High Availability and Disaster Recovery (DW)---a Technical Reference Guide for Designing Mission-Critical DW Solutions
- Performance Tuning With SQL Server Dynamic Management Views
Reference(s)
SQL Server DBA Tips and Tricks
Conclusion
Having said all the above, nothing can beat hard work/dedication/patience/an eye for detail/inquisitiveness and above all a smile under high work pressure makes a lot of difference - everywhere and anywhere. To conclude, we must quote Sir Isaac Newton -
" I know not what I appear to the world, but to myself I seem to have been only like a boy playing on the sea-shore, and diverting myself in now and then finding a smoother pebble or a prettier shell, whilest the great ocean of truth lay all undiscovered before me. " - Isaac Newton
Hope this article will be helpful for many SQL DBA newbies and will serve as a point of reference for them.
Thanks for reading.