Skip to content

Commit 1b99f89

Browse files
committed
"Always On" has a space in it
1 parent 86e15e7 commit 1b99f89

12 files changed

Lines changed: 313 additions & 295 deletions

azure-sql/virtual-machines/windows/availability-group-manually-configure-multi-subnet-multiple-regions.md

Lines changed: 66 additions & 66 deletions
Large diffs are not rendered by default.

azure-sql/virtual-machines/windows/availability-group-manually-configure-multiple-regions.md

Lines changed: 84 additions & 84 deletions
Large diffs are not rendered by default.
Lines changed: 22 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,35 @@
11
---
2-
title: "Use contained databases with availability groups"
2+
title: "Use Contained Databases with Availability Groups"
33
description: "Learn about the using a contained database with Always On availability groups in SQL Server 2019 (15.x)."
44
author: MashaMSFT
55
ms.author: mathoma
6-
ms.date: "05/17/2016"
6+
ms.reviewer: randolphwest
7+
ms.date: 02/04/2026
78
ms.service: sql
89
ms.subservice: availability-groups
910
ms.topic: how-to
1011
helpviewer_keywords:
1112
- "Availability Groups [SQL Server], interoperability"
1213
- "contained database, AlwaysOnAvailabilityGroups"
14+
- "contained database, Always On Availability Groups"
1315
---
14-
# Use contained databases with Always On availability groups
16+
# Use contained databases with Always On availability groups
17+
1518
[!INCLUDE [SQL Server](../../../includes/applies-to-version/sqlserver.md)]
1619

17-
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-
## <a name="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 &#40;SQL Server&#41;](../../../database-engine/configure-windows/server-configuration-options-sql-server.md).
22-
23-
## <a name="RelatedTasks"></a> Related Tasks
24-
25-
- [Server Configuration Options &#40;SQL Server&#41;](../../../database-engine/configure-windows/server-configuration-options-sql-server.md)
26-
27-
## See Also
28-
[Overview of Always On Availability Groups &#40;SQL Server&#41;](../../../database-engine/availability-groups/windows/overview-of-always-on-availability-groups-sql-server.md)
29-
[Contained Databases](../../../relational-databases/databases/contained-databases.md)
30-
31-
20+
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).
27+
28+
## Related tasks
29+
30+
- [Server configuration options](../../configure-windows/server-configuration-options-sql-server.md)
31+
32+
## Related content
33+
34+
- [What is an Always On availability group?](overview-of-always-on-availability-groups-sql-server.md)
35+
- [Contained Databases](../../../relational-databases/databases/contained-databases.md)

docs/linux/business-continuity/high-availability/configure-custom-logic.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ description: How to configure a SQL Server Always On availability group using cu
44
author: rwestMSFT
55
ms.author: randolphwest
66
ms.reviewer: atsingh, amitkh-msft
7-
ms.date: 01/13/2026
7+
ms.date: 02/04/2026
88
ms.service: sql
99
ms.subservice: linux
1010
ms.topic: design-pattern
@@ -47,7 +47,7 @@ This article explains how to configure a SQL Server Always On availability group
4747

4848
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.`
4949

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.
5151

5252
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:
5353

@@ -199,4 +199,4 @@ To force a manual failover with data loss from primary replica N1 to secondary r
199199

200200
- [Distributed availability groups](../../../database-engine/availability-groups/windows/distributed-availability-groups.md)
201201
- [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)

docs/relational-databases/errors-events/mssqlserver-19407-database-engine-error.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ description: "MSSQLSERVER_19407"
44
author: pijocoder
55
ms.author: jopilov
66
ms.reviewer: randolphwest
7-
ms.date: 04/03/2024
7+
ms.date: 02/04/2026
88
ms.service: sql
99
ms.subservice: supportability
1010
ms.topic: "reference"
@@ -18,7 +18,7 @@ helpviewer_keywords:
1818
## Details
1919

2020
| Attribute | Value |
21-
| :--- | :--- |
21+
| --- | --- |
2222
| Product Name | SQL Server |
2323
| Event ID | 19407 |
2424
| Event Source | MSSQLSERVER |
@@ -30,7 +30,7 @@ helpviewer_keywords:
3030

3131
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.
3232

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).
3434

3535
### Causes
3636

@@ -59,7 +59,7 @@ Since Windows Events are light-weight synchronization objects, there's relativel
5959

6060
1. Go to the **Performance** tab and see if CPUs are close to or at 100% utilization.
6161

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.
6363

6464
1. Identify the process that uses most CPU, and work on understanding and resolving the reason for it causing the high CPU.
6565

@@ -211,7 +211,7 @@ For more information, see [Use the Sqldumper.exe tool to generate a dump file in
211211

212212
### Check virtual machine (VM) configuration for overprovisioning
213213

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).
215215

216216
### Check for virtual machine (VM) migration or backup
217217

docs/relational-databases/errors-events/mssqlserver-19419-database-engine-error.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@ title: "MSSQLSERVER_19419"
33
description: "MSSQLSERVER_19419"
44
author: pijocoder
55
ms.author: jopilov
6-
ms.date: 01/13/2023
6+
ms.reviewer: randolphwest
7+
ms.date: 02/04/2026
78
ms.service: sql
89
ms.subservice: supportability
910
ms.topic: "reference"
@@ -17,7 +18,7 @@ helpviewer_keywords:
1718
## Details
1819

1920
| Attribute | Value |
20-
| :--- | :--- |
21+
| --- | --- |
2122
| Product Name | SQL Server |
2223
| Event ID | 19419 |
2324
| Event Source | MSSQLSERVER |
@@ -30,9 +31,9 @@ helpviewer_keywords:
3031
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.
3132
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.
3233

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).
3435

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).
3637

3738
### Causes
3839

@@ -43,19 +44,18 @@ Since Windows Events are light-weight synchronization objects, there's relativel
4344
- SQL Server process not responding while generating a large memory dump
4445
- WSFC going offline (e.g due to quorum loss)
4546

46-
4747
The most common reason for error 19419 is high CPU, which causes a delay in scheduling the lease worker thread.
4848

4949
## User action
5050

5151
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.
5252

53-
```powershell
53+
```powershell
5454
Get-Counter -Counter "\Processor(_Total)\% Processor Time" -SampleInterval 5 -MaxSamples 30 |
5555
Select-Object -ExpandProperty CounterSamples | Select-Object TimeStamp, Path, CookedValue
5656
```
5757

58-
For detailed troubleshooting, see User action in [MSSQLSERVER_19407](mssqlserver-19407-database-engine-error.md#user-action)
58+
For detailed troubleshooting, see User action in [MSSQLSERVER_19407](mssqlserver-19407-database-engine-error.md#user-action):
5959

6060
- Troubleshoot high CPU issues
6161
- Troubleshoot low memory issues

docs/relational-databases/errors-events/mssqlserver-19421-database-engine-error.md

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@ title: "MSSQLSERVER_19421"
33
description: "MSSQLSERVER_19421"
44
author: pijocoder
55
ms.author: jopilov
6-
ms.date: 01/13/2023
6+
ms.reviewer: randolphwest
7+
ms.date: 02/04/2026
78
ms.service: sql
89
ms.subservice: supportability
910
ms.topic: "reference"
@@ -17,7 +18,7 @@ helpviewer_keywords:
1718
## Details
1819

1920
| Attribute | Value |
20-
| :--- | :--- |
21+
| --- | --- |
2122
| Product Name | SQL Server |
2223
| Event ID | 19421 |
2324
| Event Source | MSSQLSERVER |
@@ -29,9 +30,9 @@ helpviewer_keywords:
2930

3031
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.
3132

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).
3334

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).
3536

3637
### Causes
3738

@@ -46,7 +47,7 @@ Since Windows Events are light-weight synchronization objects, there's relativel
4647

4748
Check corresponding Availability Group resource in WSFC cluster to see if it reported any errors.
4849

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):
5051

5152
- Troubleshoot high CPU issues
5253
- Troubleshoot low memory issues

0 commit comments

Comments
 (0)