phone icon nav Call Us 888-690-3282    Follow Us
phone icon nav Call Us 888-690-3282    Follow Us

High Availability and Failover Clustering for SQL Server Database Administrators (DBAs)

Introduction

High availability (HA) and failover clustering are critical for ensuring continuous access to SQL Server databases. As a DBA, understanding SQL Server AlwaysOn Availability Groups and failover clustering is essential. In this whitepaper, we will explore these technologies, automatic failover, read replicas, and data synchronization.

Understanding High Availability and Failover Clustering

Importance of High Availability

  • Downtime affects business operations and customer satisfaction.
  • HA minimizes risks associated with data unavailability.

SQL Server Failover Clustering

  • Group multiple servers into a cluster.
  • Automatic failover in case of node failure.
  • Shared storage for database files.

SQL Server AlwaysOn Availability Groups

Overview

  • Provides high availability and disaster recovery.
  • Supports automatic failover and read replicas.

Components

  • Availability Group: Group of databases that fail over together.
  • Availability Replica: Instance of an availability group on a server.
  • Listener: Virtual network name for client connections.

Automatic Failover

  • Automatic failover to a healthy replica.
  • Minimizes downtime.

Read Replicas

  • Offload read workloads to secondary replicas.
  • Improve performance and scalability.

Data Synchronization

Synchronous vs. Asynchronous Data Replication

  • Synchronous: Commit on primary and secondary replicas.
  • Asynchronous: Commit on primary, replicate later.

Data Synchronization Modes

  • Automatic Failover: Synchronous data synchronization.
  • Manual Failover: Synchronous or asynchronous.

Setting Up AlwaysOn Availability Groups

Prerequisites

  • Windows Server Failover Clustering.
  • Shared storage or Storage Spaces Direct (S2D).

Configuration Steps

  1. Create an availability group.
  2. Add databases to the group.
  3. Configure replicas (primary and secondary).
  4. Set up listeners.

Monitoring and Troubleshooting

Monitoring Availability Groups

  • Use SQL Server Management Studio (SSMS).
  • Monitor health, synchronization, and failover status.

Troubleshooting Failover Issues

  • Investigate cluster logs and SQL Server error logs.
  • Validate quorum settings.

Conclusion

SQL Server AlwaysOn Availability Groups and failover clustering provide robust high availability solutions. As a DBA, stay informed about updates, test failover scenarios, and collaborate with system administrators to ensure seamless failover and data synchronization.

Background

A large automotive plant operator has been using a custom application framework to build an application integral to their operations. Originally built using JDK8 and JBoss4 against an Oracle database, the application received periodic updates, with the last major update in 2020/2021. In 2024, the client and Performance One Data Solutions, a division of Ross Group Inc., embarked on a joint effort to upgrade the technology stack to enhance performance, security, and maintainability.

Objectives

The primary goals of the project were:

  1. Upgrade the Custom Application Framework from JDK8 to JDK21.
  2. Upgrade the jQuery integration to release 3.7.1.
  3. Upgrade the application to run on Wildfly 30 from Wildfly 11.
  4. Migrate the database backend from Oracle 12 to Microsoft SQL Server 2020.

Challenges and Solutions

Framework and Database Migration:

  • Challenge: The application framework was vetted against Microsoft SQL Server but was not deployed in a major application.
  • Solution: Performance One refactored the framework to conform to Java 9+ standards and regression-tested it against Microsoft SQL Server 2020.

Application Refactoring:

  • Challenge: Refactoring the client application to compile and run using the new tech stack.
  • Solution: Performance One took a copy of the client application and refactored it to compile and launch using JDK21, Wildfly 30, and Microsoft SQL Server.

Data Migration:

  • Challenge: Migrating data from Oracle to Microsoft SQL Server.
  • Solution: Performance One provided migrated data and created installation scripts to upgrade the client’s Microsoft SQL Server.

Report Conversion:

  • Challenge: Converting BIRT and Crystal reports against Microsoft SQL Server.
  • Solution: Performance One converted the reports and ensured they worked with Microsoft SQL Server.

Project Timeline

Initial Milestones:

    1. Complete Framework upgrade to JDK21/Wildfly 30.
    2. Provide migrated data from Oracle to Microsoft SQL Server.
    3. Regression test the application framework against Microsoft SQL Server 2020.
    4. Refactor the client’s application to compile and launch using the new tech stack.
    5. Create installation data script for Microsoft SQL Server compliance.
    6. Regression test the application installation processes.
    7. Make recommendations for unused application features.
    8. Validate and upgrade application code.

Additional Tasks

  • Database Procedures Conversion: Performance One converted the client’s database procedures, functions, and views to Microsoft SQL Server.
  • Report Migrations: Ongoing conversion of BIRT and Crystal report development.
  • Application Enhancements: Upgrading client’s application screens for jQuery 3.7.1, file attachment uploads, and integration with scanner devices using web sockets.
  • Server Maintenance: Wildfly server maintenance, release builds, and deployment handling, with a transition plan for client resources post-go-live.

Conclusion

Performance One Data Solutions partnered with the client to upgrade the technology stack, ensuring improved performance and maintainability. The collaboration between Performance One and the client team demonstrated effective problem-solving and adaptability, setting a strong foundation for future upgrades and enhancements.

Contact-Us

Let's Talk

Use our expertise to propel your business to the next level.