17 Sep 2019 0 minutes to read Contributors
Databases are everywhere in the modern world. From our Facebook and Instagram updates to TV streaming and social gaming; to some extent they’re all dependent on reliable database software. On a more serious level, so are our banking transactions and flights, as well as healthcare professionals’ ability to access patients’ medical data.
That’s why even a short period of database downtime is a nightmare for some companies. If an offline server will have a huge impact on your business, you need to take every step possible to ensure your systems and infrastructure are redundant. And, you need to have an effective disaster recovery plan in place to ensure they’re up and running again before too much damage is done.
High availability isn’t just an issue for customer-facing teams. If you have users accessing the system to submit new work, update or alter existing work, or generate the results in a report on a daily basis, any downtime will be detrimental to their productivity. It’s worth bearing in mind that it can take hours (even days) to restore some large databases. Could you afford to bring your business to a standstill for that time?
Technical solutions, such as replication, logshipping, mirroring, Windows failover cluster and Availability groups are a means to achieve a high availability database environment. However, it is also important to create the right cultural mindset across your organization. As a starting point, it helps to be clear about your business requirements and your current patterns of database use. Depending on your already defined requirements, you can then proceed with the solution that fits your criteria.
There are many factors that can cause downtime. And, in most cases, they are not possible to detect before it happens. These factors include, hardware failure, software failure, environmental hazards, human error, power outages and connection issues. It is important to have a good understanding of how database downtime will affect your business as downtime means users and applications can no longer access the server/database.
We’re not just talking about how much money you might lose per hour in the event of a database failure. You also need to consider the cost of lost productivity while the problem is fixed. Think of the additional customer services resources needed to answer queries, and the potential cost of lost sales, customers and brand reputation.
Depending on your business, the cost could also depend on the time of day or year the problem occurs. The summer holidays for travel companies, for example, or the run up to Christmas for ecommerce retailers. These peak trading seasons are also often the time when your people take holidays and resources are stretched.
Every business has specific needs and requirements. In some circumstances, a database out of action for a whole day is not business critical. On the other hand, for some companies even a ten-minute outage would be a disaster.
Do you have access to Database Administrator (DBA) knowledge and expertise? Is your server in a redundant environment such as a well-equipped data center or in the Cloud? Do you have client Service Level Agreements (SLAs) to factor in? Weighing up what you really need and finding the best solution very much depends on your answers to these questions.
There is a range of technical solutions and ways to set up high availability configurations within the SQL server environment. For example, transaction log shipping can be implemented to automatically send backups from a primary database on a primary server to one or more secondary databases on a separate secondary server. Alternatively, database mirroring creates and maintains an exact replica of a database to ensure continuous data availability and minimize or avoid downtime, even during system upgrades. If you have multiple databases, SQL Always On Availability Groups may be the best solution.
In summary, the best way to prevent downtime and minimize potential losses to your business is to adopt a series of best practices that help you achieve high availability for your database servers. Technology is only part of the solution. At the heart of every effective high availability and disaster recovery strategy is robust business analysis and planning.
Each technology option has its own associated costs, pros and cons. Designing the most appropriate solution (or combination of solutions) will be determined by your individual business requirements, such as the degree of business risk, your SLAs and in-house skills. If you’d like to know more, we are always happy to answer questions and discuss individual requirements. You can contact us here.