Over a million developers have joined DZone.
{{announcement.body}}
{{announcement.title}}

5 Keys to Avoiding Database Downtime

DZone's Guide to

5 Keys to Avoiding Database Downtime

Database downtime is acutely affected by all, which makes the life of a DBA all the more thankless. Read on for some tips on how to avoid database downtime.

· Database Zone
Free Resource

Whether you work in SQL Server Management Studio or Visual Studio, Redgate tools integrate with your existing infrastructure, enabling you to align DevOps for your applications with DevOps for your SQL Server databases. Discover true Database DevOps, brought to you in partnership with Redgate.

As a DBA, there is a chance that some of your coworkers don’t exactly understand your role in the company. Many may not realize the heroic effort you are putting in to ensure that everything runs as smoothly as it does during database migrations and upgrades.

But they do know about database downtime.

That is because database downtime now costs companies an average of $7,900 per minute, an increase of 41% over the past two years. About 80% of outages are due to a mistake made by a human, and 50% of the time, it is during change configuration, release integration, and hands-off issues. The average length of the database downtime is 90 minutes, which adds up to an average total of 97 hours per year. So, this issue is quite prevalent and quite costly. Here are five keys to avoiding database downtime and becoming a modern day hero in the eyes of your coworkers:

1. Thoroughly Review the Environment

Make sure you start your migration only after you have reviewed the important applications, processes, and users to determine what needs to be moved and what must stay where it is. You are not ready to start migration until you have thought about the existing environments and have contemplated the potential impact on workflows and infrastructure.

2. Don't Mess With Regular Operations

Do whatever it takes to not mess with regular operations so that the users and your coworkers do not get frustrated. Scheduling resource-intensive migration tasks for off-hours can be helpful if you think they will slow down customers or cause database downtime.

3. Provide Coexistence

If the migration is taking a while, make sure that users don’t get stuck in different database versions or in completely different products. Provide coexistence between the old and new systems so that all of your users can continue to perform the necessary tasks seamlessly.

4. Always Have a Backup Plan

Always keep an eye on your recovery and backup plan to make sure that no data goes missing. While the migration may be keeping you busy, it is important that you don’t lose track of what you will do if you have to suddenly restore data mid-project.

5. Don't Neglect Your Paperwork

Don’t forget that project management plays a key part in well-executed upgrades and migrations. Despite your keen abilities to work with 1s and 0s, your job also includes scheduling, communication, resource management, and reporting on your progress. Making sure you do all these things well can ensure that you don’t have a huge mess later on. If this is an area you are less experienced with, learn from the people around you.

These are the five keys to a successful migration or upgrade. To ensure a smooth process, it is crucial that each are carefully considered before beginning.

It’s easier than you think to extend DevOps practices to SQL Server with Redgate tools. Discover how to introduce true Database DevOps, brought to you in partnership with Redgate

Topics:
downtime ,database ,migrations ,issues ,tips ,keys

Published at DZone with permission of Yaniv Yehuda, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

THE DZONE NEWSLETTER

Dev Resources & Solutions Straight to Your Inbox

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.

X

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}