Hello Friends,
This morning I felt writing these
practices that helped me grow up to as a good SQL DBA. Hope this will also help
you grow faster and better.
I haven't organized them in a proper
sequence or factor. But have jotted all those good qualities that I recollected
from my experience.
· Plan
to reserve a schedule on a weekend for any maintenance. Ensure there are no
data driven jobs or high maintenance jobs running during that window. Having
this across the servers will help to work effectively as it allows maintaining
all serves in a single window.
· Always
ensure to have identical monitoring across all the servers unless there is a
particular issue that you are addressing needs a special unique monitoring.
· Review
the recovery models of all User databases across the servers and plan backups
based on the recovery model. Never leave a database in full recovery Model and
without configuring frequent T-log backups. This will grow the log file to huge
size impacting the disk free space as well as log file reader due to high
VLF’s. Practically there should be no database without a Full backup per day.
· On
a 64 bit SQL Server; ensure the Max memory value is reserved and not unlimited
as it will try to occupy all the memory available on the Physical Server.
· It
will be nice to have a production identical Test server to diagnose or
troubleshoot or improve performance of the servers. Will be a good platform to
test the windows / SQL Server changes
· Keep
track of all the migrations or changes to the Server, Databases & Code.
Will help you review the improvements you have done in a long way on supporting
the SQL Servers
· Request
end users and business to submit a request for any performance issues, so that
you will know where to tune up.
· Set
coding standards and educate developers to follow them and request DBA to
always review the code for performance factors and better logic
· Ensure
developers never code with “Select *” or run any Select without NOLOCK. This is
purely based on the isolation levels
· Maintain
a friendly environment with your peers and mates
· Having
a manager with knowledge on “SQL Server internals” is the best work place
· Always
Calculate Risk and Cost for any kind of implementation
· Try
to have a Monthly Downtime where you can reboot your SQL Servers at least once
a while
· Try
to convince your managers to purchase license for a good monitoring tool like
‘SQLSentry’. I have so far used MOM, Sitescope, Spotlight and SQLSentry. Among
which SQLSentry is the best of my experience.
· Keep
yourself advanced and innovative on a day-day basis. Watch Plural sight, Read Blogs,
Articles, Books etc. This will satisfy your day when you learn at least one new
thing related to your job
· Perform
periodic health Checks on SQL Servers. You can do this by using some tools
like: SQL Server error log, Activity and Resource Monitors, SQL Server
monitoring tools, Microsoft Baseline Configuration Analyzer, Server
Administrator Console etc
· Disable
all the services unless they are being used. Say like SSAS, SSRS. Not all SQL
production servers will use this. But will have those services running by
default when you install SQL Server. This will save some memory and CPU as they
reserve resources by default.
· It
is better to always have your own favorite tools and scripts to monitor SQL
Server. Have them handy where ever you work.
· Keep
a practice of reviewing and validating the SQL Servers as your first primary
task for any new job or any new server. Document your investigation and
analysis. Submitting some good reports to your managers will really help you
gain their confidence and trust on you.
· Discuss
as much as you can with the Server and Network administration team so you know
well about the hardware equipment and infrastructure.
· Work
with broad minded personality rather than narrow minded.
· Always
stress for a root cause analysis and resolution for any issue and from any
dependent team. Ensure to document them.
· Keep
a habit of noting your achievements and Service oriented appreciations to add
them in your self-input for Performance review and Appraisals.
...Happy SQLing / Thanks for Visiting and Sharing your Views