You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This topic contains information about the using a contained database with [!INCLUDE[ssHADR](../../../includes/sshadr-md.md)] in [!INCLUDE[ssnoversion](../../../includes/ssnoversion-md.md)].
18
-
19
-
## <aname="Prerequisites"></a> Prerequisites
20
-
21
-
- Before adding a contained database to an availability group, ensure that the **contained database authentication** server option is set to **1** on every server instance that hosts an availability replica for the availability group. For more information, see [contained database authentication Server Configuration Option](../../../database-engine/configure-windows/contained-database-authentication-server-configuration-option.md) and [Server Configuration Options (SQL Server)](../../../database-engine/configure-windows/server-configuration-options-sql-server.md).
[Overview of Always On Availability Groups (SQL Server)](../../../database-engine/availability-groups/windows/overview-of-always-on-availability-groups-sql-server.md)
This article contains information about the using a contained database with [!INCLUDE [ssHADR](../../../includes/sshadr-md.md)] in [!INCLUDE [ssnoversion](../../../includes/ssnoversion-md.md)].
21
+
22
+
## Prerequisites
23
+
24
+
Before adding a contained database to an availability group, ensure that the `contained database authentication` server configuration option is set to `1` on every server instance that hosts an availability replica for the availability group.
25
+
26
+
For more information, see [Server Configuration: contained database authentication](../../configure-windows/contained-database-authentication-server-configuration-option.md).
Copy file name to clipboardExpand all lines: docs/linux/business-continuity/high-availability/configure-custom-logic.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,7 +4,7 @@ description: How to configure a SQL Server Always On availability group using cu
4
4
author: rwestMSFT
5
5
ms.author: randolphwest
6
6
ms.reviewer: atsingh, amitkh-msft
7
-
ms.date: 01/13/2026
7
+
ms.date: 02/04/2026
8
8
ms.service: sql
9
9
ms.subservice: linux
10
10
ms.topic: design-pattern
@@ -47,7 +47,7 @@ This article explains how to configure a SQL Server Always On availability group
47
47
48
48
Create the AG. Set `CLUSTER_TYPE = EXTERNAL`. In addition, set each replica with `FAILOVER_MODE = EXTERNAL`. Depending on the environment's requirements, set `AVAILABILITY_MODE` to either `SYNCHRONOUS_COMMIT` or `ASYNCHRONOUS_COMMIT.`
49
49
50
-
**Paxos protocol** plays a critical role in the internal communication and configuration consistency of AlwaysOn availability groups (AGs) in SQL Server, particularly in cluster-agnostic or external cluster configurations. Paxos maintains consistency of the AG configuration across replicas, prevent split-brain scenarios, and ensures only primary is responsible for configuration updates.
50
+
**Paxos protocol** plays a critical role in the internal communication and configuration consistency of Always On availability groups (AGs) in SQL Server, particularly in cluster-agnostic or external cluster configurations. Paxos maintains consistency of the AG configuration across replicas, prevent split-brain scenarios, and ensures only primary is responsible for configuration updates.
51
51
52
52
The following Transact-SQL script creates an AG named `ag1`. The script configures the AG replicas with `SEEDING_MODE = MANUAL`. This setting requires you to manually initialize secondary replicas with a copy of the database before adding them to the AG. Update the following script for your environment. Replace the `<node1>`, `<node2>`, and `<node3>` values with the names of the SQL Server instances that host the replicas. This AG also configures the configuration only replica `<node3>`. The configuration only replica maintains configuration information about the availability group in the `master` database but doesn't contain the user databases in the availability group. Replace the `<5022>` value with the port you set for the endpoint. Run the following Transact-SQL script on the primary SQL Server replica:
53
53
@@ -199,4 +199,4 @@ To force a manual failover with data loss from primary replica N1 to secondary r
-[What is an Always On availability group?](../../../database-engine/availability-groups/windows/overview-of-always-on-availability-groups-sql-server.md)
202
-
-[Perform a forced manual failover of an Always On availability group (SQL Server)](../../../database-engine/availability-groups/windows/perform-a-forced-manual-failover-of-an-availability-group-sql-server.md)
202
+
-[Perform a forced manual failover of an Always On availability group (SQL Server)](../../../database-engine/availability-groups/windows/perform-a-forced-manual-failover-of-an-availability-group-sql-server.md)
Copy file name to clipboardExpand all lines: docs/relational-databases/errors-events/mssqlserver-19407-database-engine-error.md
+5-5Lines changed: 5 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,7 +4,7 @@ description: "MSSQLSERVER_19407"
4
4
author: pijocoder
5
5
ms.author: jopilov
6
6
ms.reviewer: randolphwest
7
-
ms.date: 04/03/2024
7
+
ms.date: 02/04/2026
8
8
ms.service: sql
9
9
ms.subservice: supportability
10
10
ms.topic: "reference"
@@ -18,7 +18,7 @@ helpviewer_keywords:
18
18
## Details
19
19
20
20
| Attribute | Value |
21
-
|:--- |:--- |
21
+
| --- | --- |
22
22
| Product Name | SQL Server |
23
23
| Event ID | 19407 |
24
24
| Event Source | MSSQLSERVER |
@@ -30,7 +30,7 @@ helpviewer_keywords:
30
30
31
31
Error 19407 is raised in the SQL Server error log when the communication between SQL Server and the Windows Server Failover cluster is lost. Typically a corrective action occurs - a failover to another Always On node.
32
32
33
-
A lease is a time-based communication mechanism that takes place between the SQL Server and the Windows Server Failover Cluster (WSFC) process, specifically the RHS.EXE process. The two processes communicate with each other periodically to ensure the other process is running and responding. This communication takes place using Windows [Event objects](/windows/win32/sync/event-objects) and ensures that a failover of the AG resource doesn't occur without the knowledge of the WSFC. If one of the processes doesn't respond to the lease communication based on a predefined lease period, a lease timeout occurs. For detailed information, see [Mechanics and guidelines of lease, cluster, and health check timeouts for Always On availability groups](../../database-engine/availability-groups/windows/availability-group-lease-healthcheck-timeout.md). Also see [How It Works: SQL Server AlwaysOn Lease Timeout](https://techcommunity.microsoft.com/t5/sql-server-support-blog/how-it-works-sql-server-alwayson-lease-timeout/ba-p/317268)
33
+
A lease is a time-based communication mechanism that takes place between the SQL Server and the Windows Server Failover Cluster (WSFC) process, specifically the RHS.EXE process. The two processes communicate with each other periodically to ensure the other process is running and responding. This communication takes place using Windows [Event objects](/windows/win32/sync/event-objects) and ensures that a failover of the AG resource doesn't occur without the knowledge of the WSFC. If one of the processes doesn't respond to the lease communication based on a predefined lease period, a lease timeout occurs. For detailed information, see [Mechanics and guidelines of lease, cluster, and health check timeouts for Always On availability groups](../../database-engine/availability-groups/windows/availability-group-lease-healthcheck-timeout.md). Also see [How It Works: SQL Server Always On Lease Timeout](https://techcommunity.microsoft.com/blog/sqlserversupport/how-it-works-sql-server-alwayson-lease-timeout/317268).
34
34
35
35
### Causes
36
36
@@ -59,7 +59,7 @@ Since Windows Events are light-weight synchronization objects, there's relativel
59
59
60
60
1. Go to the **Performance** tab and see if CPUs are close to or at 100% utilization.
61
61
62
-
1. Go to the **Processes** tab and sort processes by the CPU column in descending order, by selecting on the **CPU** column.
62
+
1. Go to the **Processes** tab and sort processes by the CPU column in descending order, by selecting the **CPU** column.
63
63
64
64
1. Identify the process that uses most CPU, and work on understanding and resolving the reason for it causing the high CPU.
65
65
@@ -211,7 +211,7 @@ For more information, see [Use the Sqldumper.exe tool to generate a dump file in
211
211
212
212
### Check virtual machine (VM) configuration for overprovisioning
213
213
214
-
If you're using a virtual machine, ensure that you aren't overprovisioning or overcommitting CPUs and memory resources. Overprovisioning CPUs or memory might cause the guest OS to run out of resources and show the same problems described earlier - high CPU and low memory. Frequently if you're viewing things inside the guest OS, explaining why you're running out of computing resources is difficult, because things are happening outside of the virtual machine itself. Overcommitting resources can cause temporary halts of processing, which are likely to cause lease timeouts. For more information on how to address overcommitting, see [Troubleshooting ESX/ESXi virtual machine performance issues (2001003)](https://kb.vmware.com/s/article/2001003) and [Virtualization – Overcommitting memory and how to detect it within the VM](https://techcommunity.microsoft.com/t5/running-sap-applications-on-the/virtualization-8211-overcommitting-memory-and-how-to-detect-it/ba-p/367623).
214
+
If you're using a virtual machine, ensure that you aren't overprovisioning or overcommitting CPUs and memory resources. Overprovisioning CPUs or memory might cause the guest OS to run out of resources and show the same problems described earlier - high CPU and low memory. Frequently if you're viewing things inside the guest OS, explaining why you're running out of computing resources is difficult, because things are happening outside of the virtual machine itself. Overcommitting resources can cause temporary halts of processing, which are likely to cause lease timeouts. For more information on how to address overcommitting, see [Troubleshooting ESX/ESXi virtual machine performance issues (2001003)](https://kb.vmware.com/s/article/2001003) and [Virtualization - Overcommitting memory and how to detect it within the VM](https://techcommunity.microsoft.com/blog/sapapplications/virtualization-8211-overcommitting-memory-and-how-to-detect-it-within-the-vm/367623).
215
215
216
216
### Check for virtual machine (VM) migration or backup
Copy file name to clipboardExpand all lines: docs/relational-databases/errors-events/mssqlserver-19419-database-engine-error.md
+7-7Lines changed: 7 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,7 +3,8 @@ title: "MSSQLSERVER_19419"
3
3
description: "MSSQLSERVER_19419"
4
4
author: pijocoder
5
5
ms.author: jopilov
6
-
ms.date: 01/13/2023
6
+
ms.reviewer: randolphwest
7
+
ms.date: 02/04/2026
7
8
ms.service: sql
8
9
ms.subservice: supportability
9
10
ms.topic: "reference"
@@ -17,7 +18,7 @@ helpviewer_keywords:
17
18
## Details
18
19
19
20
| Attribute | Value |
20
-
|:--- |:--- |
21
+
| --- | --- |
21
22
| Product Name | SQL Server |
22
23
| Event ID | 19419 |
23
24
| Event Source | MSSQLSERVER |
@@ -30,9 +31,9 @@ helpviewer_keywords:
30
31
Error 19419 is raised in the SQL Server error log when the lease worker on the SQL Server side didn't get scheduled in time to process event signal from the cluster.
31
32
Specifically, SQL Server calls [WaitForMultipleObjects()](/windows/win32/api/synchapi/nf-synchapi-waitformultipleobjects) waiting for the Lease timeout event to be set in a signaled state. If the function returns WAIT_OBJECT_0, which indicates success, but by this time the lease has expired, then error 19419 is raised.
32
33
33
-
A lease is a time-based communication mechanism that takes place between the SQL Server and the Windows Server Failover Cluster (WSFC) process, specifically the RHS.EXE process. The two processes communicate with each other periodically to ensure the other process is running and responding. This communication takes place using Windows [Event objects](/windows/win32/sync/event-objects) and ensures that a failover of the AG resource doesn't occur without the knowledge of the WSFC. If one of the processes doesn't respond to the lease communication based on a predefined lease period, a lease timeout occurs. For detailed information, see [Lease Mechanism](../../database-engine/availability-groups/windows/availability-group-lease-healthcheck-timeout.md). Also see [How It Works: SQL Server AlwaysOn Lease Timeout](https://techcommunity.microsoft.com/t5/sql-server-support-blog/how-it-works-sql-server-alwayson-lease-timeout/ba-p/317268)
34
+
A lease is a time-based communication mechanism that takes place between the SQL Server and the Windows Server Failover Cluster (WSFC) process, specifically the RHS.EXE process. The two processes communicate with each other periodically to ensure the other process is running and responding. This communication takes place using Windows [Event objects](/windows/win32/sync/event-objects) and ensures that a failover of the AG resource doesn't occur without the knowledge of the WSFC. If one of the processes doesn't respond to the lease communication based on a predefined lease period, a lease timeout occurs. For detailed information, see [Mechanics and guidelines of lease, cluster, and health check timeouts for Always On availability groups](../../database-engine/availability-groups/windows/availability-group-lease-healthcheck-timeout.md). Also see [How It Works: SQL Server Always On Lease Timeout](https://techcommunity.microsoft.com/blog/sqlserversupport/how-it-works-sql-server-alwayson-lease-timeout/317268).
34
35
35
-
This error is related to other lease timeout errors and provides more specific detail for error [MSSQLSERVER_19407](mssqlserver-19407-database-engine-error.md)
36
+
This error is related to other lease timeout errors and provides more specific detail for error [MSSQLSERVER_19407](mssqlserver-19407-database-engine-error.md).
36
37
37
38
### Causes
38
39
@@ -43,19 +44,18 @@ Since Windows Events are light-weight synchronization objects, there's relativel
43
44
- SQL Server process not responding while generating a large memory dump
44
45
- WSFC going offline (e.g due to quorum loss)
45
46
46
-
47
47
The most common reason for error 19419 is high CPU, which causes a delay in scheduling the lease worker thread.
48
48
49
49
## User action
50
50
51
51
Check the CPU utilization on the server as SQL Server lease worker seems to be starved for CPU resources. The following PowerShell script will allow you to quickly diagnose CPU usage on the system.
Copy file name to clipboardExpand all lines: docs/relational-databases/errors-events/mssqlserver-19421-database-engine-error.md
+6-5Lines changed: 6 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,7 +3,8 @@ title: "MSSQLSERVER_19421"
3
3
description: "MSSQLSERVER_19421"
4
4
author: pijocoder
5
5
ms.author: jopilov
6
-
ms.date: 01/13/2023
6
+
ms.reviewer: randolphwest
7
+
ms.date: 02/04/2026
7
8
ms.service: sql
8
9
ms.subservice: supportability
9
10
ms.topic: "reference"
@@ -17,7 +18,7 @@ helpviewer_keywords:
17
18
## Details
18
19
19
20
| Attribute | Value |
20
-
|:--- |:--- |
21
+
| --- | --- |
21
22
| Product Name | SQL Server |
22
23
| Event ID | 19421 |
23
24
| Event Source | MSSQLSERVER |
@@ -29,9 +30,9 @@ helpviewer_keywords:
29
30
30
31
Error 19421 is raised in the SQL Server error log when the lease helper on the Windows cluster side didn't signal the SQL Server lease worker thread within the pre-defined lease period. Specifically, SQL Server calls [WaitForMultipleObjects()](/windows/win32/api/synchapi/nf-synchapi-waitformultipleobjects) waiting for the Lease timeout event to be set in a signaled state. If the function returns WAIT_TIMEOUT, because it has exceeded the specified Lease interval, then error 19421 is raised.
31
32
32
-
A lease is a time-based communication mechanism that takes place between the SQL Server and the Windows Server Failover Cluster (WSFC) process, specifically the RHS.EXE process. The two processes communicate with each other periodically to ensure the other process is running and responding. This communication takes place using Windows [Event objects](/windows/win32/sync/event-objects) and ensures that a failover of the AG resource doesn't occur without the knowledge of the WSFC. If one of the processes doesn't respond to the lease communication based on a predefined lease period, a lease timeout occurs. For detailed information, see [Lease Mechanism](../../database-engine/availability-groups/windows/availability-group-lease-healthcheck-timeout.md). Also see [How It Works: SQL Server AlwaysOn Lease Timeout](https://techcommunity.microsoft.com/t5/sql-server-support-blog/how-it-works-sql-server-alwayson-lease-timeout/ba-p/317268)
33
+
A lease is a time-based communication mechanism that takes place between the SQL Server and the Windows Server Failover Cluster (WSFC) process, specifically the RHS.EXE process. The two processes communicate with each other periodically to ensure the other process is running and responding. This communication takes place using Windows [Event objects](/windows/win32/sync/event-objects) and ensures that a failover of the AG resource doesn't occur without the knowledge of the WSFC. If one of the processes doesn't respond to the lease communication based on a predefined lease period, a lease timeout occurs. For detailed information, see [Mechanics and guidelines of lease, cluster, and health check timeouts for Always On availability groups](../../database-engine/availability-groups/windows/availability-group-lease-healthcheck-timeout.md). Also see [How It Works: SQL Server Always On Lease Timeout](https://techcommunity.microsoft.com/blog/sqlserversupport/how-it-works-sql-server-alwayson-lease-timeout/317268).
33
34
34
-
This error is related to other lease timeout errors and provides more specific detail for error [MSSQLSERVER_19407](mssqlserver-19407-database-engine-error.md)
35
+
This error is related to other lease timeout errors and provides more specific detail for error [MSSQLSERVER_19407](mssqlserver-19407-database-engine-error.md).
35
36
36
37
### Causes
37
38
@@ -46,7 +47,7 @@ Since Windows Events are light-weight synchronization objects, there's relativel
46
47
47
48
Check corresponding Availability Group resource in WSFC cluster to see if it reported any errors.
48
49
49
-
For detailed troubleshooting, see User action in [MSSQLSERVER_19407](mssqlserver-19407-database-engine-error.md#user-action)
50
+
For detailed troubleshooting, see User action in [MSSQLSERVER_19407](mssqlserver-19407-database-engine-error.md#user-action):
0 commit comments