Deploy a high availability SQL Server Always On environment using Docker containers. This step-by-step guide covers Dockerfile configuration, Docker Compose orchestration, and T-SQL scripts for enterprise DBAs and BI developers to ensure seamless CDC and database performance.
Category: Availability Groups
SQL Server Always On Health Check and Lease Timeout Monitoring
SQL Server Always On Availability Groups are a robust solution for achieving high availability and disaster recovery for SQL Server databases. However, simply configuring them is not enough—you also need a solid monitoring strategy to ensure data integrity and system reliability. One key aspect of this monitoring process is keeping an eye on lease timeouts, which can signal larger issues and help prevent potentially catastrophic split-brain scenarios. In this post, we’ll walk through the various health checks available for Always On Availability Groups, discuss how lease timeouts work, and explore practical methods for monitoring and troubleshooting.
Understanding Worker Threads vs. CPU Utilization in SQL Server
When managing SQL Server performance, it’s important to understand the relationship—and the distinction—between worker threads and CPU utilization. These are two separate metrics that can behave independently. For instance, you might experience high CPU utilization while still having available worker threads, or you could have all worker threads occupied even when CPU utilization is low. This post takes a look at SQL Server worker threads and CPU utilization.
Saving Time with SQL Server Migrations Using Always On Availability Groups and Log Shipping
Migrating databases to a newer version of SQL Server is a critical task that often comes with challenges, especially when aiming to minimize downtime. Leveraging SQL Server’s Always On Availability Groups and log shipping features allows you to perform most of the migration work in advance, ensuring a seamless transition with minimal impact on your operations. This blog provides a step-by-step approach to migrating from SQL Server 2017 to SQL Server 2022, focusing on efficiency and continuity.
Automating Database Restoration Between SQL Server Availability Groups Using PowerShell
In this post, I’ll walk you through a PowerShell script that automates the restoration of a database from one AG to another. The script handles everything—from performing a COPY-ONLY backup on the source AG to restoring the database on the target AG’s primary and secondary replicas, applying transaction logs, and rejoining the database to the new AG seamlessly.
Manually Synchronizing a Lagging Secondary Replica in SQL Server Always On Availability Groups
In high-availability environments, SQL Server Always On Availability Groups (AG) are essential for minimizing downtime and preventing data loss. However, situations can arise where a secondary replica lags behind the primary, disrupting synchronization and risking potential data inconsistencies. This blog provides instructions on how to manually catch up a lagging secondary replica using transaction log backups.
Combining Always On Availability Groups with Peer-to-Peer Replication
Starting with SQL Server 2019 CU13, databases participating in a peer-to-peer replication configuration can now be part of an Always On availability group. This integration is flexible—you are not required to have all members of the replication configuration within an AG. You can mix and match AG and non-AG databases within your replication setup, significantly improving the availability and scalability of your configurations.
Managing IDENTITY and SEQUENCE Behavior in SQL Server Always On Availability Groups
In SQL Server Always On Availability Groups, maintaining data consistency during failovers is necessary for high availability and reliability. However, certain aspects of database behavior, such as the generation of values by IDENTITY columns and SEQUENCE objects, can lead to unexpected gaps or jumps after a failover or server restart. This can affect the continuity of sequential values, which is often important in business applications. In this post, we’ll look into how SQL Server handles IDENTITY columns and SEQUENCE objects in an Always On environment, explain the role of caching, and offer strategies to manage or prevent gaps in your sequences during failovers.
Ensuring Smooth SSRS Subscriptions in an Always On Availability Group
SQL Server Reporting Services (SSRS) is a powerful tool for managing and delivering reports in an enterprise environment. When configuring SSRS within a SQL Server Always On Availability Group, it’s essential to take specific steps to ensure that SSRS subscriptions continue to function properly during failovers. This blog outlines the key actions required to maintain seamless SSRS operations in such a setup.
Enhancing Availability with SQL Server AlwaysOn Database-Level Health Detection
AlwaysOn Database-Level Health Detection is an optional configuration that enhances the resilience of availability group databases. It monitors database transactions and, if an issue is detected, can automatically trigger a failover to another replica. This proactive measure helps maintain application availability even in the event of hardware or I/O failures.