Skip to content

Commit 48906df

Browse files
Merge pull request #34607 from MicrosoftDocs/main
Merged by Learn.Build PR Management system
2 parents ea24397 + 54ca52d commit 48906df

File tree

91 files changed

+1600
-1451
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

91 files changed

+1600
-1451
lines changed
Lines changed: 16 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,27 @@
11
---
22
author: rwestMSFT
33
ms.author: randolphwest
4-
ms.date: 11/23/2022
4+
ms.date: 07/03/2025
55
ms.service: sql
6-
ms.custom: linux-related-content
76
ms.topic: include
7+
ms.custom:
8+
- linux-related-content
89
---
9-
This article provides an overview of business continuity solutions for high availability and disaster recovery in [!INCLUDE[ssnoversion-md](../ssnoversion-md.md)], on Windows and Linux.
10+
This article provides an overview of business continuity solutions for high availability and disaster recovery in [!INCLUDE [ssnoversion-md](../ssnoversion-md.md)], on Windows and Linux.
1011

11-
One common task everyone deploying [!INCLUDE[ssnoversion-md](../ssnoversion-md.md)] has to account for is making sure that all mission critical [!INCLUDE[ssnoversion-md](../ssnoversion-md.md)] instances and the databases within them are available when the business and end users need them, whether that is 9 to 5 or around the clock. The goal is to keep the business up and running with minimal or no interruption. This concept is also known as *business continuity*.
12+
One common task everyone deploying [!INCLUDE [ssnoversion-md](../ssnoversion-md.md)] has to account for is making sure that all mission critical [!INCLUDE [ssnoversion-md](../ssnoversion-md.md)] instances and the databases within them are available when the business and end users need them, whether that is 9 to 5 or around the clock. The goal is to keep the business up and running with minimal or no interruption. This concept is also known as *business continuity*.
1213

13-
[!INCLUDE[sssql17-md](../sssql17-md.md)] introduced many new features or enhancements to existing ones, some of which are for availability. The biggest addition to [!INCLUDE[sssql17-md](../sssql17-md.md)] was support for [!INCLUDE[ssnoversion-md](../ssnoversion-md.md)] on Linux distributions. For a full list of the new features in [!INCLUDE[ssnoversion-md](../ssnoversion-md.md)], see the following articles:
14+
[!INCLUDE [sssql17-md](../sssql17-md.md)] introduced many new features or enhancements to existing ones, some of which are for availability. The biggest addition to [!INCLUDE [sssql17-md](../sssql17-md.md)] was support for [!INCLUDE [ssnoversion-md](../ssnoversion-md.md)] on Linux distributions. For a full list of the new features in [!INCLUDE [ssnoversion-md](../ssnoversion-md.md)], see the following articles:
1415

1516
- [What's new in SQL Server 2017](../../sql-server/what-s-new-in-sql-server-2017.md)
1617
- [What's new for SQL Server 2017 on Linux](../../linux/sql-server-linux-whats-new.md)
1718
- [What's new in SQL Server 2019](../../sql-server/what-s-new-in-sql-server-2019.md)
1819
- [What's new for SQL Server 2019 on Linux](../../linux/sql-server-linux-whats-new-2019.md)
1920
- [What's new in SQL Server 2022](../../sql-server/what-s-new-in-sql-server-2022.md)
2021

21-
This article is focused on covering the availability scenarios in [!INCLUDE[sssql17-md](../sssql17-md.md)] and later versions, as well as the new and enhanced availability features. The scenarios include hybrid ones that will be able to span [!INCLUDE[ssnoversion-md](../ssnoversion-md.md)] deployments on both Windows Server and Linux, and ones that can increase the number of readable copies of a database.
22+
This article is focused on covering the availability scenarios in [!INCLUDE [sssql17-md](../sssql17-md.md)] and later versions, as well as the new and enhanced availability features. The scenarios include hybrid ones that will be able to span [!INCLUDE [ssnoversion-md](../ssnoversion-md.md)] deployments on both Windows Server and Linux, and ones that can increase the number of readable copies of a database.
2223

23-
While this article doesn't cover availability options external to [!INCLUDE[ssnoversion-md](../ssnoversion-md.md)], such as those provided by virtualization, everything discussed here applies to [!INCLUDE[ssnoversion-md](../ssnoversion-md.md)] installations inside a guest virtual machine whether in the public cloud or hosted by an on-premises hypervisor server.
24+
While this article doesn't cover availability options external to [!INCLUDE [ssnoversion-md](../ssnoversion-md.md)], such as those provided by virtualization, everything discussed here applies to [!INCLUDE [ssnoversion-md](../ssnoversion-md.md)] installations inside a guest virtual machine whether in the public cloud or hosted by an on-premises hypervisor server.
2425

2526
## SQL Server scenarios using the availability features
2627

@@ -31,34 +32,34 @@ Always On availability groups, Always On failover cluster instances, and log shi
3132
- Migrations and upgrades
3233
- Scaling out readable copies of one or more databases
3334

34-
The following sections discuss the relevant features that can be used for that particular scenario. The one feature not covered is [SQL Server replication](../../relational-databases/replication/sql-server-replication.md). While not officially designated as an availability feature under the Always On umbrella, [!INCLUDE[ssnoversion-md](../ssnoversion-md.md)] replication is often used for making data redundant in certain scenarios. Merge replication isn't supported for [!INCLUDE[ssnoversion-md](../ssnoversion-md.md)] on Linux. For more information, see [SQL Server Replication on Linux](../../linux/sql-server-linux-replication.md).
35+
The following sections discuss the relevant features that can be used for that particular scenario. The one feature not covered is [SQL Server replication](../../relational-databases/replication/sql-server-replication.md). While not officially designated as an availability feature under the Always On umbrella, [!INCLUDE [ssnoversion-md](../ssnoversion-md.md)] replication is often used for making data redundant in certain scenarios. Merge replication isn't supported for [!INCLUDE [ssnoversion-md](../ssnoversion-md.md)] on Linux. For more information, see [SQL Server replication on Linux](../../linux/sql-server-linux-replication.md).
3536

3637
> [!IMPORTANT]
37-
> The [!INCLUDE[ssnoversion-md](../ssnoversion-md.md)] availability features do not replace the requirement to have a robust, well tested backup and restore strategy, the most fundamental building block of any availability solution.
38+
> The [!INCLUDE [ssnoversion-md](../ssnoversion-md.md)] availability features don't replace the requirement to have a robust, well tested backup and restore strategy, the most fundamental building block of any availability solution.
3839
39-
[!INCLUDE[sql-server-business-continuity-high-availability](high-availability.md)]
40+
[!INCLUDE [sql-server-business-continuity-high-availability](high-availability.md)]
4041

41-
[!INCLUDE[sql-server-business-continuity-migrations](migrations.md)]
42+
[!INCLUDE [sql-server-business-continuity-migrations](migrations.md)]
4243

4344
## Cross-platform and Linux distribution interoperability
4445

45-
With [!INCLUDE[ssnoversion-md](../ssnoversion-md.md)] now supported on both Windows Server and Linux, this section covers the scenarios of how they can work together for availability in addition to other purposes, and the story for solutions that will incorporate more than one Linux distribution.
46+
With [!INCLUDE [ssnoversion-md](../ssnoversion-md.md)] now supported on both Windows Server and Linux, this section covers the scenarios of how they can work together for availability in addition to other purposes, and the story for solutions that will incorporate more than one Linux distribution.
4647

4748
> [!NOTE]
4849
> There are no scenarios where a WSFC-based FCI or AG will work with a Linux-based FCI or AG directly. A WSFC can't be extended by a Pacemaker node and vice versa.
4950
5051
## Distributed availability groups
5152

52-
Distributed AGs are designed to span AG configurations, whether those two underlying clusters underneath the AGs are two different WSFCs, Linux distributions, or one on a WSFC and the other on Linux. A distributed AG will be the primary method of having a cross platform solution. A distributed AG is also the primary solution for migrations such as converting from a Windows Server-based [!INCLUDE[ssnoversion-md](../ssnoversion-md.md)] infrastructure to a Linux-based one if that is what your company wants to do. As noted above, AGs, and especially distributed AGs, would minimize the time that an application would be unavailable for use. An example of a distributed AG that spans a WSFC and Pacemaker is shown below.
53+
Distributed AGs are designed to span AG configurations, whether those two underlying clusters underneath the AGs are two different WSFCs, Linux distributions, or one on a WSFC and the other on Linux. A distributed AG will be the primary method of having a cross platform solution. A distributed AG is also the primary solution for migrations such as converting from a Windows Server-based [!INCLUDE [ssnoversion-md](../ssnoversion-md.md)] infrastructure to a Linux-based one if that is what your company wants to do. As noted above, AGs, and especially distributed AGs, would minimize the time that an application would be unavailable for use. An example of a distributed AG that spans a WSFC and Pacemaker is shown below.
5354

5455
:::image type="content" source="media/business-continuity/distributed-availability-group-span.png" alt-text="Diagram showing a distributed availability group that spans a WSFC and Pacemaker.":::
5556

5657
If an AG is configured with a cluster type of None, it can span Windows Server and Linux, as well as multiple Linux distributions. Since this isn't a true high availability configuration, it shouldn't be used for mission critical deployments, but for read-scale or migration/upgrade scenarios.
5758

5859
## Log shipping
5960

60-
Since log shipping is based on backup and restore, and there are no differences in the databases, file structures, etc., for [!INCLUDE[ssnoversion-md](../ssnoversion-md.md)] on Windows Server versus [!INCLUDE[ssnoversion-md](../ssnoversion-md.md)] on Linux. This means that log shipping can be configured between a Windows Server-based [!INCLUDE[ssnoversion-md](../ssnoversion-md.md)] installation and a Linux one, as well as between distributions of Linux. Everything else remains the same. The only caveat is that log shipping, just like an AG, can't work when the source is at a higher [!INCLUDE[ssnoversion-md](../ssnoversion-md.md)] major version against a target that is at a lower version of [!INCLUDE[ssnoversion-md](../ssnoversion-md.md)].
61+
Since log shipping is based on backup and restore, and there are no differences in the databases, file structures, etc., for [!INCLUDE [ssnoversion-md](../ssnoversion-md.md)] on Windows Server versus [!INCLUDE [ssnoversion-md](../ssnoversion-md.md)] on Linux. This means that log shipping can be configured between a Windows Server-based [!INCLUDE [ssnoversion-md](../ssnoversion-md.md)] installation and a Linux one, as well as between distributions of Linux. Everything else remains the same. The only caveat is that log shipping, just like an AG, can't work when the source is at a higher [!INCLUDE [ssnoversion-md](../ssnoversion-md.md)] major version against a target that is at a lower version of [!INCLUDE [ssnoversion-md](../ssnoversion-md.md)].
6162

6263
## Summary
6364

64-
Instances and databases of [!INCLUDE[sssql17-md](../sssql17-md.md)] and later versions can be made highly available using the same features on both Windows Server and Linux. Besides standard availability scenarios of local high availability and disaster recovery, downtime associated with upgrades and migrations can be minimized with the availability features in [!INCLUDE[ssnoversion-md](../ssnoversion-md.md)]. AGs can also provide additional copies of a database as part of the same architecture to scale out readable copies. Whether you're deploying a new solution or considering an upgrade, [!INCLUDE[ssnoversion-md](../ssnoversion-md.md)] has the availability and reliability you require.
65+
Instances and databases of [!INCLUDE [sssql17-md](../sssql17-md.md)] and later versions can be made highly available using the same features on both Windows Server and Linux. Besides standard availability scenarios of local high availability and disaster recovery, downtime associated with upgrades and migrations can be minimized with the availability features in [!INCLUDE [ssnoversion-md](../ssnoversion-md.md)]. AGs can also provide additional copies of a database as part of the same architecture to scale out readable copies. Whether you're deploying a new solution or considering an upgrade, [!INCLUDE [ssnoversion-md](../ssnoversion-md.md)] has the availability and reliability you require.

docs/linux/includes/linux-forced-unit-access.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
---
22
author: rwestMSFT
33
ms.author: randolphwest
4-
ms.date: 01/21/2025
4+
ms.date: 07/03/2025
55
ms.service: sql
66
ms.subservice: linux
77
ms.topic: include
88
ms.custom:
99
- linux-related-content
1010
---
11-
Certain versions of supported Linux distributions provide support for FUA I/O subsystem capability, which provides data durability. [!INCLUDE [ssnoversion-md](../../includes/ssnoversion-md.md)] uses the FUA capability to provide highly efficient and reliable I/O for [!INCLUDE [ssnoversion-md](../../includes/ssnoversion-md.md)] workloads. For more information on FUA support by Linux distribution and its effect on [!INCLUDE [ssnoversion-md](../../includes/ssnoversion-md.md)], see [SQL Server On Linux: Forced Unit Access (FUA) Internals](https://techcommunity.microsoft.com/t5/sql-server-blog/sql-server-on-linux-forced-unit-access-fua-internals/ba-p/3199102).
11+
Certain versions of supported Linux distributions provide support for FUA I/O subsystem capability, which provides data durability. [!INCLUDE [ssnoversion-md](../../includes/ssnoversion-md.md)] uses the FUA capability to provide highly efficient and reliable I/O for [!INCLUDE [ssnoversion-md](../../includes/ssnoversion-md.md)] workloads. For more information on FUA support by Linux distribution and its effect on [!INCLUDE [ssnoversion-md](../../includes/ssnoversion-md.md)], see [SQL Server On Linux: Forced Unit Access (FUA) Internals](https://techcommunity.microsoft.com/blog/sqlserver/sql-server-on-linux-forced-unit-access-fua-internals/3199102).
1212

1313
SUSE Linux Enterprise Server 12 SP5, Red Hat Enterprise Linux 8.0, and Ubuntu 18.04 introduced support for FUA capability in the I/O subsystem. If you're using [!INCLUDE [sssql17-md](../../includes/sssql17-md.md)] CU 6 and later versions, you should use following configuration for high performing and efficient I/O implementation with FUA by [!INCLUDE [ssnoversion-md](../../includes/ssnoversion-md.md)].
1414

docs/linux/includes/roll-back-sql-server.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
author: rwestMSFT
33
ms.author: randolphwest
4-
ms.date: 07/15/2024
4+
ms.date: 07/03/2025
55
ms.service: sql
66
ms.subservice: linux
77
ms.topic: include
@@ -25,4 +25,4 @@ To roll back or downgrade [!INCLUDE [ssnoversion-md](../../includes/ssnoversion-
2525
| **Ubuntu** | `sudo apt-get install mssql-server=<version_number>`<br />`sudo systemctl start mssql-server` |
2626

2727
> [!NOTE]
28-
> The only supported downgrade is if you downgrade to a release within the same major version, such as [!INCLUDE [sssql22-md](../../includes/sssql22-md.md)].
28+
> The only supported downgrade is if you downgrade to a release within the same major version, such as [!INCLUDE [sssql22-md](../../includes/sssql22-md.md)].

docs/linux/quickstart-install-connect-docker.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ description: This quickstart shows how to use Docker to run the SQL Server Linux
44
author: amitkh-msft
55
ms.author: amitkh
66
ms.reviewer: vanto, randolphwest
7-
ms.date: 06/06/2025
7+
ms.date: 07/03/2025
88
ms.service: sql
99
ms.subservice: linux
1010
ms.topic: quickstart
@@ -110,28 +110,28 @@ The examples in this article use the `docker` command. However, most of these co
110110
<!--SQL Server 2017 on Linux-->
111111
::: moniker range="=sql-server-linux-2017 || =sql-server-2017"
112112

113-
- For more information on hardware requirements and processor support, see [SQL Server 2016 and 2017: Hardware and software requirements](../sql-server/install/hardware-and-software-requirements-for-installing-sql-server.md)
113+
- For more information on hardware requirements and processor support, see [Hardware and software requirements for SQL Server 2016 and SQL Server 2017](../sql-server/install/hardware-and-software-requirements-for-installing-sql-server.md)
114114

115115
::: moniker-end
116116

117117
<!--SQL Server 2019 on Linux-->
118118
::: moniker range="=sql-server-linux-ver15 || =sql-server-ver15"
119119

120-
- For more information on hardware requirements and processor support, see [SQL Server 2019: Hardware and software requirements](../sql-server/install/hardware-and-software-requirements-for-installing-sql-server-2019.md)
120+
- For more information on hardware requirements and processor support, see [Hardware and software requirements for SQL Server 2019](../sql-server/install/hardware-and-software-requirements-for-installing-sql-server-2019.md)
121121

122122
::: moniker-end
123123

124124
<!--SQL Server 2022 on Linux-->
125125
::: moniker range="=sql-server-linux-ver16 || =sql-server-ver16"
126126

127-
- For more information on hardware requirements and processor support, see [SQL Server 2022: Hardware and software requirements](../sql-server/install/hardware-and-software-requirements-for-installing-sql-server-2022.md)
127+
- For more information on hardware requirements and processor support, see [Hardware and software requirements for SQL Server 2022](../sql-server/install/hardware-and-software-requirements-for-installing-sql-server-2022.md)
128128

129129
::: moniker-end
130130

131131
<!--SQL Server 2025 on Linux-->
132132
::: moniker range=">=sql-server-linux-ver17 || >=sql-server-ver17"
133133

134-
- For more information on hardware requirements and processor support, see [SQL Server 2025 Preview: Hardware and software requirements](../sql-server/install/hardware-and-software-requirements-for-installing-sql-server-2025.md)
134+
- For more information on hardware requirements and processor support, see [Hardware and software requirements for SQL Server 2025 Preview](../sql-server/install/hardware-and-software-requirements-for-installing-sql-server-2025.md)
135135

136136
::: moniker-end
137137

@@ -1305,7 +1305,7 @@ The following steps use the [!INCLUDE [ssnoversion-md](../includes/ssnoversion-m
13051305
<!--SQL Server 2017 on Linux-->
13061306
::: moniker range="=sql-server-linux-2017 || =sql-server-2017"
13071307

1308-
1. Once inside the container, connect locally with **sqlcmd**, using its full path.
1308+
2. Once inside the container, connect locally with **sqlcmd**, using its full path.
13091309

13101310
```bash
13111311
/opt/mssql-tools/bin/sqlcmd -S localhost -U <userid> -P "<password>"
@@ -1324,7 +1324,7 @@ The following steps use the [!INCLUDE [ssnoversion-md](../includes/ssnoversion-m
13241324
<!--SQL Server 2019 on Linux and later versions-->
13251325
::: moniker range=">=sql-server-linux-ver15 || >=sql-server-ver15"
13261326

1327-
1. Once inside the container, connect locally with **sqlcmd**, using its full path.
1327+
2. Once inside the container, connect locally with **sqlcmd**, using its full path.
13281328

13291329
```bash
13301330
/opt/mssql-tools18/bin/sqlcmd -S localhost -U <userid> -P "<password>"
@@ -1340,7 +1340,7 @@ The following steps use the [!INCLUDE [ssnoversion-md](../includes/ssnoversion-m
13401340

13411341
::: moniker-end
13421342

1343-
1. If successful, you should get to a **sqlcmd** command prompt: `1>`.
1343+
3. If successful, you should get to a **sqlcmd** command prompt: `1>`.
13441344

13451345
## Create and query data
13461346

@@ -1523,7 +1523,7 @@ Other common tools to connect to [!INCLUDE [ssnoversion-md](../includes/ssnovers
15231523
- [Use SQL Server Management Studio on Windows to manage SQL Server on Linux](sql-server-linux-manage-ssms.md)
15241524
- [What is Azure Data Studio?](/azure-data-studio/what-is-azure-data-studio)
15251525
- [mssql-cli (Preview)](https://github.com/dbcli/mssql-cli/blob/master/doc/usage_guide.md)
1526-
- [Manage SQL Server on Linux with PowerShell Core](sql-server-linux-manage-powershell-core.md)
1526+
- [Use PowerShell on Linux to manage SQL Server on Linux](sql-server-linux-manage-powershell-core.md)
15271527

15281528
## Remove your container
15291529

0 commit comments

Comments
 (0)